我有一个不平衡的实验,在三个地点(L,M,H)我们测量四种不同植被类型(a,b,c,d)的参数(met
)。所有三个地点都存在所有植被类型。植被类型在L和M处重复4次,在H处重复8次。
因此,简单的anova和TukeyHSD将无效。包装Agricolae(HSD.test
)和DTK(DTK.test
)只适用于单向设计,然后有多个...在mcp
函数中的Tukey测试是否计算Tukey-Kramer对比,还是给定期的Tukey对比?我认为首先是这种情况,因为该软件包适用于测试不平衡设计的多重比较,但我不确定,因为两种方法产生的p值几乎相同。那么适当的测试是什么?
此外,是否有更合适的方法为不平衡数据集做这样的双向anova?
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")))
答案 0 :(得分:9)
对于不平衡数据,可以使用具有III型SS的anova代替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行比较主要效果和#34;网站&#34;和&#34; vytpe&#34;。第4和第5行分别比较了另一个因子每个级别的一个因子的水平。
我希望这会有所帮助。
参考
[1] Miliken和Johnsen。 2009年。分析凌乱的数据。第1卷。
[2] http://www.statmethods.net/stats/anova.html
[3] http://cran.r-project.org/web/packages/lsmeans/vignettes/using-lsmeans.pdf