debugging 在rstatix函数anova_test中,如何同时获得ges和pes作为效应量?

bis0qfac  于 2022-12-04  发布在  其他
关注(0)|答案(2)|浏览(161)

它说here,一个可以得到一个或另一个,或者两个都得到。我已经能够分别得到每一个,但是即使当我设置effect.size = c("ges", "pes")时,也不能同时得到两个。相反,我只得到“pes”。当我使用我自己的数据和当我使用{WRS2}包中的hangover数据集时,我遇到了同样的问题。对于遗留数据,我的代码是:

anova_test(data = hangover, dv = symptoms, wid = id, between = group, within = time, effect.size = c("ges", "pes"))

我将非常感激你的帮助!

6qfn3psc

6qfn3psc1#

这似乎是文档或代码中的一个错误。文档确实说你可以指定两者,但相关代码使用if / else只返回其中一个:

add_anova_effect_size <- function(res.anova.summary, effect.size = "ges",  observed = NULL){
  ss.exists <- "SSn" %in% colnames(res.anova.summary$ANOVA)
  if(!ss.exists){
    return(res.anova.summary)
  }
  if("pes" %in% effect.size){
    res.anova.summary <- res.anova.summary %>%
      add_partial_eta_squared()
  }
  else {
    res.anova.summary <- res.anova.summary %>%
      add_generalized_eta_squared(observed)
  }
  res.anova.summary
}

但是,正如讨论here和@Phenomniverse所提到的,rstatix目前计算ges是错误的。

8zzbczxx

8zzbczxx2#

您可以使用effect.size =“both”获得这两种效果。
但是,您可能需要注意github页面上关于如何计算effect.size的问题:
https://github.com/kassambara/rstatix/issues/132

相关问题