您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何進行R語言中的單因素分析,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
當包含的因子是解釋變量時我們關注的重點通常會從預測轉向組別的差異的分析,這種分析方法稱作方差分析(ANOVA) ,除了R中的基礎包,還需要加載car、gplots、HH、rrcov和mvoutlier包,安裝請用:install.package(),方差分析一般用ANOVA模型-使用aov()函數,回歸時用到的lm()函數也能分析ANOVA模型 。
aov()函數的語法:
aov(formula,data=dataframe),下圖列舉表達式中可以使用的特殊符號,y是因變量, A、B、C代表因子。
下表列舉常見的研究設計表達式,小寫表示定量變量,大寫字母表示組別因子,Subject是對被試者獨有的標識變量。
在ANOVA方差分析中,表達式等式右邊的因子排列順序很重要,如在雙因素方差分析中,若不同處理方式中的觀測數不同,那么模型y ~ A*B與模型y ~ B*A的結果不同。
R默認類型I(序貫型)方法計算ANOVA效應 (順序很重要)。第一個模型可以這樣寫:y ~ A + B + A:B。R中的ANOVA表的結果將評價:
1.A對y的影響
2.控制A時,B對y的影響
3.控制A和B的主效應時,A與B的交互效應。
單因素方差分析
背景介紹:multcomp包中的cholesterol數據集,50個患者接受降低膽固醇藥物治療 (trt) 五種療法中的一種 。其中三種治療條條 使用藥物相同,分別是20mg一天一次(1time)、10mg一天兩次(2times)和5mg一天四次(4times)。剩下的兩種方式(drugD和drugE)代表候選藥物。哪一種藥物療法降低膽固醇(響應變量)最多呢?
> library(multcomp)
> attach(cholesterol)
> table(trt) #各組樣本大小
trt
1time 2times 4times drugD drugE
10 10 10 10 10
> aggregate(response,by=list(trt),FUN=mean) #各組均值
Group.1 x
1 1time 5.78197
2 2times 9.22497
3 4times 12.37478
4 drugD 15.36117
5 drugE 20.94752
> aggregate(response,by=list(trt),FUN=sd) #各組標準差
Group.1 x
1 1time 2.878113
2 2times 3.483054
3 4times 2.923119
4 drugD 3.454636
5 drugE 3.345003
> fit <- aov(response~trt) #檢驗組間差異(ANOVA)
> summary(fit)
Df Sum Sq Mean Sq F value Pr(>F)
trt 4 1351.4 337.8 32.43 9.82e-13 ***
Residuals 45 468.8 10.4
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> library(gplots)
> plotmeans(response~trt,xlab = "Traetment",ylab = "Response",main="Nean Plot\nwith 95 CI") #繪制各組均值及其置信區間的圖形
> detach(cholesterol)
從輸出結果可知,每10個患者接受其中一個藥物療法。均值顯示drugE降低膽固醇最多,而ltime降低膽固醇最少,各組的標準差相對恒定,在2.88-3.48間浮動。ANOVA對治療(trt)的F檢驗非常顯著(p<0.0001),說明五種療法的效果不同。gplots包中的plotmeans()可以用來繪制帶有置信區間的組均值圖形,圖形展示帶有95%的置信區間的各療法均值,可以清楚的看到它們之間的差異。
上述內容就是如何進行R語言中的單因素分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。