本文参考: 基于R语言的七种多重比较方法
若研究目的是方差分析有统计学差异后,想知道哪些组间的均数有差异,便是事后比较。事后比较的常用方法有SNK、Turkey、Scheffe和Bonferroni法。
rm(list = ls())
#1.LSD法
#sweetpotato为agricolae自带数据集
data(sweetpotato)
#进行方差分析,分组变量为virus
model<-aov(yield~virus, data=sweetpotato)
summary(model)
#进行多重比较,不矫正P值
out <- LSD.test(model,"virus", p.adj="none")
#结果显示:标记字母法
out$group
#可视化
plot(out)
#2. Bonferroni法
#进行多重比较,不矫正P值
out <- LSD.test(model,"virus", p.adj=" bonferroni")
#结果显示:标记字母法
out$group
#可视化
plot(out)
#3. Dunnett检验
library(multcomp)
rht <- glht(model, linfct = mcp(virus = "Dunnett"),alternative = "two.side")
#model是方差分析对象
#virus是分组变量
#方法为Dunnett
summary(rht)
#可视化
plot(rht)
#4. SNK法(Student-Newman-Keuls)
#进行多重比较,不矫正P值
out <- SNK.test(model,"virus")
#结果显示:标记字母法
out$group
#可视化
plot(out)
#5. Turkey检验
tuk=TukeyHSD(model)
tuk
plot(tuk)
#6.Duncan法(新复极差法)(SSR)
# model为方差分析对象
out <-duncan.test (model,"virus")
#结果显示:标记字母法
out$group
#可视化
plot(out)
#7. Scheffe检验
# model为方差分析对象
out <-scheffe.test (model,"virus")
#结果显示:标记字母法
out$group
#可视化
plot(out)
网友评论