Home 課程與演講 R語言統計分析 用R語言來實作SPSS統計...

用R語言來實作SPSS統計功能(3)-ANOVA單因子變異數分析

72
0
ANOVA單因子變異數分析(Post Hoc多重比較)
ANOVA單因子變異數分析(Post Hoc多重比較)

本篇內容包括:

  • 計算各系平均分數
  • R語言ANOVA單因子變異數分析案例
  • R語言ANOVA單因子變異數分析-多重比較(Post Hoc)
  • 應用plot以圖像來呈現ANOVA信賴區間

接著我們進入最常出現在論文中使用的方法,檢定三個以上的獨立母體平均數是不是一樣,使用變異數分析(ANOVA);透過底下的案例,可以更清楚知道如何將問題透過R語言實作出統計分析的結果。

案例:台積大學想要了解不同科系之平均英文成績是否有差異。

H0:各科系英文平均分數皆相等(μ1= μ2= μ3 = μ4 = μ5)
H1:各科系英文平均分數不全相等

將自變數中的值轉換為因子

ANOVA中的自變數形態都必須是因子,因此先將科系中的代碼轉換為因子。

collegedata$科系 <- factor(collegedata$科系,levels = c(1,2,3,4,5), labels = c("中文系","統計系","文創系","餐飲系","資管系"))

計算各系平均分數

函數:tapply(X, INDEX, FUN = NULL, …, default = NA, simplify = TRUE)

tapply(collegedata$英文,collegedata$科系,mean)

計算各系平均分數
計算各系平均分數

ANOVA單因子變異數分析

函數:aov(formula, data = NULL, projections = FALSE, qr = TRUE, contrasts = NULL, …)

aov(collegedata$英文 ~ collegedata$科系)

R語言anova單因子變異數分析
R語言anova單因子變異數分析

直接用aov()函數,取得的是組間(科系之間)與組內(科系內值與值之間)的平方和。因此需要再透過summary()幫我們算出 p-value 。

fit <- aov(collegedata$英文 ~ collegedata$科系)

summary(fit)

R語言anova單因子變異數分析-summary()
R語言anova單因子變異數分析-summary()

使用summary函數,取得 p-value = 0.00000099 < 0.05 ,表示各科系英文平均分數不全相等。

ANOVA單因子變異數分析-(Post Hoc)

接著如果想進一步知道系與系之間相互影響的差異情況,就需要用多重比較的TukeyHSD。

函數:TukeyHSD(x, which, ordered = FALSE, conf.level = 0.95, …)

TukeyHSD(fit)

ANOVA單因子變異數分析(Post Hoc多重比較)
ANOVA單因子變異數分析(Post Hoc多重比較)

這張多重比較圖是不是覺得似乎跟SPSS跑出來的不太一樣呢?因為R語言中的TukeyHSD把重覆的都刪掉了,所以看到的是不重覆的,而且數量剛好只有一半。

有看出結論了嗎?哪幾個系與系之間無顯著差異呢?

用圖像來呈現ANOVA

因為TukeyHSD有幫我們計算出信賴區間的上下邊界,所以我們可以使用plot(),將圖畫出來。

函數:plot(x, y, …)

plot(TukeyHSD((fit), conf.level = 0.95))

將TukeyHSD用圖像呈現
將TukeyHSD用圖像呈現
用R語言來實作SPSS統計功能(3)-ANOVA單因子變異數分析
喜歡這篇文章嗎?

發表迴響