分類
R 生物統計

R語言 檢定多於兩組(多組)的觀察值之間是否有差異

檢定多於兩組(多組)的觀察值之間是否有差異

重複測量(Repeated measures): Friedman檢定、重複測量變異數分析

Friedman檢定 (重複測量): 二因子變異數分析對應的無母數檢定。對資料分布沒有任何假設,只要求資料是可排序的。只有在每個因子值組合僅有一個觀察值時適用。

Example: 選擇四天分別取出六個池塘的水樣計算藍藻數(個/mm3),每次取樣只取一個樣本,就可使用該檢定。

pondcells<- matrix(c(130,125,350,375,225,235,
115,120,375,200,250,200,
145,170,235,275,225,155,
200,230,140,325,275,215),
nrow=4,byrow = T,
dimnames = list(1:4,c(A,B,C,D,E,F))) #此檢定要將資料整理成矩陣形式
friedman.test(pondcells) #自由度為池塘數減一

重複測量變異數分析 (Repeated-measures ANOVA): 此種試驗設計下,每個因子值組合都只有一個才可以執行二因子變異數分析。在重複測量的設計下,影響因子需互相獨立或是得大量降低自由度。

pond<-c(A,A,A,A,
B,B,B,B,
C,C,C,C,
D,D,D,D,
E,E,E,E,
F,F,F,F)
cells<-c(130,115,145,200,
125,120,170,230,
350,375,235,140,
375,200,275,325,
225,250,225,275,
235,200,155,215)
day<- c(rep(1:4,6))
summary(aov(cells~pondday + Error(cells/(pondday))))

單因子變異數分析 (One-way ANOVA): 三組以上的ANOVA所做的假設跟兩組的版本相同:資料連續、各組資料趨近常態且變異數相等。

變異數分析的策略是把虛無假設設定為組內變異數與組間變異數相等,關鍵變量為組間變異數和組內變異數的比值 (F值)。

Example: 某研究人員取得三個品種的穀物重量資料,並且想判斷他們重量是否有差異?

grain<- c(24.5,23.4,22.1,25.3,23.4,
26.4,27.0,25.2,25.8,27.1,
25.5,25.7,26.8,27.3,26.0)
cultivar<- c(P,P,P,P,P,
S,S,S,S,S,
D,D,D,D,D)
oneway<- data.frame(cultivar,grain)
cultivar<- as.factor(cultivar)
summary(aov(grain~cultivar))

事後檢定: 在做完變異數分析之後 (Post testing after one-way ANOVA)

做完單因子變異數分析後再探討那些組別之間有差異

labs<- c(Dupa,Premier,Super)
plot(oneway, xlab= cultivar ,ylab= grain size (mg), name= labs) #將分析結果視覺化,製成箱型圖
TukeyHSD(aov(grain~cultivar))

Kruskal-Wallis檢定: 此檢定為單因子變異數分析對應的無母數版本。

kruskal.test(grain~cultivar) #拒絕三組資料來自於同中位數分布的虛無假設
TukeyHSD(kruskal.test(grain~cultivar))

事後檢定: 做完Kruskal-Wallis檢定之後 (post hoc testing: after the Kruskal-Wallis test)

wilcox.test(oneway$grain[cultivar==P],oneway$grain[cultivar==D])
wilcox.test(oneway$grain[cultivar==S],oneway$grain[cultivar==D])
wilcox.test(oneway$grain[cultivar==S],oneway$grain[cultivar==P])

提供R srcipt參考

參考來源: 生物統計學:如何選擇與應用

發表迴響