比較二或多組變異係數 (Comparing Two or More Coefficient of Variation)

套路29: 比較二或多組變異係數
 (Comparing Two or More Coefficient of Variation)

1. 使用時機: 用於比較觀測到的兩組或多組變異係數(Coefficient of Variation, CV)
2. 分析類型: 母數分析(parametric analysis)
3. 前提假設: 資料均為常態分布(normal distribution)
4. 資料範例1兩組變異數: 咪路調查國一學生身高手長腿長(cm)及體重(kg)資料如下:
身高
141
135
133
136
140
146
131
137
134
130
138
體重
42
47
42
45
44
47
46
45
40
49
44
手長
62
65
63
64
69
61
67
66
60
65
63
腿長
72
72
75
77
71
70
78
79
74
75
72
請問國一學生身高手長腿長及體重變異係數是否相同?
H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4HA: 國一學生身高手長腿長及體重變異係數不完全相同。

第一步: 輸入建立資料用小c將資料放入名稱為d1-d4vector (R最基本資料結構)。用rep函數產生與資料相同數目的(1110)大寫HU放入名稱為h2u2vector再組合成名稱為datdata frame
  d1 <- c(141, 135, 133, 136, 140, 146, 131, 137, 134, 130, 138)
  d2 <- c(42, 47, 42, 45, 44, 47, 46, 45, 40, 49, 44)
  d3 <- c(62, 65, 63, 64, 69, 61, 67, 66, 60, 65, 63)
  d4 <- c(72, 72, 75, 77, 71, 70, 78, 79, 74, 75, 72)
  f1 <- rep("Tall", 11)
  f2 <- rep("Weight", 11)
  f3 <- rep("Hand", 11)
  f4 <- rep("Leg", 11)
  Values <- c(d1, d2, d3, d4)
  Char <- c(f1, f2, f3, f4)
  dat <- data.frame(Char, Values)

第二步: 檢查資料是否為常態分布:
動作1: 閱讀基本模組(base)shapiro.test函數的說明書。
  help(shapiro.test)
動作2: 使用基本模組(base)shapiro.test函數檢查h1u1中資料是否為常態分布。
  shapiro.test(d1)
  shapiro.test(d2)
  shapiro.test(d3)
  shapiro.test(d4)
動作3: 判讀結果。
             Shapiro-Wilk normality test
data:  d1
W = 0.97057, p-value = 0.8922   # p-value > 0.05
        Shapiro-Wilk normality test
data:  d2
W = 0.97716, p-value = 0.9483   # p-value > 0.05
         Shapiro-Wilk normality test
data:  d3
W = 0.98547, p-value = 0.989   # p-value > 0.05
        Shapiro-Wilk normality test
data:  d4
W = 0.93754, p-value = 0.492   # p-value > 0.05
  # p-value > 0.05,資料符合常態分布。
  # p-value < 0.05,資料不符合常態分布。

第三步: 檢查四組資料是否為相同變異數(H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4)方法一。
動作1: 安裝cvequality程式套件。
動作2: 呼叫cvequality程式套件備用。
  library(cvequality)
動作3: 閱讀cvequality程式套件中asymptotic_test函數的使用說明。
  help(asymptotic_test)
動作4: 使用cvequality程式套件中asymptotic_test函數代入dat中資料。
  asymptotic_test(Values, Char)
動作5: 判讀結果。
     $D_AD
[1] 3.436125
$p_value
[1] 0.3291414
  # p-value > 0.05H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4成立資料相同變異係數。
  # p-value < 0.05H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4不成立資料不同變異係數。

第四步: 檢查四組資料是否為相同變異數(H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4)方法二。
動作1: 安裝cvequality程式套件。
動作2: 呼叫cvequality程式套件備用。
  library(cvequality)
動作3: 閱讀cvequality程式套件中mslr_test函數的使用說明。
  help(mslr_test)
動作4: 使用cvequality程式套件中mslr_test函數代入dat中資料。
  mslr_test(nr = 1000, Values, Char)
  # nr = 1000 number of simulation runs
動作5: 判讀結果。
     $MSLRT
[1] 3.236204
$p_value
[1] 0.356621
  # p-value > 0.05H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4成立資料相同變異係數。
  # p-value < 0.05H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4不成立資料不同變異係數。

第五步: 檢查四組資料是否為相同變異數(H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4)方法三。
動作1: 安裝cvequality程式套件。
動作2: 呼叫cvequality程式套件備用。
  library(cvequality)
動作3: 閱讀cvequality程式套件中asymptotic_test2函數的使用說明。
  help(asymptotic_test2)
動作4: 計算k: 資料有幾組; n: 每組樣本數; s: 每組標準差; x: 每組平均值。
  m1 <- mean(d1)
  m2 <- mean(d2)
  m3 <- mean(d3)
  m4 <- mean(d4)
  m <- c(m1, m2, m3, m4)
  s1 <- sd(d1)
  s2 <- sd(d2)
  s3 <- sd(d3)
  s4 <- sd(d4)
  s <- c(s1, s2, s3, s4)
  n <- c(11, 11, 11, 11)
動作5: 使用cvequality程式套件中asymptotic_test2函數代入上述資料。
  asymptotic_test2(k = 4, n = n, s = s, x = m)
動作6: 判讀結果。
     $D_AD
[1] 3.436125
$p_value
[1] 0.3291414
  # p-value > 0.05H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4成立資料相同變異係數。
  # p-value < 0.05H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4不成立資料不同變異係數。

第六步: 檢查四組資料是否為相同變異數(H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4)方法四。
動作1: 安裝cvequality程式套件。
動作2: 呼叫cvequality程式套件備用。
  library(cvequality)
動作3: 閱讀cvequality程式套件中mslr_test2函數的使用說明。
  help(mslr_test2)
動作4: 計算k: 資料有幾組; n: 每組樣本數; s: 每組標準差; x: 每組平均值。
  m1 <- mean(d1)
  m2 <- mean(d2)
  m3 <- mean(d3)
  m4 <- mean(d4)
  m <- c(m1, m2, m3, m4)
  s1 <- sd(d1)
  s2 <- sd(d2)
  s3 <- sd(d3)
  s4 <- sd(d4)
  s <- c(s1, s2, s3, s4)
  n <- c(11, 11, 11, 11)
動作5: 使用cvequality程式套件中mslr_test2函數代入上述資料。
  mslr_test2(nr = 1000, n = n, x = m, s = s)
  # nr = 1000 number of simulation runs
動作6: 判讀結果。
     $MSLRT
[1] 3.197255
$p_value
[1] 0.3622008
  # p-value > 0.05H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4成立資料相同變異係數。
  # p-value < 0.05H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4不成立資料不同變異係數。

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

單因子多樣本中位數差異檢定 (Kruskal-Wallis test)