close
ANOVA可分析多組間的差異
本次以R內建的dataset- “airquality”當範本
題目為比較不同月份間的平均溫度是否有顯著差異。
首先得要先確認每個月分溫度的variance(變異數)是否相同及其是否呈現常態分布
先輸入dataset
air<-airquality
一、確認變異數是否均質
安裝”car”套件
install.packages("car")
使用levenTest檢定組間變異數是否具有顯著差異
leveneTest(air$Temp,as.character(air$Month))
Levene's Test for Homogeneity of Variance (center = median)
Df F value Pr(>F)
group 4 2.5849 0.03941 *
148
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Warning message:
In leveneTest.default(air$Temp, as.character(air$Month)) :
as.character(air$Month) coerced to factor.
結果顯示具有顯著差異。
二、接著看各組是否符合常態分佈,我們可以用qqnorm來以z-score校正後回歸線是否接近45度角
以qqnorm畫出Q-Q plot 粗略判斷是否為常態分佈
qqnorm(air$Temp[air$Month==5])
qqline(air$Temp[air$Month==5])
qqnorm(air$Temp[air$Month==6])
qqline(air$Temp[air$Month==6])
qqnorm(air$Temp[air$Month==7])
qqline(air$Temp[air$Month==7])
qqnorm(air$Temp[air$Month==8])
qqline(air$Temp[air$Month==8])
qqnorm(air$Temp[air$Month==9])
qqline(air$Temp[air$Month==9])
三、ANOVA檢測每個月分的平均溫度是否有顯著差異
1. 將ANOVA分析後的數據指定給anova.air
由於月份的數值特性是"numeric”,anova在計算時會直接做計算,所以需要把月分先當作字元(character)才不會直接被加減,而是當作factor
aov.air<-aov(air$Temp~as.character(air$Month))
2. 用summary得知F-value
summary(aov.air)
Df Sum Sq Mean Sq F value Pr(>F)
as.character(air$Month) 4 7061 1765.3 39.85 <2e-16 ***
Residuals 148 6557 44.3
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
結果顯示不同月份的平均溫度具有極顯著差異
3. 比較兩組間差異
使用Tukey可以進行兩兩比較,其特色為可以消除Type I error
TukeyHSD(aov.air)
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = air$Temp ~ as.character(air$Month))
$`as.character(air$Month)`
diff lwr upr p adj
6-5 13.55161290 8.84386422 18.259362 0.0000000
7-5 18.35483871 13.68583759 23.023840 0.0000000
8-5 18.41935484 13.75035372 23.088356 0.0000000
9-5 11.35161290 6.64386422 16.059362 0.0000000
7-6 4.80322581 0.09547713 9.510974 0.0430674
8-6 4.86774194 0.15999325 9.575491 0.0388654
9-6 -2.20000000 -6.94617992 2.546180 0.7038121
8-7 0.06451613 -4.60448499 4.733517 0.9999995
9-7 -7.00322581 -11.71097449 -2.295477 0.0006215
9-8 -7.06774194 -11.77549062 -2.359993 0.0005376
結果顯示9-6和8-7月的平均溫度是沒有顯著差異。
最後附上Q-Q plot分布圖(由上至下
文章標籤
全站熱搜