R语言 用emmenas估计事后效应量

hwamh0ep  于 2023-03-27  发布在  其他
关注(0)|答案(2)|浏览(236)

有没有一种方法可以直接使用emmeans()来获得效应大小(如Cohen的d或最合适的)?
我找不到任何使用emmeans()获取效果大小的内容

post <- emmeans(fit, pairwise~  favorite.pirate | sex)
emmip(fit, ~ favorite.pirate | sex)
jq6vz3qz

jq6vz3qz1#

没有内置的效果大小计算的规定,但您可以通过定义一个自定义对比度函数将每个成对比较除以sigma值来拼凑一个:

mypw.emmc = function(..., sigma = 1) {
  result = emmeans:::pairwise.emmc (...)
  for (i in seq_along(result[1, ]))
    result[[i]] = result[[i]] / sigma
  result
}

下面是一个测试运行:

> mypw.emmc(1:3, sigma = 4)
  1 - 2 1 - 3 2 - 3
1  0.25  0.25  0.00
2 -0.25  0.00  0.25
3  0.00 -0.25 -0.25

使用您的模型,误差SD为9.246(请看summary(fit);所以...

> emmeans(fit, mypw ~ sex, sigma = 9.246, name = "effect.size")
NOTE: Results may be misleading due to involvement in interactions
$emmeans
 sex    emmean    SE     df lower.CL upper.CL
 female   63.8 0.434   3.03     62.4     65.2
 male     74.5 0.809  15.82     72.8     76.2
 other    68.8 1.439 187.08     65.9     71.6

Results are averaged over the levels of: favorite.pirate 
Degrees-of-freedom method: kenward-roger 
Confidence level used: 0.95 

$contrasts
 effect.size    estimate     SE  df t.ratio p.value
 female - male    -1.158 0.0996 399 -11.624 <.0001 
 female - other   -0.537 0.1627 888  -3.299 0.0029 
 male - other      0.621 0.1717 981   3.617 0.0009 

Results are averaged over the levels of: favorite.pirate 
Degrees-of-freedom method: kenward-roger 
P value adjustment: tukey method for comparing a family of 3 estimates

不过,还是要提醒一下:
1.效应量的SE具有误导性,因为它们没有考虑sigma的变化。
1.这不是一个很好的例子,因为
a.因素相互作用(爱德华·洛的个人资料不同)。另请参阅警告信息。
B.模型是奇异的(如模型拟合时所警告的),college的估计方差为零)

mec1mxoz

mec1mxoz2#

library(yarrr)
View(pirates)
library(lme4)
library(lmerTest)

fit <- lmer(weight~ favorite.pirate * sex +(1|college), data = pirates)  
anova(fit, ddf = "Kenward-Roger")

post <- emmeans(fit, pairwise~  sex)  
post

相关问题