Размер эффекта (по Коэну d) для попарных сравнений

#r #statistics

#r #Статистика

Вопрос:

Я пытаюсь рассчитать размер эффекта среди разных уровней факторов. Для сравнения двух средних в пределах каждого уровня фактора приведенный ниже код работает нормально:

 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 уровней в одной факторной переменной. Есть предложения по коду или пакету?

Ответ №1:

После перепробования десятков пакетов пакет esvis сделал свое дело.

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

Вы получаете красивую таблицу со всеми возможными сравнениями.

Ответ №2:

Вы можете подобрать модель и использовать eff_size() функцию из emmeans (преимущество которой будет заключаться в использовании объединенных 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
  

Создано 2021-06-07 пакетом reprex (версия 0.0)

Комментарии:

1. Почему выгодно использовать объединенные SD-карты из всех групп?

2. @ учащиеся, одна из причин заключается в том, что если мы предположим, что все группы независимых переменных взяты из одного и того же распределения (нулевая гипотеза), то у них будет общая дисперсия. Как и средние различия, отклонения зависят от вариативности выборки. Объединение в пул учитывает различия в дисперсии, что полезно, если а) вы проводите метаанализ, в котором разные исследования имели разные отклонения, или б) при проверке нулевой гипотезы, где ваши выводы скорректированы с неравными отклонениями. В последнем случае симметрия между выводами и оценками размера эффекта приятна 🙂 Я уверен, что есть и другие причины!