方差分析用于兩個及兩個以上樣本均值差別的顯著性檢驗,方差分析分為單因素方差分析和多因素方差分析。在進行方差分析時,對數據有一定要求:獨立、正態、方差齊次(各水平間)。
單因素方差分析#
小白鼠在接種了3種不同菌型的傷寒桿菌后的存活天數如表所示,判斷小白鼠被注射三種菌型后的平均存活天數有無顯著差異。
存活時間 | 藥物類型 | 存活時間 | 藥物類型 | 存活時間 | 藥物類型 |
---|---|---|---|---|---|
2 | 1 | 5 | 2 | 7 | 3 |
4 | 1 | 6 | 2 | 11 | 3 |
3 | 1 | 8 | 2 | 6 | 3 |
2 | 1 | 5 | 2 | 6 | 3 |
4 | 1 | 10 | 2 | 7 | 3 |
7 | 1 | 7 | 2 | 9 | 3 |
7 | 1 | 12 | 2 | 5 | 3 |
2 | 1 | 12 | 2 | 5 | 3 |
2 | 1 | 6 | 2 | 10 | 3 |
5 | 1 | 6 | 2 | 6 | 3 |
4 | 1 | 3 | 3 | ||
10 | 3 |
mouse <- data.frame(X=c( 2, 4, 3, 2, 4, 7, 7, 2, 2, 5, 4, 5, 6, 8, 5, 10, 7,
12, 12, 6, 6, 7, 11, 6, 6, 7, 9, 5, 5, 10, 6, 3, 10),
A=factor(c(rep(1,11),rep(2,10), rep(3,12))))
mouse.aov <- aov(X ~ A, data=mouse)
summary(mouse.aov)
Df Sum Sq Mean Sq F value Pr(>F)
A 2 94.26 47.13 8.484 0.0012 **
Residuals 30 166.65 5.56
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
從上面的結果上看p值0.0012小于0.05說明不同藥物對小白鼠存活天數有顯著影響。
多因素方差分析#
使用4種燃料,3種類型的推進器做火箭射程試驗,每一種組合情況做一次試驗,分析各種燃料A與各種推進器B對火箭射程有無顯著影響?
實驗數據 | A1 | A2 | A3 | A4 |
---|---|---|---|---|
B1 | 582 | 491 | 601 | 758 |
B2 | 562 | 541 | 709 | 582 |
B3 | 653 | 516 | 392 | 487 |
首先通過重疊散點圖觀察一下數據,看起來不同燃料下不同推進器對射程沒有明顯影響。
range=c(582,562,653,491,541,516,601,709,392,758,582,487)
A=rep(c(1,2,3,4), 3)
B=rep(c(1,2,3), 4)
plot(range ~ A, pch=B)
legend(1.5, 750, legend=1:3, pch=B)
接下來我們做多因素方差分析
A = factor(A)
B = factor(B)
range.aov <- aov(range ~ A + B)
range.aov
Call:
aov(formula = range ~ A + B)
Terms:
A B Residuals
Sum of Squares 23339.00 22384.67 65618.00
Deg. of Freedom 3 2 6
Residual standard error: 104.5769
Estimated effects may be unbalanced
summary(range.aov)
Df Sum Sq Mean Sq F value Pr(>F)
A 3 23339 7780 0.711 0.580
B 2 22385 11192 1.023 0.415
Residuals 6 65618 10936
我們看到P值均大于0.05,假設檢驗沒有通過,說明4種燃料和3種類型的推助器對火箭射程并無顯著影響。