【问题标题】:Effect size (Cohen's d) for pairwise comparisons成对比较的效应大小 (Cohen's d)
【发布时间】:2020-08-24 08:51:48
【问题描述】:

我正在尝试计算不同因素水平之间的影响大小。为了比较每个因子水平内的两种均值,下面的代码可以正常工作:

cohens_d_list <- by(mydata, mydata$factor, function(sub) 
                       cohens_d(sub$score1, sub$score2)

                 )

cohens_d_list

但是,我不知道如何比较单个平均值的每个因子级别(例如,对于 score1,我想比较每个因子级别:因子级别 1 与因子级别 2,因子级别 1 与. 因子级别 3,因子级别 1。与因子级别 4....)彼此。我使用了 psych、effectsize 和 effsize 软件包,但它们似乎在单因素变量中没有考虑超过 2 个级别。对代码或包有什么建议吗?

【问题讨论】:

    标签: r statistics


    【解决方案1】:

    在尝试了几十个包之后,esvis package 成功了。

    df%>%
      ungroup(Group)%>% # Include this line if you get grouping error
    coh_d(score1~ Group)
    

    你会得到一个包含所有可能比较的漂亮表格。

    【讨论】:

      【解决方案2】:

      您可以拟合一个模型并使用来自emmeanseff_size() 函数(这将有利于使用来自所有组的汇集SD,而不仅仅是被比较的两个):

      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-06-07 创建

      【讨论】:

      • 为什么使用所有组的汇总 SD 会有好处?
      猜你喜欢
      • 1970-01-01
      • 2013-10-25
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      相关资源
      最近更新 更多