資源描述:
《基于.r語言的多重比較方法》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、基于R語言的七種多重比較方法一花視界百家號10-1403:18多重比較的方法很多,根據(jù)試驗(yàn)設(shè)計(jì)的目的不同有不同的應(yīng)用。若試驗(yàn)設(shè)計(jì)之初,便明確要比較某幾個(gè)組均數(shù)間是否有差異,稱為事前比較。常用的事前比較方法有LSD、Bonferroni和Dunnett法。若研究目的是方差分析有統(tǒng)計(jì)學(xué)差異后,想知道哪些組間的均數(shù)有差異,便是事后比較。事后比較的常用方法有SNK、Turkey、Scheffe和Bonferroni法。本文僅介紹7種方法及R語言函數(shù),可解決絕大部分多重比較問題。1.LSD法LSD法即最小顯著
2、差法;該法一般用于計(jì)劃好的多重比較。它其實(shí)只是t檢驗(yàn)的一個(gè)簡單變形,并未對檢驗(yàn)水準(zhǔn)做出任何校正,只是為所有組的均數(shù)統(tǒng)一估計(jì)了一個(gè)更為穩(wěn)健的標(biāo)準(zhǔn)誤。LSD法比較效果較為靈敏,在R語言中可利用agricolae包中的LSD.test函數(shù)實(shí)現(xiàn),其調(diào)用格式為:LSD.test(y,trt,DFerror,MSerror,alpha=0.05,p.adj=c("none","holm","hommel","hochberg",&q
3、uot;bonferroni","BH","BY","fdr"),…)其中y為方差分析對象,trt為要進(jìn)行多重比較的分組變量,p.adj可以選定P值矯正方法。當(dāng)p.adj=”none”時(shí),為LSD法,p.adj="bonferroni"時(shí)為Bonferroni法。R代碼:library(agricolae)#sweetpotato為agricolae自帶數(shù)據(jù)集data(sweetpotato)#進(jìn)行方差分析,分
4、組變量為virusmodel#進(jìn)行多重比較,不矯正P值out<-lsd.test(model,"virus",=""p.adj="none")#結(jié)果顯示:標(biāo)記字母法out$group#可視化plot(out)程序運(yùn)行結(jié)果:從運(yùn)行結(jié)果看,四個(gè)處理,oo和ff處理無差異,與cc和fc彼此差異顯著。下圖是可視化結(jié)果。2.Bonferroni法它是Bonferroni校正在LSD法上的應(yīng)用。將LSD.test中p.adj設(shè)置為"bo
5、nferroni"即為Bonferroni法。R代碼:library(agricolae)#sweetpotato為agricolae自帶數(shù)據(jù)集data(sweetpotato)#進(jìn)行方差分析,分組變量為virusmodel#進(jìn)行多重比較,不矯正P值out<-lsd.test(model,"virus",=""p.adj="bonferroni")#結(jié)果顯示:標(biāo)記字母法out$group#可視化plot(out)運(yùn)行結(jié)果與L
6、SD法類似,不再展示。3.Dunnett檢驗(yàn)用于多個(gè)試驗(yàn)組與一個(gè)對照組間的比較。R語言中可利用multcomp包中的glht()函數(shù)進(jìn)行包括Dunnett檢驗(yàn)在內(nèi)的多種檢驗(yàn),其調(diào)用格式為:glht(model,linfct,alternative=c("two.sided","less","greater"),...)其中model為方差分析對象,linfct設(shè)置要進(jìn)行多重比較的分組變量和方法。R代碼:library(multcomp)rh
7、t<-glht(model,=""linfct="mcp(virus"=="""dunnett"),alternative="two.side")#model是方差分析對象#virus是分組變量#方法為Dunnettsummary(rht)#可視化plot(rht)程序運(yùn)行結(jié)果:結(jié)果表明:三個(gè)處理均與對照cc差異顯著。下圖為可視化結(jié)果:4.SNK法(Student-Newman-Keuls)實(shí)質(zhì)
8、上是根據(jù)預(yù)先制定的準(zhǔn)則將各組均數(shù)分為多個(gè)子集,利用StudentizedRange分布來進(jìn)行假設(shè)檢驗(yàn)。推薦優(yōu)先用Tukey檢驗(yàn)SNK法可用agricolae包中的SNK.test()函數(shù)實(shí)現(xiàn),其調(diào)用格式為:SNK.test(y,trt,alpha=0.05,…)其中y為方差分析對象,trt為要進(jìn)行多重比較的分組變量R代碼:library(agricolae)#sweetpotato為agricolae自帶數(shù)據(jù)集data(sweetpotato)#進(jìn)行方差分析,分組變量