multcomp Tukey-Kramer

7
我有一个不平衡的实验,其中在三个站点(L、M、H)中,我们测量四种不同植被类型(a、b、c、d)的一个参数(met)。所有植被类型都存在于三个站点。在L和M处,植被类型重复4次,在H处重复8次。
因此,简单的方差分析和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")))
1个回答

9

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

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"))

Lines 2和3比较了“site”和“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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接