敘述性統計 (Descriptive Statistics)

套路3: 敘述性統計 (Descriptive Statistics)

1. 使用時機: 拿到數據時對數據的某些基本特徵進行分析了解。

2. 分析類型: 數據基本特性分析。

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. 輸入資料放進R的基本資料結構:
步驟: 用小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)

5. 資料的最大值最小值及範圍(maximum, minimum and Range):
步驟: 使用基礎模組(base)maxminrange函數。
max(len)
[1] 17.3   # 最大值
min(len)
[1] 10.7   # 最小值
range(len)
[1] 10.7 17.3  # 範圍

6. 資料的平均值中數眾數(Measure of central tendency: mean, median, mode)
步驟一: 使用基礎模組(base)meanmedian函數。
mean(len)
[1] 14.51538   # 平均值
median(len)
[1] 14.6    # 中位數
     sample median = X(n+1)/2, n (sample size) 是奇數
     sample median = (Xn/2 + X(n+2)/2)/2, n (sample size) 是偶數

   步驟二:
第一步: 安裝modeest程式套件。
    第二步: 呼叫modeest程式套件備用。
     library(modeest)
    第三步: 閱讀modeest程式套件的函數mvf的使用說明。
help(mfv)
    第四步: 使用modeest程式套件的函數mvf求眾數。
mfv(len)
[1] 12.9 13.9 14.3 14.6 14.8 15.4 15.5   # 眾數

7. 資料的四分位數(Quartiles) Interquartile range (IQR)):
步驟: 使用基礎模組(base)quantileIQR函數。
quantile(len)
     0%    25%    50%    75%   100%
10.700  13.900  14.600  15.475  17.300
IQR(len)
[1] 1.575   # Interquartile Range (IQR) = Q3 – Q1

8. 資料的變異數標準差及標準誤差 (variance, standard deviation, standard error):
步驟一: 使用基礎模組(base)varsd函數。
var(len)
[1] 2.109354   # 變異數
sd(len)
[1] 1.452361    # 標準差

步驟二: 計算標準誤差儲存到變數sem
sem <- sd(len)/sqrt(length(len))
sem
[1] 0.2848315   # 標準誤差
# sqrt函數功能為開方 (根號)
# length函數功能為取得len中資料個數 (樣本數)
步驟三: 計算平均值的95%信賴區間(95% confidence intervals of the mean)
 假設資料為常態分布: z = 1.96
ci95 <- c(mean(len) - 1.96 * sem, mean(len) + 1.96 * sem)
ci95
[1] 13.95711 15.07365  # 平均值的95%信賴區間
   步驟四: 計算變異係數(Coefficient of Variation; CV)
CV <- (sd(len) / mean(len)) * 100
CV
[1] 10.00567  # 變異係數
9. 絕對中位差(median absolute deviation; MAD):
步驟: 使用基礎模組(base)mad函數。
mad(len)
[1] 1.26021

10. 資料總整理:
步驟: 使用基礎模組(base)summary函數。
summary(len)
     Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
    10.70   13.90   14.60   14.52   15.47   17.30

11. 畫圖看資料分布方法一:
   第一步: 用小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函數讓重疊(數值相同)的資料點錯開,避免誤判。
   # 如圖所示這組資料有離群值(outlier)

12. 畫圖看資料分布方法二:
   第一步: 用小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)
   第二步: 安裝ggpubr程式套件。
   第三步: 呼叫ggpubr程式套件備用。
    library(ggpubr)
   第四步: 使用ggpubr程式套件的gghistogram畫分布(直方)圖。
gghistogram(dat, x = "Len", bins = 9, add = "mean")
    # bins = 9是使用者自定。
    # add = "mean"加上平均值位置線。
第五步: 使用ggpubr程式套件的ggecdf畫累加曲線(Empirical cumulative distribution curve)
ggecdf(dat, x = "Len")

來勁了嗎? 想知道更多?? 補充資料(連結):
13. 關於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
14. 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)