Como realizar comparação post-hoc no termo de interação com o modelo de efeitos mistos?

11

Estou trabalhando em um conjunto de dados para avaliar o impacto da secagem nas atividades microbianas dos sedimentos. O objetivo é determinar se o impacto da secagem varia entre os tipos e / ou profundidade dos sedimentos.

O projeto experimental é o seguinte:

  • O primeiro fator Sedimento corresponde a três tipos de sedimentos (codificados Sed1, Sed2, Sed3). Para cada tipo de sedimento, a amostragem foi realizada em três locais (3 locais para Sed1, 3 locais para Sed2, 3 locais para Sed3).
  • O site está codificado: Site1, Site2, ..., Site9.
  • O próximo fator é a hidrologia : dentro de cada local, a amostragem é realizada em um lote seco e em um lote úmido (codificado Seco / Molhado).

Dentro de cada parcela anterior, a amostragem é realizada em duas profundidades (D1, D2) em triplicado.

Há um total de n = 108 amostras = 3 sedimentos * 3 locais * 2 hidrologia * 2 profundidades * 3 repetições.

Eu uso a lme()função no R ( pacote nlme ) da seguinte maneira:

Sediment <- as.factor(rep(c("Sed1","Sed2","Sed3"),each=36))
Site <- as.factor(rep(c("Site1","Site2","Site3","Site4","Site5",            
                        "Site6","Site7","Site8","Site9"),each=12))
Hydrology <- as.factor(rep(rep(c("Dry","Wet"),each=6),9))
Depth <- as.factor(rep(rep(c("D1","D2"),each=3),18))
Variable <- rnorm(108)

mydata <- data.frame(Sediment,Site,Hydrology,Depth,Variable)

mod1 <- lme(Variable ~ Sediment*Hydrology*Depth, data=mydata, 
             random=~1|Site/Hydrology/Depth)
anova(mod1)

Gostaria de fazer uma comparação post-hoc para testar se um termo é significativo ou não.

Eu sou capaz de fazer isso para um efeito principal simples (por exemplo, sedimentos ):

summary(glht(mod1,linfct=mcp(Sediment="Tukey")))

Mas a glht()função não funciona para termos de interação.

Eu descobri que o seguinte poderia funcionar para uma anova bidirecional:

mod1 <- lme(Variable~Sediment*Hydrology, data=mydata, 
            random=~1|Site/Hydrology)
mydata$SH <- interaction(mydata$Sediment, mydata$Hydrology)
mod2 <- lme(Variable ~ -1 + SH, data=mydata, random=~1|Site/Hydrology)
summary(glht(mod2, linfct=mcp(SH="Tukey")))

É possível usar a mesma abordagem no caso de uma anova de três vias? Qualquer ajuda no caminho para fazer uma comparação post-hoc em termos de interação nesse caso seria muito apreciada.

John Smith
fonte

Respostas:

3

Você quer fazer todas as comparações aos pares para os três fatores?

mod1<-lme(Variable~Sediment*Hydrology*Depth, data=mydata, random=~1|Site/Hydrology/Depth)
mydata$SHD<-interaction(mydata$Sediment,mydata$Hydrology,mydata$Depth)
mod2<-lme(Variable~-1+SHD, data=mydata, random=~1|Site/Hydrology/Depth)
summary(glht(mod2,linfct=mcp(SHD="Tukey")))
bloqueado
fonte
Eu quero fazer comparações aos pares para os termos de interação bidirecional, por exemplo " Hidrologia de sedimentos ". Se a tabela anova indicar que a interação Hidrologia de Sedimentos é significativa para o modelo completo mod1<-lme(Variable~Sediment*Hydrology*Depth, data=mydata, random=~1|Site/Hydrology/Depth), não acho correto fazer comparações post-hoc (na interação Sedimentos * Hidrologia) da seguinte maneira:mydata$SH<-interaction(mydata$Sediment,mydata$Hydrology) mod2<-lme(Variable~-1+SH, data=mydata, random=~1|Site/Hydrology/Depth) summary(glht(mod2,linfct=mcp(SH="Tukey")))
John Smith