#r
#r
Вопрос:
Когда я корректирую значения в функции «pairs» и когда я извлекаю значения pvalues и корректирую, я получаю другой результат. Что на самом деле происходит в функции pairs? Есть ли правильный способ выполнить это?
rm(list=ls())
id <- rep(1:5, each=3)
trt <- rep(LETTERS[1:3],5)
set.seed(1)
q1 <- runif(15)
set.seed(2)
q2 <- runif(15)
set.seed(3)
q3 <- runif(15)
df <- data.frame(id,trt,q1,q2,q3)
library(lme4)
lm <- lmer(formula= df[,3] ~trt (1|id), data=df)
Anova(lm)
emm <- emmeans(lm,"trt")
a <- pairs(emm) # no adjustment
a
contrast estimate SE df t.ratio p.value
A - B 0.2085 0.134 8 1.560 0.3159
A - C -0.0359 0.134 8 -0.269 0.9612
B - C -0.2444 0.134 8 -1.829 0.2211
Note: contrasts are still on the [ scale
Degrees-of-freedom method: kenward-roger
P value adjustment: tukey method for comparing a family of 3 estimates
b <- pairs(emm, adjust="bonferroni") # adjust with bonferroni
b
contrast estimate SE df t.ratio p.value
A - B 0.2085 0.134 8 1.560 0.4721
A - C -0.0359 0.134 8 -0.269 1.0000
B - C -0.2444 0.134 8 -1.829 0.3145
Note: contrasts are still on the [ scale
Degrees-of-freedom method: kenward-roger
P value adjustment: bonferroni method for 3 tests
e <- data.frame(a)
e <- e$p.value
e <- p.adjust(e, method="bonferroni") # extract p-values and adjust
e
[1] 0.9475749 1.0000000 0.6633197
Комментарии:
1. На выходе четко указано, что значения p в
a
корректируются. Используйтеa <- pairs(emm, adjust = "none")
, и все, как ожидалось.2. @Roland Так рад обнаружить, что по крайней мере некоторые люди читают эти аннотации.