我正在研究一个数据集,以评估干燥对沉积物微生物活动的影响。目的是确定干燥的影响是否因沉积物类型和/或沉积物内的深度而异。
实验设计如下:
- 第一个因素Sediment对应于三种类型的沉积物(编码 Sed1、Sed2、Sed3)。对于每种类型的沉积物,在三个地点(Sed1 的 3 个地点,Sed2 的 3 个地点,Sed3 的 3 个地点)进行采样。
- 站点编码:Site1、Site2、...、Site9。
- 下一个因素是水文:在每个站点内,采样在干区和湿区(编码为干/湿)中进行。
在前面的每一个图中,在两个深度(D1、D2)处进行采样,一式三份。
总共有 n = 108 个样本 = 3 个沉积物 * 3 个地点 * 2 个水文 * 2 个深度 * 3 个重复。
我使用lme()
R (nlme包)中的函数如下:
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)
我想进行事后比较来测试一个术语是否重要。
我能够为一个简单的主要效果(例如,Sediment)做到这一点:
summary(glht(mod1,linfct=mcp(Sediment="Tukey")))
但该glht()
功能不适用于交互项。
我发现以下方法适用于 2-way anova :
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")))
在三向方差分析的情况下是否可以使用相同的方法?在这种情况下,对交互条款进行事后比较的任何帮助将不胜感激。