如何檢查資料是否接近常態分布 (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)

比較二或多組變異數Levene’s 檢定 (Levene’s Test for Comparing Two or More Variances)

三因子變異數分析 (Three Way ANOVA)