资源描述:
《基于r语言的多重比较方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、完美WORD格式基于R语言的七种多重比较方法一花视界百家号10-1403:18多重比较的方法很多,根据试验设计的目的不同有不同的应用。若试验设计之初,便明确要比较某几个组均数间是否有差异,称为事前比较。常用的事前比较方法有LSD、Bonferroni和Dunnett法。若研究目的是方差分析有统计学差异后,想知道哪些组间的均数有差异,便是事后比较。事后比较的常用方法有SNK、Turkey、Scheffe和Bonferroni法。本文仅介绍7种方法及R语言函数,可解决绝大部分多重比较问题。1.LSD法L
2、SD法即最小显著差法;该法一般用于计划好的多重比较。它其实只是t检验的一个简单变形,并未对检验水准做出任何校正,只是为所有组的均数统一估计了一个更为稳健的标准误。LSD法比较效果较为灵敏,在R语言中可利用agricolae包中的LSD.test函数实现,其调用格式为:LSD.test(y,trt,DFerror,MSerror,alpha=0.05,p.adj=c("none","holm","hommel","hochberg&
3、quot;,"bonferroni","BH","BY","fdr"),…)整理分享完美WORD格式其中y为方差分析对象,trt为要进行多重比较的分组变量,p.adj可以选定P值矫正方法。当p.adj=”none”时,为LSD法,p.adj="bonferroni"时为Bonferroni法。R代码:library(agricolae)#sweetpotato为agricolae自带数据集data(s
4、weetpotato)#进行方差分析,分组变量为virusmodel#进行多重比较,不矫正P值out<-lsd.test(model,"virus",=""p.adj="none")#结果显示:标记字母法out$group#可视化plot(out)程序运行结果:整理分享完美WORD格式从运行结果看,四个处理,oo和ff处理无差异,与cc和fc彼此差异显著。下图是可视化结果。2.Bonferroni法它是Bonferroni校正在LSD
5、法上的应用。将LSD.test中p.adj设置为"bonferroni"即为Bonferroni法。R代码:library(agricolae)整理分享完美WORD格式#sweetpotato为agricolae自带数据集data(sweetpotato)#进行方差分析,分组变量为virusmodel#进行多重比较,不矫正P值out<-lsd.test(model,"virus",=""p.adj="bonferroni&q
6、uot;)#结果显示:标记字母法out$group#可视化plot(out)运行结果与LSD法类似,不再展示。3.Dunnett检验用于多个试验组与一个对照组间的比较。R语言中可利用multcomp包中的glht()函数进行包括Dunnett检验在内的多种检验,其调用格式为:glht(model,linfct,alternative=c("two.sided","less","greater"),...)其中model为方差分析对象,lin
7、fct设置要进行多重比较的分组变量和方法。R代码:library(multcomp)rht<-glht(model,=""linfct="mcp(virus"=="""dunnett"),alternative="two.side")整理分享完美WORD格式#model是方差分析对象#virus是分组变量#方法为Dunnettsummary(rht)#可视化plot(rht)程序运行结果:结果表
8、明:三个处理均与对照cc差异显著。下图为可视化结果:整理分享完美WORD格式4.SNK法(Student-Newman-Keuls)实质上是根据预先制定的准则将各组均数分为多个子集,利用StudentizedRange分布来进行假设检验。推荐优先用Tukey检验SNK法可用agricolae包中的SNK.test()函数实现,其调用格式为:SNK.test(y,trt,alpha=0.05,…)其中y为方差分析对象,trt为要进行多重比较的分组变量R代码:librar