如何檢查資料是否接近常態分布 (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將資料放入名稱為Len的vector (R最基本資料結構)。用rep函數產生與資料相同數目的(26個)大寫F放入名稱為Fish的vector,再組合成名稱為dat的data 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將資料放入名稱為Len的vector (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將資料放入名稱為Len的vector (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,資料不符合常態分布。
來勁了嗎? 想知道更多?? 補充資料(連結):
1. Normality (https://en.wikipedia.org/wiki/Normality)
2. Normal distribution (https://en.wikipedia.org/wiki/Normal_distribution)
3. Box plot (https://en.wikipedia.org/wiki/Box_plot)
4. Q Q plot (https://en.wikipedia.org/wiki/Q%E2%80%93Q_plot)
5. Shapiro–Wilk test (https://en.wikipedia.org/wiki/Shapiro%E2%80%93Wilk_test)
6. 關於R基礎,R繪圖及統計快速入門:
a. R Tutorial: https://www.tutorialspoint.com/r/index.htm
b. Cookbook for R: http://www.cookbook-r.com/
c. Quick-R: https://www.statmethods.net/
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.
留言
張貼留言