LSD检验
是t检验的简单变形,对多组间的均数做检验。
用法:加载agricolae包,使用LSD.test。语法为:LSD.test(y, trt, DFerror, MSerror, alpha = 0.05, p.adj=c("none","holm","hommel", "hochberg", "bonferroni", "BH", "BY", "fdr"), …)
实例:
library(agricolae)
model <- aov(jinzhongpin ~ group, data.yazhou) # 先进行方差分析
summary(model)
out <- LSD.test(model, "group", p.adj = "none" ) # 进行多重比较,不矫正P值
out$groups # 查看每个组的label
plot(out) # 可视化展示
. Dunnett检验
适用于多个试验组于一个对照组的比较。
用法:加载multcomp包, 使用glht()函数。语法为:glht(model, linfct, alternative = c("two.sided", "less", "greater"), ...)
其中linfct可以设置比较的分组变量以及检验方法。
实例:
# Dunnett test
library(multcomp)
model <- aov(D ~ group, data.yazhou)
rht <- glht(model, linfct = mcp(group = 'Dunnett'), alternative = 'two.side')
summary(rht)
Turkey检验
使用t test进行组间所有成对比较。
用法:TukeyHSD函数,语法:TukeyHSD(model)
实例:
model <- aov(D ~ group, data.yazhou)
tuk <- TukeyHSD(model)
tuk
plot(tuk)
SNK法(Student-Newman-Keuls)
实质上是根据预先制定的准则将各组均数分为多个子集, 利用Studentized Range分布来进行假设检验。推荐优先用Tukey检验
SNK法可用agricolae包中的SNK.test()函数实现,其调用格式为:
SNK.test(y, trt, alpha = 0.05, …)
其中y为方差分析对象,trt为要进行多重比较的分组变量
实例
library(agricolae)
data(sweetpotato)
model <- aov(D ~ group, data.yazhou)
out <- snk.test(model,"group")
out$group
plot(out)
程序运行结果与LSD.test类似。
Duncan法(新复极差法)(SSR)
指定一系列的“range”值,逐步进行计算比较得出结论。
Duncan法可用agricolae包中的duncan.test()函数实现,语法为:
duncan.test(y, trt, …)
实例:
model <- aov(D ~ group, data.yazhou)
out <-duncan.test (model,"group")
out$group
plot(out)
程序运行结果与LSD.test类似。
Scheffe检验
为均值的所有可能的成对组合执行并发的联合成对比较。使用F取样分布。可用来检查组均值的所有可能的线性组合,而非仅限于成对组合。Scheffe检验特点:
各组样本数相等或不等均可以,但是以各组样本数不相等使用较多;
如果比较的次数明显地大于均数的个数时,Scheffe法的检验功效可能优于Bonferroni法
Scheffe法可用agricolae包中的scheffe.test()函数实现,语法为:
duncan.test(y, trt, …)
实例:
out <-scheffe.test (model,"virus")
out$group
plot(out)
暂无数据