「Mark」R語言方差分析的內容全部在這裡了

隨著研究生以及博士生對實驗數據分析以及挖掘越來越重視,傳統的數據處理工具例如“Excel”越來越不能滿足對數據分析的需求,我們需要更高級的數據分析工具,因此R和Python就營運而生。

R從它出生的第一天就是為了做統計計算的,那時它被定義為一個統計計算與作圖的工具,雖然發展到現在它已經被賦予了越來越強大的功能,以至於成為各個高校老師與學生數據分許的主要工具。方差分析在科研實驗中有重要的地位,今天明明同學給大家分享如何通過R語言一兩行代碼快速進行方差分析和多重檢驗。(工欲善其事必先利其器,這裡明明同學建議大家用Rstudio做R語言的開發)

無論單因素還是雙因素方差分析一個函數就可以搞定,這個函數是AOV ()

ANOVA模型擬合

1、aov()函數

語法:aov(formula,data=dataframe)

Formula:一個指定模型的公式

一般有一下幾種模型公式:

公式中特殊符號表達的含義為:

2、單因素方差分析

如下面數據所示,求三種肥料之家是否有顯著差異

要想做方差分析,數據必須滿足3個條件即獨立、正態,方差齊次性。

(一) 正態

在R語言中,對於正態性,用函數shapiro.test()檢驗,它提供了W統計量和相應P值,所以可以直接使用P值作為判斷標準,其調用格式為shapiro.test(x),參數x即所要檢驗的數據集,它是長度在35000之間的向量。

因此本例中對肥料A、B、C分別檢驗。

P值均大於顯著性水平a=0.05,因此不能拒絕原假設,說明數據在肥料的三個水平下都是來自正態分佈的。

(二) 方差齊性檢驗

R中最常用的Bartlett檢驗,bartlett.test()調用格式為bartlett.test(x,g…)

其中,參數X是數據向量或列表(list) ; g是因子向量,如果X是列表則忽略g.當使用數據集時,也可通過formula調用函數:

bartlett.test(formala, data, subset,na.action…)

formula是形如上面寫的方差分析公式;data指明數據集:subset是可選項,可以用來指定觀測值的一個子集用於分析:na.action表示遇到缺失值時應當採取的行為。

本例中對肥料A、B、C方差齊性進行檢驗:

由於P值遠遠大於顯著性水平a=0.05,因此不能拒絕原假設,我們認為不同水平下的數據是等方差的。

(三)單因素方差分析

根據前面介紹的aov函數和公式,進行本例中單因素方差檢驗

(四) 多重比較

這裡採用最小顯著差數檢驗法(即LSD法),並用字母標記法對結果進行標記

這裡1、2、3分別對應肥料A、B、C。groups表示的是字母標記。

3、雙因素不含交互作用的方差分析

(一)把表格中的數據轉換成長表即R語言能夠分析的數據結構

即如下形式:

數據導入R並重新命名

(二)結合上面介紹的公式進行雙因素方差分析

由P值可知光照和溫度均存在顯著差異。

(三)接著用鄧肯多重比較對數據進行多重比較並用字母表記法標記

4、雙因素含交互作用的方差分析

(一)和無交互作用一樣把數據轉換成長表

(一)將數據輸入到R並重新命名

(二)含交互作用的雙因素方差分析

由此可見光照和溫度存在顯著的差異,但是他們的交互性對結果的影響並不顯著。這和之間用SPSS分析得出的結果一樣。方差分析在科研實驗中有重要的地位,而R語言做方差分析非常便捷,只需要三兩行代碼即可完成分析。