如何解决成对比较的效应大小Cohen d
我正在尝试计算不同因子水平之间的效应大小。为了比较每个因子水平下的两种均值,下面的代码可以正常工作:
cohens_d_list <- by(mydata,mydata$factor,function(sub)
cohens_d(sub$score1,sub$score2)
)
cohens_d_list
但是,我无法弄清楚如何比较单个平均值的每个因子水平(例如,对于得分1,我想将每个因子水平彼此进行比较:因子水平1与因子水平2,因子水平1与。因子级别3,因子级别1与因子级别4 ....)彼此之间。我使用了psych,effectize和effsize程序包,但是它们似乎在单个因子变量中所占的比例似乎不超过2。对代码或软件包有任何建议吗?
解决方法
您可以拟合模型并使用 eff_size()
中的 emmeans
函数(这将有利于使用 所有 组中的池化 SD,而不仅仅是 2比较):
m <- lm(mpg ~ factor(cyl),data = mtcars)
library(emmeans)
(em <- emmeans(m,~ cyl))
#> cyl emmean SE df lower.CL upper.CL
#> 4 26.7 0.972 29 24.7 28.7
#> 6 19.7 1.218 29 17.3 22.2
#> 8 15.1 0.861 29 13.3 16.9
#>
#> Confidence level used: 0.95
eff_size(em,sigma = sigma(m),edf = df.residual(m))
#> contrast effect.size SE df lower.CL upper.CL
#> 4 - 6 2.15 0.56 29 1.003 3.29
#> 4 - 8 3.59 0.62 29 2.320 4.86
#> 6 - 8 1.44 0.50 29 0.418 2.46
#>
#> sigma used for effect sizes: 3.223
#> Confidence level used: 0.95
由 reprex package (v2.0.0) 于 2021 年 6 月 7 日创建
,尝试了数十种程序包后,esvis程序包成功了。
df%>%
ungroup(Group)%>% # Include this line if you get grouping error
coh_d(score1~ Group)
您会得到一个不错的表格,其中包含所有可能的比较。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。