7

我有一个不平衡的实验,我们在三个地点(L、M、H)测量met四种不同植被类型(a、b、c、d)的参数( )。所有三个地点都存在所有植被类型。植被类型在 L 和 M 处重复 4 次,在 H 处重复 8 次。

因此,简单的 anova 和 TukeyHSD 将不起作用。包 Agricolae ( HSD.test) 和 DTK ( DTK.test) 仅适用于单向设计,然后是 multcomp...mcp函数中的 Tukey 测试是否计算 Tukey-Kramer 对比,还是给出常规的 Tukey 对比?我认为第一个是这种情况,因为该软件包旨在测试不平衡设计的多重比较,但我不确定,因为两种方法产生的 p 值实际上是相同的。那么什么测试是合适的呢?

此外,是否有更合适的方法来为不平衡的数据集进行这种双向方差分析?

library(multcomp)

(met     <-  c(rnorm(16,6,2),rnorm(16,5,2),rnorm(32,4,2)))
(site    <-  c(rep("L", 16), rep("M", 16), rep("H", 32)))
(vtype   <-  c(rep(letters[1:4], 16), rep(letters[1:4], 16), rep(letters[1:4], 32)))

dat  <-  data.frame(site, vtype, met)

# using aov and TukeyHSD
aov.000  <-  aov(met ~ site * vtype, data=dat)
summary(aov.000) 
TukeyHSD(aov.000) 

# using Anova, and multcomp
lm.000     <-  lm(met ~ site * vtype, data=dat)
summary(lm.000)
library(car)
Anova.000  <-  Anova(lm.000, data=dat)

dat$int  <-  with(dat, interaction(site, vtype, sep = "x"))
lm.000   <-  lm(met ~ int, data = dat)
summary(lm.000)
summary(glht.000 <- glht(lm.000, linfct = mcp(int = "Tukey")))
4

1 回答 1

9

对于不平衡数据,可以使用 III 型 SS 的方差分析来代替 I 型 SS [1]。R [2] 中 III 型 anova 的计算:

model <- (met ~ site * vtype)
defopt <- options()
options(contrasts=c("contr.sum", "contr.poly"))
print(drop1(aov(model),~.,test="F"))
options <- defopt

对于不平衡的数据,可以使用调整均值的成对比较。R [4] 中的计算:

library(lsmeans)
print(lsmeans(model, list(pairwise ~ site)), adjust = c("tukey"))
print(lsmeans(model, list(pairwise ~ vtype)), adjust = c("tukey"))
print(lsmeans(model, list(pairwise ~ site | vtype)), adjust = c("tukey"))
print(lsmeans(model, list(pairwise ~ vtype | site)), adjust = c("tukey"))

第 2 行和第 3 行比较了主效应“site”和“vytpe”​​的水平。第 4 行和第 5 行分别比较了一个因素在另一个因素的每个水平上的水平。

我希望这有帮助。

参考

[1] 米利肯和约翰森。2009. 杂乱数据分析。第 1 卷。

[2] http://www.statmethods.net/stats/anova.html

[3] http://cran.r-project.org/web/packages/lsmeans/vignettes/using-lsmeans.pdf

于 2012-12-03T10:53:40.473 回答