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

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
完美WORD格式 整理分享 基于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(quot;nonequot;,quot;holmquot;,quot;hommelquot;, quot;hochbergquot;, quot;bonferroniquot;, quot;BHquot;, quot;BYquot;, quot;fdrquot;), …) 其中y为方差分析对象,trt为要进行多重比较的分组变量,p.adj可以选定P值矫正方法。当p.adj=”none”时,为LSD法,p.adj=quot;bonferroniquot;时为Bonferroni法。 R代码: library(agricolae) # sweetpotato为agricolae自带数据集 data(sweetpotato) #进行方差分析,分组变量为virus model #进行多重比较,不矫正P值 out lt;- lsd.test(model,quot;virusquot;,=quot;quot; p.adj=quot;nonequot; ) #结果显示:标记字母法 out$group #可视化 plot(out) 程序运行结果: 从运行结果看,四个处理,oo和ff处理无差异,与cc和fc彼此差异显著。下图是可视化结果。 2. Bonferroni法 它是Bonferroni校正在LSD法上的应用。 将LSD.test中p.adj设置为quot;bonferroniquot;即为Bonferroni法。 R代码: library(agricolae) # sweetpotato为agricolae自带数据集 data(sweetpotato) #进行方差分析,分组变量为virus model #进行多重比较,不矫正P值 out lt;- lsd.test(model,quot;virusquot;,=quot;quot; p.adj=quot; bonferroniquot; ) #结果显示:标记字母法 out$group #可视化 plot(out) 运行结果与LSD法类似,不再展示。 3. Dunnett检验 用于多个试验组与一个对照组间的比较。R语言中可利用multcomp包中的glht()函数进行包括Dunnett检验在内的多种检验,其调用格式为: glht(model, linfct, alternative = c(quot;two.sidedquot;, quot;lessquot;, quot;greaterquot;), ...) 其中model为方差分析对象,linfct设置要进行多重比较的分组变量和方法。 R代码: library(multcomp) rht lt;- glht(model,=quot;quot; linfct=quot;mcp(virusquot; ==quot;quot; quot;dunnettquot;),alternative=quot;two.sidequot; ) #model是方差分析对象 #virus是分组变量 #方法为Dunnett summary(rht) #可视化 plot(rht) 程序运行结果: 结果表明:三个处理均与对照cc差异显著。下图为可视化结果: 4. SNK法(Student-Newman-Keuls) 实质上是根据预先制定的准则将各组均数分为多个子集, 利用Studentized Ran

文档评论(0)

smdh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档