是否有一个软件包可以从所有组的glm公式计算Cohen的d?我有4个独立变量,组大小分别为2,5,6和17.
最常见的软件包compute.es
,effsize
等不会使用glm公式或超过2的组大小。
谢谢!
答案 0 :(得分:0)
让我们来看看科恩的公式:
Cohen的d采用2个均值并用合并的标准差对它们进行归一化。 它只能用2组。
...不要使用glm公式或超过2的组大小来做Cohen's d。
Cohen的d是针对2组计算的,与它们的大小无关,而R只将数值向量作为输入,而不是公式。也许你对effsize
的公式界面感到困惑:
require(effsize)
cohen.d(d ~ f)
这不是GLM公式,而是将d
中的数字映射到f
中的因子。
如果你想要的是cohen d's,你可能需要计算所有成对的cohen d's。我对此表示怀疑,因为给予所有成对的cohen d's并没有给你的结果带来太大的影响。请查看以下链接with effect size measures for GLMs,看看您是否找到了符合您需求的内容。
答案 1 :(得分:0)
我也想从多个小组的角度来获得科恩的。 在寻找可能的解决方案时,我在ARTool软件包(https://cran.r-project.org/web/packages/ARTool/vignettes/art-effect-size.html)的文档中使用了car软件包的sigmaHat函数找到了这种方法
library(dplyr) #%>%
library(emmeans) #emmeans
library(DescTools) #EtaSq
library(car) #sigmaHat
library(ARTool) #art, artlm
library(ggplot2) #ggplot, stat_..., geom_..., etc
data(InteractionTestData)
df = InteractionTestData
#we'll be doing type 3 tests, so we want sum-to-zero contrasts
options(contrasts = c("contr.sum", "contr.poly"))
m.linear = lm(Y ~ X1*X2, data=df)
x2.contrasts = summary(pairs(emmeans(m.linear, ~ X2)))
x2.contrasts$d = x2.contrasts$estimate / sigmaHat(m.linear)
x2.contrasts
contrast estimate SE df t.ratio p.value d
C - D -1.9121 0.142 294 -13.428 <.0001 -1.8991
C - E -1.8530 0.142 294 -13.013 <.0001 -1.8403
D - E 0.0592 0.142 294 0.415 0.9093 0.0588
Results are averaged over the levels of: X1
P value adjustment: tukey method for comparing a family of 3 estimates
对我来说,这也很有效,因为sigmaHat从线性,广义线性,非线性或其他模型返回估计的比例。
有人可以肯定这是一种有效的方法,可以一目了然地计算和报告科恩的成对比较吗?