基于R语言的多重比较方法
更新时间:2023-11-18 22:40:01 阅读量: 教育文库 文档下载
- 采用比较的方法研究语言推荐度:
- 相关推荐
基于R语言的七种多重比较方法
一花视界
百家号10-1403:18
多重比较的方法很多,根据试验设计的目的不同有不同的应用。
若试验设计之初,便明确要比较某几个组均数间是否有差异,称为事前比较。常用的事前比较方法有LSD、Bonferroni和Dunnett法。
若研究目的是方差分析有统计学差异后,想知道哪些组间的均数有差异,便是事后比较。事后比较的常用方法有SNK、Turkey、Scheffe和Bonferroni法。 本文仅介绍7种方法及R语言函数,可解决绝大部分多重比较问题。 1.LSD法
LSD法即最小显著差法;该法一般用于计划好的多重比较。它其实只是t检验的一个简单变形,并未对检验水准做出任何校正,只是为所有组的均数统一估计了一个更为稳健的标准误。
LSD法比较效果较为灵敏,在R语言中可利用agricolae包中的LSD.test函数实现,其调用格式为:
LSD.test(y, trt, DFerror, MSerror, alpha = 0.05, p.adj=c("none","holm","hommel", "hochberg", "bonferroni", "BH", "BY", "fdr"), …)
其中y为方差分析对象,trt为要进行多重比较的分组变量,p.adj可以选定P值矫正方法。当p.adj=”none”时,为LSD法,p.adj="bonferroni"时为Bonferroni法。 R代码: library(agricolae)
# sweetpotato为agricolae自带数据集 data(sweetpotato)
#进行方差分析,分组变量为virus model
#进行多重比较,不矫正P值 out <-
p.adj="none" ) #结果显示:标记字母法 out$group #可视化 plot(out) 程序运行结果:
lsd.test(model,"virus",=""
从运行结果看,四个处理,oo和ff处理无差异,与cc和fc彼此差异显著。下图是可视化结果。
2. Bonferroni法
它是Bonferroni校正在LSD法上的应用。将LSD.test中p.adj设置为"bonferroni"即为Bonferroni法。 R代码: library(agricolae)
# sweetpotato为agricolae自带数据集 data(sweetpotato)
#进行方差分析,分组变量为virus model
#进行多重比较,不矫正P值 out<-
lsd.test(model,"virus",=""
p.adj="
bonferroni" ) #结果显示:标记字母法 out$group #可视化 plot(out)
运行结果与LSD法类似,不再展示。 3. Dunnett检验
用于多个试验组与一个对照组间的比较。R语言中可利用multcomp包中的glht()函数进行包括Dunnett检验在内的多种检验,其调用格式为:
glht(model, linfct, alternative = c("two.sided", "less", "greater"), ...)
其中model为方差分析对象,linfct设置要进行多重比较的分组变量和方法。 R代码: library(multcomp)
rht<- glht(model,="" linfct="mcp(virus" =="" "dunnett"),alternative="two.side" )
#model是方差分析对象 #virus是分组变量 #方法为Dunnett summary(rht) #可视化 plot(rht) 程序运行结果:
结果表明:三个处理均与对照cc差异显著。下图为可视化结果:
4. SNK法(Student-Newman-Keuls)
实质上是根据预先制定的准则将各组均数分为多个子集, 利用Studentized Range分布来进行假设检验。推荐优先用Tukey检验
SNK法可用agricolae包中的SNK.test()函数实现,其调用格式为: SNK.test(y, trt, alpha = 0.05, …)
其中y为方差分析对象,trt为要进行多重比较的分组变量 R代码: library(agricolae)
# sweetpotato为agricolae自带数据集 data(sweetpotato)
#进行方差分析,分组变量为virus model
#进行多重比较,不矫正P值
out<- snk.test(model,"virus") #结果显示:标记字母法 out$group #可视化 plot(out)
程序运行结果与LSD.test类似。 5. Turkey检验
使用学生化的范围统计量进行组间所有成对比较。Tukey的检验特点: 所有各组的样本数相等; 各组样本均数之间的全面比较; 可能产生较多的假阴性结论。
R中Turkey检验检验的函数为TukeyHSD(model),其调用格式为: TukeyHSD(model)
其中model为方差分析对象 R代码:
tuk=TukeyHSD(model) tuk plot(tuk) 程序运行结果:
可视化结果:
6.Duncan法(新复极差法)(SSR)
指定一系列的“range”值,逐步进行计算比较得出结论。
Duncan法可用agricolae包中的duncan.test()函数实现,其调用格式为: duncan.test(y, trt, …)
其中y为方差分析对象,trt为要进行多重比较的分组变量 R代码:
# model为方差分析对象
out<-duncan.test (model,"virus") #结果显示:标记字母法 out$group #可视化 plot(out)
程序运行结果与LSD.test类似。 7. Scheffe检验
为均值的所有可能的成对组合执行并发的联合成对比较。使用F取样分布。可用来检查组均值的所有可能的线性组合,而非仅限于成对组合。Scheffe检验特点:
各组样本数相等或不等均可以,但是以各组样本数不相等使用较多;
如果比较的次数明显地大于均数的个数时,Scheffe法的检验功效可能优于Bonferroni法
Scheffe法可用agricolae包中的scheffe.test()函数实现,其调用格式为: duncan.test(y, trt, …)
其中y为方差分析对象,trt为要进行多重比较的分组变量 R代码:
# model为方差分析对象
out<-scheffe.test (model,"virus")
#结果显示:标记字母法 out$group #可视化 plot(out)
程序运行结果与LSD.test类似。
正在阅读:
基于R语言的多重比较方法11-18
2009-2010学年度第二学期二年段教研工作总结09-20
土力学与地基基础(二) B卷 范鹤06-21
第4章 社会主义道路初步探索的理论成果09-20
QAR的深度挖掘和应用12-21
《光阴》读后感(XX5篇)04-09
《大学英语B》 课程代码: 048109-23
英语课时掌控答案05-28
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 多重
- 基于
- 语言
- 比较
- 方法
- 外国美术史资料-总结
- 浅谈广西壮、瑶、苗族少数民族服饰,服设131班,韦荣中 - 图文
- 长春版语文五下《表达 我的未来》word教案
- 2015年江苏省常州市会计继续教育答案成本性态分析
- 汽车整车制造行业安全生产风险分级管控体系实施指南(汽车制造风险分级)
- 河南省2018年中考数学一轮复习:第五章《四边形》精品训练(含答案)
- 行业认知实习报告
- 第6讲 土地利用数据的准备
- 硬度#对照表
- 江苏省姜堰市2009届高三上学期期中考试英语试题
- 藏象习题
- 实验五 偏光显微镜法观察聚合物球晶结构
- 业务周转金管理制度
- 工程力学(静力学与材料力学)课后习题答案(单辉祖)
- 2010年南安市“实验杯” 中小学、幼儿园学生美术、书法现场竞赛
- 复旦mpa比较公共行政简答答案
- 投资学练习题及答案汇总
- 未来旅游发展趋势分析论文
- 入党积极分子思想汇报1500字
- 如果单位反馈控制系统的传递函数