收藏 分销(赏)

基于R语言的多重比较方法.doc

上传人:pc****0 文档编号:8049381 上传时间:2025-02-01 格式:DOC 页数:10 大小:124.10KB
下载 相关 举报
基于R语言的多重比较方法.doc_第1页
第1页 / 共10页
基于R语言的多重比较方法.doc_第2页
第2页 / 共10页
基于R语言的多重比较方法.doc_第3页
第3页 / 共10页
基于R语言的多重比较方法.doc_第4页
第4页 / 共10页
基于R语言的多重比较方法.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、基于R语言的七种多重比较方法一花视界百家号10-1403:18多重比较的方法很多,根据试验设计的目的不同有不同的应用。若试验设计之初,便明确要比较某几个组均数间是否有差异,称为事前比较。常用的事前比较方法有LSD、Bonferroni和Dunnett法。若研究目的是方差分析有统计学差异后,想知道哪些组间的均数有差异,便是事后比较。事后比较的常用方法有SNK、Turkey、Scheffe 和 Bonferroni法。本文仅介绍7种方法及R语言函数,可解决绝大部分多重比较问题。1.LSD法LSD法即最小显著差法;该法一般用于计划好的多重比较。它其实只是t检验的一个简单变形,并未对检验水准做出任何校

2、正,只是为所有组的均数统一估计了一个更为稳健的标准误。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为方差分析对象,t

3、rt为要进行多重比较的分组变量,p.adj可以选定P值矫正方法。当p.adj=”none”时,为LSD法,p.adj="bonferroni"时为Bonferroni法。R代码:library(agricolae)# sweetpotato为agricolae自带数据集data(sweetpotato)#进行方差分析,分组变量为virusmodel#进行多重比较,不矫正P值out <- lsd.test(model,"virus",="" p.adj="none" )#结果显示:标记字母法out$group#

4、可视化plot(out)程序运行结果:从运行结果看,四个处理,oo和ff处理无差异,与cc和fc彼此差异显著。下图是可视化结果。2. Bonferroni法它是Bonferroni校正在LSD法上的应用。 将LSD.test中p.adj设置为"bonferroni"即为Bonferroni法。R代码:library(agricolae)# sweetpotato为agricolae自带数据集data(sweetpotato)#进行方差分析,分组变量为virusmodel#进行多重比较,不矫正P值out <- lsd.test(model,"virus&quo

5、t;,="" p.adj=" bonferroni" )#结果显示:标记字母法out$group#可视化plot(out)运行结果与LSD法类似,不再展示。3. Dunnett检验用于多个试验组与一个对照组间的比较。R语言中可利用multcomp包中的glht()函数进行包括Dunnett检验在内的多种检验,其调用格式为:glht(model, linfct, alternative = c("two.sided", "less", "greater"), .)其中model为方差分析对象,li

6、nfct设置要进行多重比较的分组变量和方法。R代码:library(multcomp)rht <- glht(model,="" linfct="mcp(virus" ="" "dunnett"),alternative="two.side" )#model是方差分析对象#virus是分组变量#方法为Dunnettsummary(rht)#可视化plot(rht)程序运行结果:结果表明:三个处理均与对照cc差异显著。下图为可视化结果:4. SNK法(Student-Newman-Keuls

7、)实质上是根据预先制定的准则将各组均数分为多个子集, 利用Studentized Range分布来进行假设检验。推荐优先用Tukey检验SNK法可用agricolae包中的SNK.test()函数实现,其调用格式为:SNK.test(y, trt, alpha = 0.05, )其中y为方差分析对象,trt为要进行多重比较的分组变量R代码:library(agricolae)# sweetpotato为agricolae自带数据集data(sweetpotato)#进行方差分析,分组变量为virusmodel#进行多重比较,不矫正P值out <- snk.test(model,"

8、;virus")#结果显示:标记字母法out$group#可视化plot(out)程序运行结果与LSD.test类似。5. Turkey检验使用学生化的范围统计量进行组间所有成对比较。Tukey的检验特点:所有各组的样本数相等;各组样本均数之间的全面比较;可能产生较多的假阴性结论。R中Turkey检验检验的函数为TukeyHSD(model),其调用格式为:TukeyHSD(model)其中model为方差分析对象R代码:tuk=TukeyHSD(model)tukplot(tuk)程序运行结果:可视化结果:6.Duncan法(新复极差法)(SSR)指定一系列的“range”值,逐步

9、进行计算比较得出结论。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类似。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服