Я анализирую набор данных, используя модель смешанных эффектов с одним фиксированным эффектом (условием) и двумя случайными эффектами (участник из-за дизайна объекта и пары). Модель была сгенерирована с lme4
пакетом: exp.model<-lmer(outcome~condition+(1|participant)+(1|pair),data=exp)
.
Затем я выполнил тест отношения правдоподобия этой модели по сравнению с моделью без фиксированного эффекта (условия) и получил значительную разницу. В моем наборе данных 3 условия, поэтому я хочу провести многократное сравнение, но я не уверен, какой метод использовать . Я нашел много похожих вопросов на CrossValidated и других форумах, но я все еще в замешательстве.
Из того, что я видел, люди предложили использовать
1.lsmeans
пакет - lsmeans(exp.model,pairwise~condition)
который дает мне выход следующий:
condition lsmean SE df lower.CL upper.CL
Condition1 0.6538060 0.03272705 47.98 0.5880030 0.7196089
Condition2 0.7027413 0.03272705 47.98 0.6369384 0.7685443
Condition3 0.7580522 0.03272705 47.98 0.6922493 0.8238552
Confidence level used: 0.95
$contrasts
contrast estimate SE df t.ratio p.value
Condition1 - Condition2 -0.04893538 0.03813262 62.07 -1.283 0.4099
Condition1 - Condition3 -0.10424628 0.03813262 62.07 -2.734 0.0219
Condition2 - Condition3 -0.05531090 0.03813262 62.07 -1.450 0.3217
P value adjustment: tukey method for comparing a family of 3 estimates
2.multcomp
пакет двумя различными способами - с использованием в mcp
glht(exp.model,mcp(condition="Tukey"))
результате
Simultaneous Tests for General Linear Hypotheses
Multiple Comparisons of Means: Tukey Contrasts
Fit: lmer(formula = outcome ~ condition + (1 | participant) + (1 | pair),
data = exp, REML = FALSE)
Linear Hypotheses:
Estimate Std. Error z value Pr(>|z|)
Condition2 - Condition1 == 0 0.04894 0.03749 1.305 0.392
Condition3 - Condition1 == 0 0.10425 0.03749 2.781 0.015 *
Condition3 - Condition2 == 0 0.05531 0.03749 1.475 0.303
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)
и используя в lsm
glht(exp.model,lsm(pairwise~condition))
результате
Note: df set to 62
Simultaneous Tests for General Linear Hypotheses
Fit: lmer(formula = outcome ~ condition + (1 | participant) + (1 | pair),
data = exp, REML = FALSE)
Linear Hypotheses:
Estimate Std. Error t value Pr(>|t|)
Condition1 - Condition2 == 0 -0.04894 0.03749 -1.305 0.3977
Condition1 - Condition3 == 0 -0.10425 0.03749 -2.781 0.0195 *
Condition2 - Condition3 == 0 -0.05531 0.03749 -1.475 0.3098
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)
Как видите, методы дают разные результаты. Я впервые работаю с R и статистикой, поэтому что-то может пойти не так, но я не знаю где. Мои вопросы:
Каковы различия между представленными методами? Я прочитал в ответе на связанные вопросы, что это о степенях свободы ( lsmeans
против glht
).
Существуют ли какие-либо правила или рекомендации, когда использовать какой-либо метод, т. Е. Метод 1, подходящий для этого типа набора данных / модели и т. Д.? О каком результате я должен сообщить? Не зная лучше, я бы, вероятно, просто пошел и сообщил о самом высоком p-значении, которое я получил, чтобы не рисковать, но было бы неплохо иметь более вескую причину. Благодарность
источник
lsmeans
использует пакет pbkrtest, который обеспечивает (1) вычисления Kenward-Rogers df и (2) скорректированную ковариационную матрицу с уменьшенным смещением в оценках. Если вы сначала установитеlsm.options(disable.pbkrtest=TRUE)
, тоlsmeans
вызов сadjust="mvt"
выдаст те же результаты, чтоglht
и за исключением небольших различий из-за рандомизированного алгоритма, используемого обоими пакетами для многомерного t-распределения.summary
методglht
позволяет использовать различные методы пошагового тестирования, помимо настройки множественности одношаговых (одновременных КИ) по умолчанию. С другой стороны, если у вас есть более одного фактора, выlsm
можете легко создавать обычные типы сравнений, ноmcp
не можете делать это вообще.