文章目錄
本篇內容包括:
- 卡方檢定
- 卡方獨立性檢定
- Pearson’s卡方檢定
- 列聯表相關係數(contingency table)
- 帶有瑕疵的數據資料
有時候就算給你全部公式,其實你也不一定會用,用了也不知道數據跑出來對不對,甚至知其然而不知其所以然,所以這幾篇有關用R語言來實踐統計分析,難不難,見仁見智。
在這裡的案例數據和統計分析結果,可不是隨便蝦掰出來的,特別是統計分析結果,都是經過驗證的,也就是用R跑出來的數據和使用SPSS是一樣的,甚至 P-value 值的精準度更高(小數點以後更多位,但其實巫山小路用,沒太大影響),那麼你會不會又有一種感覺?原來不只要會統計和R,連SPSS都要略懂呢!是不用那麼跨張啦!只是用對的方法就會產生對的結果。當然我也不是統計專門老師,若有錯還請見諒。
但有一點可以確定的是,如果沒有使用實際案例,只談統計理論、公式或R函數的話,那麼跟實作出結果通常會有一段不小的差距。
卡方檢定(Chi Square Test)
想到卡方檢定,你想到什麼呢?簡單的說,在於驗證類別資料出現的頻率,是不是會隨著另一個類別資料的不同有所不同。
例如:牛肉麵店顧客的性別和居住地區分佈如下
北部 | 中部 | 南部 | 總計 | |
男 | 48 | 100 | 85 | 233 |
女 | 84 | 144 | 120 | 348 |
總計 | 66 | 244 | 205 | 581 |
想更了解R語言的資料結構,請試著練習看看,將上方資料以輸入到R裡面吧!
案例:請問牛肉麵店顧客點餐種類和居住地區有無關係?
H0:顧客點餐種類和居住地區無關
H1:顧客點餐種類和居住地區有關
列聯相關係數
函數:xtabs(formula = ~., data = parent.frame(), subset, sparse = FALSE, na.action, addNA = FALSE, exclude = if(!addNA) c(NA, NaN), drop.unused.levels = FALSE)
居住地區和點餐種類交叉表(contingency table)
mytable <- xtabs(~ collegedata$居住地區 + collegedata$點餐種類, data = collegedata)
Pearson’s卡方檢定(獨立性檢定)
函數:chisq.test(x, y = NULL, correct = TRUE, p = rep(1/length(x), length(x)), rescale.p = FALSE, simulate.p.value = FALSE, B = 2000)
chisq.test(mytable)
P-value = 0.1252 > 0.05 無法拒絕H0,所以顧客點餐種類和居住地區無關。
案例:全校學生居住地區和入學方式是否有關係?
H0:全校學生居住地區和入學方式無關
H1:全校學生居住地區和入學方式有關
帶有瑕疵的數據資料
居住地區和入學方式交叉表(contingency table)
mytable <- xtabs(~ collegedata$地區 + collegedata$入學方式, data = collegedata)
Pearson’s卡方檢定
chisq.test(mytable)
檢定是跑出來了,可是怎麼有一點怪怪的呢?出現了一個警告訊息
Warning message:
In chisq.test(mytable) : Chi-squared approximation may be incorrect
為什麼呢?
因為要使用卡方檢定其實有些小細節要注意,像每一個格子的期望值儘量要大於5,期望次數低於5的格子數不能多於20%。
那麼想看看接著該如何處理?