Come eseguire il confronto post-hoc sul termine di interazione con il modello a effetti misti?


11

Sto lavorando su un set di dati per valutare l'impatto dell'essiccazione sulle attività microbiche dei sedimenti. L'obiettivo è determinare se l'impatto dell'essiccazione varia tra i tipi di sedimenti e / o la profondità all'interno del sedimento.

Il design sperimentale è il seguente:

  • Il primo fattore Sedimento corrisponde a tre tipi di sedimento (codificato Sed1, Sed2, Sed3). Per ogni tipo di sedimento, il campionamento è stato effettuato su tre siti (3 siti per Sed1, 3 siti per Sed2, 3 siti per Sed3).
  • Il sito è in codice: Site1, Site2, ..., Site9.
  • Il fattore successivo è l' idrologia : all'interno di ciascun sito, il campionamento viene effettuato in un diagramma a secco e in un diagramma a umido (codificato Dry / Wet).

All'interno di ciascuna delle trame precedenti, il campionamento viene eseguito a due profondità (D1, D2) in triplice copia.

Ci sono un totale di n = 108 campioni = 3 sedimenti * 3 siti * 2 idrologia * 2 profondità * 3 replicati.

Uso la lme()funzione in R ( pacchetto nlme ) come segue:

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)

Vorrei eseguire un confronto post-hoc per verificare se un termine è significativo o meno.

Sono in grado di farlo per un semplice effetto principale (ad esempio, Sedimento ):

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

Ma la glht()funzione non funziona per termini di interazione.

Ho scoperto che il seguente potrebbe funzionare per un anova a 2 vie:

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")))

È possibile utilizzare lo stesso approccio nel caso di un'anova a 3 vie? Qualsiasi aiuto sulla strada per fare un confronto post-hoc sui termini di interazione in questo caso sarebbe molto apprezzato.

Risposte:



3

Vuoi dire che vuoi fare tutti i confronti a coppie per i tre fattori?

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")))

Voglio fare confronti a coppie per i termini di interazione bidirezionale, ad esempio "Sediment Hydrology". Se la tabella anova indica che l' interazione con Sediment Hydrology è significativa per il modello completo mod1<-lme(Variable~Sediment*Hydrology*Depth, data=mydata, random=~1|Site/Hydrology/Depth), non penso che sia corretto fare confronti post-hoc (sull'interazione con Sediment * Hydrology) nel modo seguente: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,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.