计算 R 中的 Eta 平方以进行重复测量

Calculating Eta Squared in R for repeated measures

我正在使用 aov() 函数使用 R 执行重复测量方差分析,例如与 http://personality-project.org/r/r.anova.html 站点相同。

datafilename <- "http://personality-project.org/r/datasets/R.appendix4.data"
data.ex4 <- read.table(datafilename, header=TRUE)   
data.ex4                                      

计算标准方差分析允许使用 lsr 包中的 etaSquared() 函数或 heplots:

中的 etasq() 函数
aov.standard=aov(Recall~(Task*Valence),data.ex4 ) 
etaSquared(aov.standard)
etasq(aov.standard)

但是,在实现主题内模型时,这两个函数都无法识别线性对象模型。

aov.within=aov(Recall~(Task*Valence)+Error(Subject/(Task*Valence)),data.ex4 )
etaSquared(aov.within)
etasq(aov.within)

有人对此有简单的解决方案吗? 提前致谢。

当您使用 ez 包中的 ezANOVA 函数时,会自动计算 eta 平方:

library(ez)

m1 <- ezANOVA(data = data.ex4, dv = Recall, wid = Subject, within = .(Task,Valence), type = 3, detailed = TRUE)
m1$ANOVA

这给出了以下输出:

        Effect DFn DFd    SSn       SSd          F           p p<.05         ges
1  (Intercept)   1   4 4177.2 349.13333 47.8579339 0.002291098     * 0.910303347
2         Task   1   4   30.0  16.33333  7.3469388 0.053508297       0.067934783
3      Valence   2   8    9.8  26.86667  1.4590571 0.288250073       0.023255814
4 Task:Valence   2   8    1.4  19.26667  0.2906574 0.755343673       0.003389831

ges 列包含您需要的广义 eta 平方值。