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

上传人:hw****26 文档编号:3824926 上传时间:2019-08-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 为方差分析对象,trt 为要进行多重比较的分组变量,p.adj 可以选定 P值矫正方法。当 p.adj=”none”时,为 LSD 法,p.adj=bonfer

3、roni 时为 Bonferroni 法。R 代码:library(agricolae)# sweetpotato 为 agricolae 自带数据集data(sweetpotato)#进行方差分析,分组变量为 virusmodel#进行多重比较,不矫正 P 值out - lsd.test(model,virus,= p.adj=none )#结果显示:标记字母法out$group#可视化plot(out)程序运行结果:从运行结果看,四个处理,oo 和 ff 处理无差异,与 cc 和 fc 彼此差异显著。下图是可视化结果。2. Bonferroni 法它是 Bonferroni 校正在 LSD

4、 法上的应用。 将 LSD.test 中 p.adj 设置为bonferroni即为 Bonferroni 法。R 代码:library(agricolae)# sweetpotato 为 agricolae 自带数据集data(sweetpotato)#进行方差分析,分组变量为 virusmodel#进行多重比较,不矫正 P 值out - lsd.test(model,virus,= p.adj= bonferroni )#结果显示:标记字母法out$group#可视化plot(out)运行结果与 LSD 法类似,不再展示。3. Dunnett 检验用于多个试验组与一个对照组间的比较。R 语

5、言中可利用 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 是分组变量#方法为 Dunnettsummary

6、(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

7、为 agricolae 自带数据集data(sweetpotato)#进行方差分析,分组变量为 virusmodel#进行多重比较,不矫正 P 值out - snk.test(model,virus)#结果显示:标记字母法out$group#可视化plot(out)程序运行结果与 LSD.test 类似。5. Turkey 检验使用学生化的范围统计量进行组间所有成对比较。Tukey 的检验特点:所有各组的样本数相等;各组样本均数之间的全面比较;可能产生较多的假阴性结论。R 中 Turkey 检验检验的函数为 TukeyHSD(model),其调用格式为:TukeyHSD(model)其中 mo

8、del 为方差分析对象R 代码:tuk=TukeyHSD(model)tukplot(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)程序运

9、行结果与 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 类似。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。