如何檢查資料是否接近常態分布 (Normality Test using R)

套路4: 如何檢查資料是否接近常態分布 (Check Normality using R)

1. 使用時機: 包括相關性,回歸,t檢定和變異數分析(ANOVA)在內的許多統計檢定都假定數據具有某些特徵,例如需要數據為常態分佈或接近常態分佈。這些檢定稱為母數分析(parametric tests),因為它們的有效性取決於數據的分佈。在使用母數分析之前,我們應該執行一些初步測試以確保資料符合檢定的假設前提。如果資料違反假設前提,建議使用無母數分析(non-parametric tests)

2. 分析類型: 母數分析 (parametric analysis)

3. 資料範例: 咪路調查淡水河口彈塗魚的體長(cm),資料如下:
   14.3, 15.8, 14.6, 16.1, 12.9, 15.1, 17.3, 14.0, 14.5, 13.9, 16.2, 14.3, 14.6, 13.3, 15.5, 11.8, 14.8, 13.5, 16.3, 15.4, 15.5, 13.9, 10.7, 14.8, 12.9, 15.4

4. 畫圖看資料分布:
   第一步: 用小c將資料放入名稱為Lenvector (R最基本資料結構)。用rep函數產生與資料相同數目的(26)大寫F放入名稱為Fishvector,再組合成名稱為datdata frame
    Len <- c(14.3, 15.8, 14.6, 16.1, 12.9, 15.1, 17.3, 14.0, 14.5, 13.9, 16.2, 14.3, 14.6, 13.3, 15.5, 11.8, 14.8, 13.5, 16.3, 15.4, 15.5, 13.9, 10.7, 14.8, 12.9, 15.4)
    Fish <- rep("F", 26)
dat <- data.frame(Len, Fish)
   第二步: 安裝ggplot2程式套件。
   第三步: 呼叫ggplot2程式套件備用。
    library(ggplot2)
   第四步: 畫圖。
ggplot(dat, aes(x = Fish, y = Len)) +
     geom_boxplot(color = "red")+
     geom_jitter(position = position_jitter(0.05))
    # 同時畫x-y散布(黑色點)圖及盒圖(紅色box plot)
    # ggplot2程式套件geom_jitter函數讓重疊(數值相同)的資料點錯開,避免誤判。

5. 檢查資料是否為常態分布方法一,QQ plot使用基本模組繪圖:
第一步: 用小c將資料放入名稱為Lenvector (R最基本資料結構)
    Len <- c(14.3, 15.8, 14.6, 16.1, 12.9, 15.1, 17.3, 14.0, 14.5, 13.9, 16.2, 14.3, 14.6, 13.3, 15.5, 11.8, 14.8, 13.5, 16.3, 15.4, 15.5, 13.9, 10.7, 14.8, 12.9, 15.4)
第二步: 畫圖。
     qqnorm(Len)
     qqline(Len)
# 數據點在越QQ plot中越接近直線資料就越接近常態分布。

6. 檢查資料是否為常態分布方法一,QQ plot使用ggpubr程式套件繪圖:
第一步: 用小c將資料放入名稱為Lenvector (R最基本資料結構)
    Len <- c(14.3, 15.8, 14.6, 16.1, 12.9, 15.1, 17.3, 14.0, 14.5, 13.9, 16.2, 14.3, 14.6, 13.3, 15.5, 11.8, 14.8, 13.5, 16.3, 15.4, 15.5, 13.9, 10.7, 14.8, 12.9, 15.4)
第二步: 安裝ggpubr程式套件。
第三步: 呼叫ggpubr程式套件備用。
    library(ggpubr)
第四步: 閱讀ggpubr程式套件中ggqqplot函數的使用說明。
    help(ggqqplot)
第五步: 畫圖。
    ggqqplot(Len)
# 數據點在越QQ plot中越接近直線資料就越接近常態分布。

7. 檢查資料是否為常態分布方法二:
第一步: 閱讀基本模組(base)shapiro.test函數的使用說明。
  help(shapiro.test)
第二步: 使用基本模組(base)shapiro.test函數檢查Len中資料是否為常態分布。
  shapiro.test(Len)
第三步: 判讀結果。
            Shapiro-Wilk normality test
data:  Len
W = 0.97097, p-value = 0.6485
# p-value > 0.05,資料符合常態分布。
# p-value < 0.05,資料不符合常態分布。

來勁了嗎? 想知道更多?? 補充資料(連結):
6. 關於R基礎,R繪圖及統計快速入門:
   b. Cookbook for R: http://www.cookbook-r.com/
   d. Statistical tools for high-throughput data analysis (STHDA): http://www.sthda.com/english/
e. The Handbook of Biological Statistics: http://www.biostathandbook.com/
f. An R Companion for the Handbook of Biological Statistics: http://rcompanion.org/rcompanion/index.html
7. Zar, JH. 2010. Biostatistical Analysis, Fifth Edition, Pearson.

留言

這個網誌中的熱門文章

統計不球人 目錄 (Table of Contents)

如何選擇統計方法 1