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

因此,简单的方差分析和TukeyHSD将不起作用。软件包Agricolae(HSD.test)和DTK(DTK.test)仅适用于单向设计,然后存在多重压缩... 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")))

最佳答案

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

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行比较主要效果“站点”和“ vytpe”​​的级别。第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

关于r - multcomp Tukey-Kramer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12375209/

10-13 00:02