Тест Даннета для модели со смешанным эффектом неполного блочного проектирования в R
(Первый вопрос здесь, ТАК, извиняюсь за любые ошибки!)
Я пытаюсь проанализировать данные с помощью линейной смешанной модели, учитывающей блочные (сюжетные) и генотипические (линейные) эффекты, с помощью корректировки степеней свободы Уэлча-Саттертвэйта для учета различной скорости репликации WT (контроль). Это неполный блочный дизайн с WT, включенным в каждый блок.
Я использовал lmerTest::lmer
, чтобы построить модель
library(lmerTest)
biomass.lmer <- lmer(sqrt(Leaf_area) ~ Line + (1 | Plot) ,
data = biomass.allmeans)
anova(biomass.lmer)
Все идет нормально. Поправка Satterthwaite для df учитывается. Но когда я пытаюсь сделать дополнительный тест Даннетта
dunnett.test <- glht(anova(biomass.lmer), linfct = mcp( Line = "Dunnett"), alternative = "two.sided")
summary(dunnett.test)
Это не работает. glht
не может обработать объект S4 как возвращено lmerTest::anova
, Тем не мение, lmerTest::lmer
так же как lme4::lmer
верните действительный объект, но последний не может принять во внимание поправку Satterthwaite.
Вопрос
Я что-то пропустил? Очень приветствуются любые предложения о том, как превратить анову исправленной модели в действительный объект или использовать другой способ для выполнения теста Даннетта с объектом S4.
Как предполагается, данные (biomass.allmeans):
structure(list(Line = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L), .Label = c("WT", "11-008",
"14-005", "2-94", "7-028", "8-93"), class = "factor"), Plot = structure(c(1L,
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 2L, 4L, 5L, 8L,
9L, 10L, 11L, 2L, 3L, 5L, 7L, 8L, 10L, 12L, 1L, 3L, 5L, 6L, 7L,
9L, 12L, 1L, 2L, 4L, 6L, 7L, 10L, 11L, 12L, 1L, 3L, 4L, 6L, 8L,
9L, 11L), .Label = c("1", "2", "3", "4", "5", "6", "7", "8",
"9", "10", "11", "12"), class = "factor"), Leaf_area = c(3579.5,
3316.25, 4018.25, 3381, 3697.75, 2938.75, 2487.75, 1529.25, 2514.75,
2713.5, 2037.5, 3696.25, 3350, 1790.75, 1270, 2706.75, 2517.25,
4715, 3409.75, 3488.75, 2583.75, 1863, 1749.25, 2001, 2530.25,
3012, 3514.25, 2871.25, 1740.75, 2745.25, 3279, 2826.5, 3744.25,
1297.25, 1123.75, 691.5, 1263, 684.666666666667, 891.25, 873.5,
1461, 5217.75, 4867.25, 4629.75, 3748, 2693.75, 1615.5, 4407)), .Names = c("Line",
"Plot", "Leaf_area"), class = "data.frame", row.names = c(NA,
-48L))
1 ответ
Я вижу anova.lmerModLmerTest
в его namespace
но я не могу получить к нему доступ по какой-то причине. R
не думает, что функция существует. Извините, я могу запустить только с stats::anova
, но я не уверен, что это актуальная проблема. ?glht
ищет модель. Так что, если я просто запустите его с lmer
Модель это работает.
stats::anova(biomass.lmer)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Line 4131.8 826.36 5 33.434 18.084 1.146e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Значительные результаты, включая поправку Satterthwaite для df, так что запустите post-hoc.
dunnett.test <- glht((biomass.lmer), linfct = mcp(Line = "Dunnett"), alternative = "two.sided")
General Linear Hypotheses
Multiple Comparisons of Means: Dunnett Contrasts
Linear Hypotheses:
Estimate
11-008 - WT == 0 -0.6996
14-005 - WT == 0 -5.1471
2-94 - WT == 0 -0.2379
7-028 - WT == 0 -23.7876
8-93 - WT == 0 7.5590
summary(dunnett.test)
Simultaneous Tests for General Linear Hypotheses
Multiple Comparisons of Means: Dunnett Contrasts
Fit: lmer(formula = sqrt(Leaf_area) ~ Line + (1 | Plot), data = biomass.allmeans)
Linear Hypotheses:
Estimate Std. Error z value Pr(>|z|)
11-008 - WT == 0 -0.6996 3.2885 -0.213 0.9998
14-005 - WT == 0 -5.1471 3.2885 -1.565 0.4198
2-94 - WT == 0 -0.2379 3.2885 -0.072 1.0000
7-028 - WT == 0 -23.7876 3.1372 -7.582 <0.001 ***
8-93 - WT == 0 7.5590 3.2885 2.299 0.0943 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)