multcomp Tukey-Kramer

时间:2012-09-11 17:51:24

标签: r statistics posthoc lsmeans

我有一个不平衡的实验,在三个地点(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")))

1 个答案:

答案 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