比較兩組直線回歸方程式 (Comparing Two Simple Linear Regression Equations)

套路42: 比較兩組直線回歸方程式
(Comparing Two Simple Linear Regression Equations)

1. 使用時機: 比較兩組直線回歸方程式統計上是否有顯著差異。
2. 分析類型: 母數分析(parametric analysis)
3. 範例資料: 咪路測量兩組動物體溫(°C)與脈搏資料如下:
體溫1
20.8
20.8
24
24
24
24
26.2
26.2
26.2
26.2
28.4
29
30.4
30.4
脈搏1
67.9
65.1
77.3
78.7
79.4
80.4
85.8
86.6
87.5
89.1
92.6
94.8
96.3
99.7
體溫2
17.2
18.3
18.3
18.9
18.9
20.4
21
21
22.1
23.5
24.2
25.9
26.5
29.6
脈搏2
44.3
47.2
47.6
49.6
50.3
51.8
56.5
58.9
60
63.7
69.8
72.9
77
84
4. 輸入建立資料:
第一步: 使用基本模組(base)read.table函數輸入建立資料儲存到變數dat
dat <- read.table(header = T, text = "
Species Temp Pulse
ex 20.8 67.9
ex 20.8 65.1
ex 24 77.3
ex 24 78.7
ex 24 79.4
ex 24 80.4
ex 26.2 85.8
ex 26.2 86.6
ex 26.2 87.5
ex 26.2 89.1
ex 28.4 92.6
ex 29 94.8
ex 30.4 96.3
ex 30.4 99.7
niv 17.2 44.3
niv 18.3 47.2
niv 18.3 47.6
niv 18.9 49.6
niv 18.9 50.3
niv 20.4 51.8
niv 21 56.5
niv 21 58.9
niv 22.1 60
niv 23.5 63.7
niv 24.2 69.8
niv 25.9 72.9
niv 26.5 77
niv 29.6 84")  # SpeciesTempPulse資料以空白分隔
第二步: 使用基本模組(base)attachnames函數賦予dat中的資料名稱(標題)
  attach(dat)  # R能透過變數名稱搜尋資料。
  names(dat)  # 賦予資料名稱(標題)

5. 畫圖看資料分佈:
: 安裝ggplot2程式套件。
第二步: 呼叫ggplot2備用
  library(ggplot2)
第三步: 使用ggplot2程式套件的函數ggplot代入dat資料x-y散佈圖及回歸線
  ggplot(dat, aes(x = Temp, y = Pulse, color = Species, shape = Species)) +
    geom_point() +   # x-y散佈圖
    geom_smooth(method = lm, fullrange = TRUE)  # 畫回歸線95%信賴區間。
# 灰色區域為95%信賴區間
6. 使用R比較兩回歸方程式統計上是否有差別:
: 安裝car程式套件。
第二步: 呼叫car備用
  library(car)
第三步: 使用基本模組(base)lm函數計算回歸模型1
  model1 <- lm(Pulse ~ Temp * Species, data = dat)
第四步: 使用car程式套件的Anova函數計算並顯示結果
  Anova(model1, type = "II")
第五步: 判讀model1結果
Anova Table (Type II tests)
Response: Pulse
                 Sum Sq Df   F value    Pr(>F)   
Temp         3275.6  1 1165.5187 < 2.2e-16 ***
Species       719.9  1  256.1441 2.625e-14 ***
Temp:Species    0.4  1    0.1538    0.6984   
Residuals      67.5 24                       
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
  # H0: b1 = b2HA: b1b2
  # Temp:SpeciesPr < 0.05H0: b1 = b2不成立。
  # Temp:SpeciesPr > 0.05H0: b1 = b2成立。
第六步: 使用基本模組(base)lm函數計算回歸模型2
  model2 <- lm(Pulse ~ Temp + Species, data = dat)
第七步: 使用car程式套件的Anova函數計算並顯示結果
  Anova(model2, type = "II")
第八步: 判讀model2結果
Anova Table (Type II tests)
Response: Pulse
          Sum Sq Df F value    Pr(>F)   
Temp      3275.6  1 1206.35 < 2.2e-16 ***
Species    719.9  1  265.12 8.105e-15 ***
Residuals   67.9 25                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
  # H0: 兩條線截距(elevation)相同,HA: 兩條線截距(elevation)不相同。
  # 類別變數(Species)Pr < 0.05H0: 兩條線截距(elevation)相同,不成立。
  # 類別變數(Species)Pr > 0.05H0: 兩條線截距(elevation)相同,成立。

來勁了嗎? 想知道更多?? 補充資料(連結):
1. 關於Simple linear regression (https://en.wikipedia.org/wiki/Simple_linear_regression)
4. 關於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
5. Zar, JH. 2010. Biostatistical Analysis, Fifth Edition, Pearson.

留言

這個網誌中的熱門文章

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

如何選擇統計方法 1

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