You are on page 1of 141

生物統計學課程

JMP 統計軟體
上機手冊

何佩珊 楊奕馨 編寫
高雄醫學大學 口腔衛生學系
February, 2011
版權所有 請勿翻印

(本教材獲得 96 學年度優良教材成果奬)
作者介紹
何佩珊

• 97 學年度教學優良教師

• 現任高雄醫學大學口腔衛生學系副教授

• 高雄醫學大學牙醫學研究所理學博士

• 高雄醫學大學公共衛生研究所理學碩士

• 高雄醫學大學公共衛生學系畢業

楊奕馨

• 93 及 94 學年度高雄醫學大學教學優良教師

• 現任高雄醫學大學口腔衛生學系副教授

• 現任高雄醫學大學附設中和醫院臨床醫學研究部

統計分析室主任

• 美國北卡羅萊納大學教堂山分校生物統計學博士

• 美國北卡羅萊納大學教堂山分校生物統計學碩士

• 清華大學數學系畢業

本手冊中之參考資料:

1. Rosner, Fundamentals of Biostatistics 5th Edition


2. 楊奕馨,生物統計課堂講義

1
目 錄
進入 JMP 軟體操作介面……………………………………………………4
開啟資料檔案…….…………………………………………………………6
JMP 的基本功能…………………………………………………………….9
單變數的基本統計量………………………………………………………12
類別變項之進階分析………………………………………………………15
數值變項之進階分析………………………………………………………16
建立一新的變數及內建公式之使用………………………………………17
單樣本 t 檢定…………………………..…………………………….…….….25
配對 t 檢定………………………………………………..….……………… 27
雙樣本 t 檢定……………………………………………..….……………… 29
變異數分析…………………………………………………………………34
變異數分析事後檢定………………………………………………………36
無母數分析 Wilcoxon Signed-Rank Test……..……….………………38
無母數分析 Wilcoxon Rank Sum Test…………..………….…………39
無母數分析 Kruskal-Wallis Test ………………..………………………39
無母數分析 Spearman Rank Correlation ……….……………………40
卡方檢定….…………………………………………………………………42
Goodness of Fit…..….……………………………………………………48
Chi-square test for trend….…….………………………………………51
相關係數….…………………………………………………………………53
簡單迴歸分析….……………………………………………………………55
估計樣本數的功能.…………………………………………………………57
儲存操作過程及分析結果………………………..…………………………59
將分析結果轉貼到 Excel 或 Word………………………………………..63
檔案合併……………………………………………………………………..65
General Linear Models……………………………….………………….70
線性迴歸分析………………….……………………………………………81
製作 Dummy variables……………………………………………………86

2
製作 Centering variables……………..…………………………………90
製作 Interaction Terms……………………………………………………92
線性迴歸變項篩選步驟………………………………………………………95
線性迴歸診斷…………………………………………………….………...109
邏輯斯迴歸分析……………………….…………………………….………121
邏輯斯迴歸診斷…………………………………………………….………126
Logistic Regression Stepwise Selection…..………………….………130
Survival Analysis…………………………..…..……………….….………134

3
進入 JMP 軟體操作介面

由桌面上的 icon 進入 JMP 操作介面

新開啟一個空白
的 JMP 資料檔

開啟一個已存在的 JMP data file


或者其他格式的資料檔

新開啟一個空白的 JMP 資料檔、


程式檔、結果儲存畫面

開啟一個已存在的檔案,包括
資料檔、程式檔、結果檔

常用之 JMP 檔案格式:


資料檔(*.JMP)
程式檔(*.JSL)
結果檔(*.JRN)

4
JMP 操作手冊
<Help>→<Books>

5
開啟資料檔

開啟 JMP 資料檔案
範例檔案: typing data.JMP
檔案儲存位置 c:\Program files\SAS\JMP\8\Support files English\sample data

Opening and Creating Data Tables and Text

6
JMP 可開啟之
資料檔格式

變項名稱

資料筆數

變項性質(測量尺度)

7
開啟 Excel 資料檔案
範例檔案: Hospital.xls
檔案儲存位置 d:\rosner\excel

<File> → <Open> →<d:\>→ <rosner> →


<excel> → 在[檔案類型]中點選 Excel files
(*.xls)的檔案格式 → 點選 hospital.xls

於<檔案類型>選擇檔案格式
出現符合檔案類性的所有檔案。

將 XLS 檔案第一個欄位設為變項名稱, 選<Best Guess>或<Always>,


不要選擇<Never>

8
JMP 的基本功能
增加欄位-一個新欄位
z <Cols>→<New Column>-增加一新欄位於最後一個變項之後 (在最後一個欄位後快點
滑鼠作鍵兩下)

輸入新變項名稱

輸入資料之型態
Numeric: 數字
Character: 字元

變項之性質
Continuous: 連續
輸入之起始值 Ordinal: 序位
輸入資料之呈現格式
Nominal: 類別

9
增加欄位-數個新欄位
<Cols>→<Add Multiple Columns>-增加數個新欄位, 並可指定新欄位位置

輸入新變項名稱

增加欄位數

指定新欄位位置

10
修改已建好之變項屬性

至欲修改的欄位上方,快點滑鼠
左鍵兩下,即可進入修改畫面

若只修改變項屬性,
亦可直接在此修改

11
單變數的基本統計量
範例檔案: typing data.JMP

<Analyze> → <Distribution>

將 brand 及 speed 點選入


[Y, columns] → [OK]

12
連續變項之基本統
計量型式
類別及序位變項之
基本統計量型式

結果顯示 個數 對應之機率(通常改成以百分比呈現)
Distributions
Brand
Frequencies
Level Count Prob 說明:
REGAL 8 0.47059 打字機品牌有三種,
SPEEDYTYPE 5 0.29412 Regal 有 8 個樣本, 佔全部樣本的 47.059%
WORD-O-MATIC 4 0.23529 Speedtype 有 5 個樣本, 佔全部樣本的 29.412%
Total 17 1.00000 Word-O-Matic 有 4 個樣本, 佔全部樣本的 23.529%
N Missing 0

3 Levels

修改 prob 呈現的格式(將箭號移
至 prob 位置,快點滑鼠兩下,
即可進行修改)

13
speed
Quantiles
100.0% maximum 87.000
99.5% 87.000 各百分
97.5% 87.000
90.0% 82.200
位數所
75.0% quartile 78.000 在位置
50.0% median 72.000
25.0% quartile 67.000
10.0% 61.800
2.5% 61.000
0.5% 61.000
0.0% minimum 61.000

Moments
Mean 72.47059
Std Dev 7.00105 平均值的 95%信賴區間
Std Err Mean 1.69800
upper 95% Mean 76.07018
lower 95% Mean 68.87100
N 17.00000

結論:
17 個打字機樣本之打字速度
平均值為 72.47059
標準差為 7.00105
標準誤為 1.69800
平均值的 95%信賴區間為
(68.87100, 76.07018)

14
類別變項之進階分析

在執行結果視窗,左上方第二個紅
色倒三角形(即 brand 前的倒三角形)
選<Confidence Interval>,
計算百分比的信賴區間

說明(以 Regal 為例)


Regal 有 8 個樣本, 佔全部樣本的
47.059%, 此比例的 95%信賴區間
為(26.1651%, 69.0368%)

15
數值變項之進階分析
檢查特異值(outliers)及常態分布(用於迴歸診斷)

壓 speed 前之倒三角形即可出現選擇
畫面

自動顯示, 可用於偵測特異值

選<continuous fit >,再按紅色三角


形選擇<normal>,即可顯示常態分
布的母數

由選項中選擇<Goodness
of Fit >進行是否符合常態
分布之統計檢定

顯示常態分布平均值級標準差之估計值,
但未提供常態分布之統計檢定, 欲進行檢
定需按<Fitted Normal>前之倒紅色三角形
顯示出選項

P=0.9214>0.05,未違反常態分布
即此分布符合常態分布

16
建立一新的變數及內建公式之使用
數值型之原始變項重新分組-
以 C:\rosner\Hospital.xls 為練習

請先在 JMP 中製作一新的變數 agegroup,將 age 由連續性變項變成分層


的序位變項, 新變項名稱為 agegroup,
其中如果 age=0-29(即 0<age<=29)則 agegroup=1,
如果 age=30-49(即 29<age<=49)則 agegroup=2,
如果 age=50+(即 50<=age) 則 agegroup=3。

點選[Cols]後, 再選[New Column]

先修改變項名稱
在[Column Name]中輸
入 agegroup

修改變項之性質
在[Modeling Type],將變項之
測量尺度改為[Nominal]

輸入變項產生公式
點選[Column Properties]中的
[Formula]

點選[Edit Formula]

17
功能選項

變項選擇列

開始輸入公式

請注意: 紅色框框代表正在處理之空格

箭頭左邊: 舊變項條件
箭頭右邊: 對應之新變項結果

18
變項名稱必須由上面的變項列選取

19
因有 3 個分組條件因此需
要再多產生一個分層

多產生的一個分層

20
點選 [Apply] 及 [OK] [OK] (兩次) 即完成!

結果:

檢查新變項分組與原
始變項是否符合

21
字元型之原始變項重新分組-
範例: c:\Program files\SAS\JMP\8\Support files English\sample data 的<Hot dogs>
先建立一新變數 Type1,將原始變數 Type 重新分組,

Type=Beef then type1=1

Type=Meat then type1=2

Type=Poultry then type1=2

先新增一個<New Column>

新欄位性質設定
欄位名稱: type1
Data type: 數值型
Modeling type: 類別

輸入變項產生公式
點選[New Property]中
的[Formula]

22
23
變項名稱必須由上面的變項列選取

注意:
內容大小寫及格式必須與 Key in 的資料
一模一樣,且因為輸入字元格式,因此

在前後必須加上’ ” ‘,才能被辨識

點選 [Apply] 及 [OK] [OK] (兩次) 即完成!

結果

24
單樣本 t 檢定(one sample t-test)
適用時機: 一組樣本平均值與一平均值母數之比較
範例: c:\Program files\SAS\JMP\8\Support files English\sample data
中之 typing data.JMP
欲檢定此樣本中 speed 平均值是否等於平均值母數 70。

先針對 speed 這個變項進行基本統計量的計算,操作步驟請參照 P9 單變項基本統計


量,基本統計量結果出現後再按 speed 前之倒三角形,由選項中選擇<Test Mean>

輸入欲評估之平均值母數值(μ),
在本例題平均值母數為 70
Ho: μ=70
H1: μ≠70
輸入檢定值(μ)70

如果知道母全體的標
準差,則可在此輸入標
準差,JMP 就會自動計
算單樣本 z 檢定。

勾選 Wilcoxon Sign-Rank 順便計


算無母數分析,
25 (有需要作無母數分析時才用)
μ = 70
x = 72.4706 SD=7.00105
df = 16

無母數部分的統計結果, 若在
上個步驟有勾選’Wilcoxon
Signed Rank Test’才會出現

結論:
雙尾 t-test 的 t 值為 1.4550
p 值為 0.1650
樣本中 speed 的 df 值為 16,SD 值為 7.00105,
平均值 72.470,並無不同於平均值的母數 70

26
配對 t 檢定(Paired t-test)
適用時機: 兩組相依樣本平均值之比較
範例: c:\Program files\SAS\JMP\8\Support files English\sample data
中之 Cholesterol.JMP
檢定 April AM 與 April PM 是否有差異

使用<analysis>→<Matched Paris>

將欲比較的兩個變項選取, 按壓 將
變項選入右邊準備分析的欄位, 之後再按<ok>

27
結果

結果:
t 值為 16.53
雙尾 t-test 的 P 值為<0.0001
單尾 t-test 的 P 值為<0.0001
結論: 此樣本中 diff 的平均值=3.92(SE=0.24),df=19,
t 值為 16.53,P 值為<0.0001
平均值 3.92 不同於前後測差值平均值的母數 0

故由本研究結果認為 April PM 與 April AM 的 Cholesterol 值不同。


且 April PM 的 Cholesterol 值顯著高於 April AM 的 Cholesterol 值, 兩者差
異具有統計上顯著意義

28
雙樣本 t 檢定(two sample t-test)
適用時機: 兩組樣本平均值之比較
範例: c:\Program files\SAS\JMP\8\Support files English\sample data
中之 Big Class.JMP
欲檢定此樣本中不同性別的平均身高是否相同。

使用<Analyze> → <Fit Y by X> 將 height 選為


Y 變項(數值性變項)

將 sex 選入 X 變項
(X 變項為兩個項目的類
別變項)

點選<OK>

29
點選倒紅色三角形處繼續出現選項

首先須先針對兩組變異數是否相等進行評估
判斷兩組母群體之變異數為equal或是unequal?

點選倒紅色三角形處繼續出現選項
點選<UnEqual Variances>

Levene 檢定的 P-value=0.5458 >0.05


表示兩組母群體變異數相等
若 Levene 的 p-value<0.05
表示兩組母群體變異數不相等

30
兩組母群體變異數相等

點選倒紅色三角形處繼續出現選項

進行變異數相等的雙樣本 t 檢定

結果顯示
當兩樣本來自母群體變異數相等的
假設成立下
2 sample t-test 檢定結果,
Equal variance
t=-2.365717, df=38, p-value=0.0230

結論: 不同性別平均身高並不相同

31
兩組母群體變異數不相等

前述 Unequal variance 檢定結果中, 下方有”Welch’s test” 即針對兩組母群體

變異數不相等所進行的雙樣本 T 檢定的結果

兩組變異數為不相等(unequal variances)時, 以
此檢定結果較合適。
2 sample t-test 檢定結果,
Unequal variance
t=2.4115, df=37.967, p-value=0.0208
結論: 不同性別平均身高並不相同

32
計算兩組樣本之平均值及標準差

點選倒紅色三角形處, 出現選項
點選<Means and Std Dev>

整體結論:
此兩組樣本平均值及標準差分別為
男性: 平均值=63.91 標準差=4.31
女性: 平均值=60.89 標準差=3.61
以雙樣本 t 檢定(Equal Variances)發現
t=-2.368717, df=38, p-value=0.0230
因 P 值<0.05 故認為男女性的平均身高是不相同的

33
變異數分析(Analysis of Variance)
適用時機: 兩組以上樣本平均值之比較
範例: c:\Program files\SAS\JMP\8\Support files English\sample data
中之 Typing Data.JMP
欲檢定此樣本中不同品牌打字機的平均速度是否相同。

使用<Analyze> → <Fit Y by X>

Y 變項為數值性變項

分三個以上項目的類別變項

點選<OK>

點選左上方紅色倒三角形出現選項
點選 Means/Anova

34
計算各組樣本之平均值及標準差

點選倒紅色三角形處, 出現選項
點選<Means and Std Dev>

結果顯示
F 值: 14.5027
df: (2,14)
P 值: 0.0004

各組之平均值及標準差

結論:
此三組樣本平均值及標準差分別為
Regal: 平均值=70.2500 標準差=2.31455
Speedytype: 平均值=80.8000 標準差=3.76829
Word-O-Matic: 平均值=66.5000 標準差=7.32575

以 ANOVA 檢定發現
F 值: 14.5027 df: (2,14) P 值: 0.0004
因 P 值<0.05, 故認為不同品牌打字機平均速度是不相同的

35
變異數分析事後檢定
適用時機: 當 ANOVA 的結果為拒絕虛無假說時, 需進行事後檢定

點選左上方紅色倒三角形出
現選項, 點選
<Compare Means>→
<All Pairs, Tukey HSD>

兩兩比較的結果, 出現正值表示此兩
組平均值差異有統計上顯著意義
所以在此例題中
REGAL VS SPEEDTYPE
WORD-O-MATIC VS SPEEDTYPE
有統計上顯著差異

事後檢定描素:
REGAL 組與 SPEEDTYPE 組之間有統計上顯著差異

(REGAL 平均值<SPEEDTYPE 平均值)

WORD-O-MATIC 與 SPEEDTYPE 有統計上顯著差異

(WORD-O-MATIC 平均值<SPEEDTYPE 平均值)

36
檢定是否符合ANOVA的先前假設之各組變異數需相等
在變異數分析中,不一定要進行各組變異數的檢定,雖然變異數分析的基本假設為各

組的變異數要相等,但因為變異數分析為一較穩定的統計方法,即使各組的變異數不相

同,並不會對原本的分析結果造成多大的差異。

點選倒紅色三角形處繼續出
現選項
點選<UnEqual Variances>

Levene 檢定的 P-value=0.1064 >=0.05


各組變異數相等, 因此未違反 ANOVA 的
假設前提。

37
無母數分析(Nonparametric Analysis)
Wilcoxon Signed-Rank Test (for paired data)
適用時機: 兩組相依樣本平均值之比較, 但樣本數較少, 不適用有母數統計分析時
範例: 欲評估服用口服避孕藥對收縮壓之影響, 針對收集 10 名婦女未服用口服避孕藥前
及服藥一段時間後的收縮壓進行評估, 資料如下, 請評估服用口服避孕藥是否會
影響血壓?(請參照講義 P25, 配對 t 檢定)

操作步驟: 參照講義 P26 配對 t 檢定之操作過程


先建立新變項, 將前後測差值算出 → <analyze> → <distribution> (選擇一
數值變項)→點選 diff 前倒紅色三角形 →選 test mean→<Specify
Hypothesized Mean>設成 0 且勾選 Wilcoxon Signed Rank→OK

<Specify Hypothesized Mean>設成 0


且勾選 Wilcoxon Signed Rank

無母數分析結果
t 值=24.00
雙尾 t-test 的 P 值為 0.0117
單尾 t-test 的 P 值為 0.0059
結論:
t 值=24.00,P 值為 0.0117,因 P 值<0.05
故本研究結果認為服用口服避孕藥會影響收縮壓。
且服用口服避孕藥後的收縮壓顯著的高於未服用口
服避孕藥的收縮壓38 , 兩者差異具有統計上顯著意義
Wilcoxon Rank Sum Test (for 2 sample comparison) –Two-sample t test
Kruskal-Wallis Test (for 3 or more sample comparison) – Anova
適用時機: 兩組及兩組以上樣本平均值比較, 但樣本數較少, 不適用有母數統計分析時
範例: c:\Program files\SAS\JMP\8\Support files English\sample data
之 Big Class.JMP
欲檢定此樣本中不同性別的平均身高是否相同。

操作步驟: 參照講義 P30 雙樣本 t 檢定之操作過程


<analyze> → <fit y by x> (選擇一數值變項設為 y 及一類別變項設為 x) →點
選倒紅色三角形 →選 Nonparametric → 選 Wilcoxon test

選 Wilcoxon test

結論:
Wilcoxon Rank Sum Test 的結果
Z 值=-2.53751
P 值=0.0112

因 P 值<0.05 故認為男女性的平
均身高是不相同的

39
Spearman Rank Correlation (estimation)
適用時機: 檢定兩個序位變項(或兩變項中有一變項為序位測量尺度)之相關性
範例: c:\Program files\SAS\JMP\8\Support files English\sample data
中之 Big Class.JMP
欲檢定此樣本中身高與體重的相關性

操作步驟:
<analyze>→<multivariable Methods multivariate>→點選第一個倒紅色三角
形 →<nonparametric correlations>→<Spearman’s Rho> →OK

將<height>及<weight>
選入變項中

40
點選在第一個倒紅色三角形 →
選<Nonparametric Correlations>→
選<Spearman’s ρ>

結論:
Spearman’s 相關係數=0.6530
P value<0.0001

身高與體重呈現正相關
即身高愈高者體重有愈重

41
卡方檢定(chi-square tst)
適用時機: 檢定兩個類別變項是否有相關
範例: C:\rosner\Hospital.xls
欲比較使用抗生素與否(Antibio 1:是 2:否)是不是會影響住院時間(Dur_stay)的長
短, 在本範例中請將住院天數製作新變項 Dur1(if Dur_stay<=5 then Dur1=1,
if 5<Dur_stay<10 then Dur1=2, if Dur_stay>=10 then Dur1=3)

重新分組公式, 操作步驟請參照講義 P14<建立一新的變數及內建公式之使用>

先將 Antio 設定成類別變項
將 Dur1 設定成序位變項

42
使用<Analyze> → <Fit Y by X>

將 Antibio 放入 X 變項
dur1 放入 Y 變項
再按<OK>
(可試試兩變項擺放位置
互換結果如何)

結果

在此表格中擷取每一個 cell 中
的 count 及 Col %(Row%)放入
報告的表格中

卡方檢定結果,
卡方值為 1.9901,自由度為 2,
P 值為 0.3698
結論: 住院天數長短不受有否使用
抗生素的影響

43
卡方檢定結果呈現之表格型式
使用抗生素是否會影響住院時間
N(%) 住院時間
抗生素 <=5 天 5-10 天 10 天以上 P value
是 1(14.29) 3(42.86) 3(42.86) 0.3698
否 8(44.44) 5(27.78) 5(27.78)

卡方檢定結果描述:
有使用抗生素:
住院天數<=5 天的共 1 位,佔抗生素使用者比例為 14.29%
住院天數 5-10 天的共 3 位,佔抗生素使用者比例為 42.86%
住院天數 10 天以上的共 3 位,佔抗生素使用者比例為 42.86%
無使用抗生素:
住院天數<=5 天的共 8 位,佔非抗生素使用者比例為 44.44%
住院天數 5-10 天的共 5 位,佔非抗生素使用者比例為 27.78%
住院天數 10 天以上的共 5 位,佔非抗生素使用者比例為 27.78%

卡方值為 1.9901,自由度為 2,P 值為 0.3698


結論: 住院天數長短不受有否使用抗生素的影響

44
卡方檢定二
適用時機: 針對已知表格作卡方檢定或 Fisher’s Exact 檢定
範例: 收集 60 名死亡個案, 發現其中有 25 名個案死因為非心血管疾病(Non-CVD), 其中
有 2 名飲食習慣為高鹽攝取(high salt), 23 名為低鹽攝取; 35 名個案死因為心血管疾
病(CVD), 其中有 5 名飲食習慣為高鹽攝取(high salt), 30 名為低鹽攝取, 如下表,
請問飲食習慣是否與死亡原因有關。

Type of diet

Cause of death High salt Low salt Total

Non-CVD 2 23 25

CVD 5 30 35

Total 7 53 60

先在 JMP 中建立一個新空白資料檔

由 Cols 及 Rows 增加一工作表有 3 個變


項,及 4 筆資料(因為有 4 個格子),依圖
示輸入資料及修改變數型態。

45
先將資料建立

Count 代表每一組
的人數, 因此需
另指定性質

注意變項性質

先將 count 變項選取起來

針對 count 變數將其設定為 Freq


<Cols> → <Preselect Role> →
<Freq>

顯示出對 count 的設定為 Freq

46
繼續進行統計分析

輸入完後即依照卡方檢定的操作作檢定
<analysis> → <Fit Y by X> →

分別將 type 及 cause 選入


Y 和 X 變項

Count 會自動被放入
<freq>

卡方檢定結果,
卡方值為 0.559,自由度為 1,
P 值為 0.4546
結論: 飲食習慣並不影響死亡原因

47
Goodness of Fit
適用時機: 檢定變項資料分布是否符合某種比例
範例: 擲一個骰子 600 次,得到各面的點數分別如下,是問此骰子是否為一
個公平之骰子

1 2 3 4 5 6
150 50 125 110 75 90

首先,先將骰子的點數及出現次數輸入新開的檔案中,

選取 freq 變項,由<Cols>→<Preselect Role>→<Freq>,將變項宣告為出現次數

48
統計分析, 先進行單變項的基本統計量,
<Analysis>→<Distribution>將 Point 選入 Y 變項→<OK>

將 point 選入 Y 變項
freq 會自動被放入<freq>

再按<OK>

結果出現後, 按壓 point 前之倒三角形出現選項, 選擇<Test Probabilities>

49
輸入預期出現之骰子期望值,可輸入各點之樣本數或機率,
再按<Done>,即可出現結果

結果顯示

卡方檢定結果,
卡方值為 64.5000,自由度為 5,P 值為<0.0001
結論 : 各點數的分布並不相等 , 因此此骰子不
是一個公平之骰子

50
Chi-square test for trend
適用時機: 檢定序位變項的特質是否存在趨勢關係, 如國中生的吸菸率是否會隨年級增
加而增加
範例: C:\rosner\Hospital.xls
欲比較住院時間(Dur1)的延長是否會導致抗生素的使用(Antibio 1:是 2:否), 在本
範例中請將住院天數製作新變項 Dur1(if Dur_stay<=5 then Dur1=1,
if 5<Dur_stay<10 then Dur1=2, if Dur_stay>=10 then Dur1=3)

先進行重新分組, 公式及操作步驟請參照講義 P41

因為 Chi-square test for trend 在 JMP 中需借用 Wilcoxon


Rank Sum Test(無母數分析)的功能,
所以要將序位變項(dur1)改為數值型態

進行統計分析, Wilcoxon Rank Sum Test 操作步驟請參照講義 P40


使用 Analyze → Fit Y by X

將 dur1 點選入 [Y,


Response] →將
Antibio 點選入 [X,
Factor] → [OK]

51
按左上方紅色倒三角形點
選<Nonparametric>→
<Wilcoxon Test>

Chi-square test for trend 的結果


卡方值:=1.4871 df=1 P 值=0.2227
結論:延長住院期間並未有增加抗生素使用的趨勢

52
相關係數 Correlation Coefficient
適用時機: 檢定兩個連續變項之相關性
範例: C:\rosner\Hospital.xls
檢定此樣本中住院天數(Dur_stay), 年齡(age), 體溫(Temp), 白血球數(WBC)等變
項間之相關性

使用<Analyze> → <Multivariate
Method> → <Multivariate>,

再將要算相關係數的
數值性變數點選入
[Y, Columns] →
[OK]

53
結果出現後在按左上方紅色倒三角
形, 點選<Pairwise Correlations>

相關係數 P值

結果:
Age 與 Dur_stay 相關係數:0.3635 P 值=0.0741
Temp 與 Dur_stay 相關係數:0.1978 P 值=0.3433
Temp 與 Age 相關係數:-0.3817 P 值=0.0597
WBC 與 Dur_stay 相關係數:-0.0468 P 值=0.8243
WBC 與 Age 相關係數:-0.3698 P 值=0.0692
WBC 與 Temp 相關係數:0.4235 P 值=0.0349

結論:
白血球數(WBC)與體溫(Temp)呈現正相關, 相關
係數為 0.4235

54
簡單線性迴歸 Simple Linear Regression
適用時機: 欲評估自變項(連續變項)對依變項(連續變項)的影響程度, 由自變項預測依
變項的變化狀況
範例: C:\rosner\Hospital.xls
請評估年齡(Age)對住院天數(Dur_stay)的影響

使用 Analyze → Fit Y by X 後

將數值變項 Dur_stay 點
選入 <Y, Response> →將
數值性變項 Age 點選入
<X, Factor> → [OK]

結果出現後按壓左上方紅色倒三角
形, 出現選項點選<Fit Line>

55
簡單線性迴歸線

R2=13.21%
意義: 自變數(Age)解釋了 13.2%
應變數(Dur_stay)的變異量

迴歸係數
迴歸係數的 P 值

結果: Age 的迴歸係數為 0.1033555


t 值為 1.87
P 值為 0.0741
常數為 4.3374171
t 值為 1.72
P 值為 0.0991

結論: Agey 增加一單位, 住院天數會增加 0.103355 單位


但 P 值在邊緣顯著水準(borderline significantly)

56
估計樣本數的功能
在<DOE>中選擇<Sample Size, Power>

可以選擇各種狀況的樣本數估計, 依研究設計選定相符之狀況進入樣本數估計

57
以雙樣本(Two Sample Means)為例,由先前研究估計得知標準差 17、兩組平均值差 5.4
及 power 為 0.80

若 pilot study 中, 兩組平均值的標


準差不同則以 pooled SD 輸入

Key 完後,按<Continue>

結果
兩組樣本數共需 314 人
每組約 157 人

58
儲存操作過程及分析結果
將講義 P29-33 的範例操作過程儲存下來, 儲存前需先將所有過程操作一遍。

儲存操作過程-[Save to Data table]


特點:自動程式會跟著資料檔
所有操作過程完成後, 點選左上方紅色倒三角形, 由選項中選取<Script>→<Save Script
to Data table>,將操作過程儲存於資料中,下一次開啟資料檔,可在左上方適當的項目下
執行[Run Script]

回到 Data Table 資料畫面

Two sample T -test 的執行過程儲存於此

要重新分析資料,只要在資料檔中,找到要分
析之方式,按「Run Script」
,即可重新分析資料。

59
儲存操作過程-[Save to script window]
特點: 自動程式獨立存在,只要變數名稱相同皆可執行

所有操作過程完成後, 點選左上方紅色倒三角形, 由選項中選取<Script> →<Save Script


to script window>,將操作過程儲存於一程式編輯視窗中(Script Journal),且可將同一檔
案所有操作過程皆存於同一程式編輯視窗中

目前存了 Two sample


T -test 的操作過程

60
所有操作過程執行完畢後,分別儲存於程式編輯視窗中,之後再以另存新檔的方式儲存

自行命名,此類檔案
的副檔名為*.JSL

下次要執行時,只要先將資料檔案叫出,再打開*.JSL 檔案,即可將程式叫出,若要執

行則按工具列中的 即可

61
將分析結果另存新檔
先找到 <Edit> 再選擇<Journal>,分析結果即便成另一檔案畫面

將分析結果進行<Journal>程序後, 結果即被放到另一<Journal 視窗>, 再選擇儲存檔案


<Save>或<Save as>,輸入檔案名稱,再按<儲存>即可將分析結果存成副檔名為*.JRN
的檔案

在此重新命名*.JRN

62
將分析結果轉貼到 Excel 或 Word
範例: 以 c:\Program files\SAS\JMP\8\Support files English\sample data 中的
typing data.JMP 為例, 請將講義 P8 針對 brand 的單變項基礎統計量執行結果轉
貼到 Excel 及 Word
執行步驟: 先將游標由箭號轉換成十字→選定要選取的範圍→再選擇<Copy>
→開 Word(Excel)的軟體→在 Word(Excel)視窗中選擇<貼上>

點選此處, 將游標由箭號轉換成十字

點選滑鼠左鍵, 選定要選取的範圍

選擇<Copy>, 複製選取的範圍

63
貼到 Word 軟體

貼到 Excel

64
檔案合併
上下合併(Concatenate)
範例: 將兩個檔案 smoke1a 及 smoke1b(位於 C:\rosner\)進行上下合併的動作

操作步驟:
首先, 將欲合併的兩檔案打開,smoke1a 及 smoke1b

在 smoke1a(smoke1b)檔案中執行<Table>→<Concatenate>

65
選擇 Smoke1b(Smoke1a),按<Add>加 原先已存在的檔案名稱
到 smole1a(Smoke1b)之下,完成後再按
<OK>

結果,合併後的檔案會出現在一個新的 Data file 中,可另存新檔

66
左右合併(Merge)
範例: 將兩個檔案 smoke2a 及 smoke2b(位於 C:\rosner\)進行左右合併的動作, 要進行左
右合併之兩個檔案間, 必須有共同變項以供合併時進行比對

操作步驟:
首先, 將欲合併的兩檔案打開,smoke2a 及 smoke2b

在此兩個檔案中, ID 為
兩者共有的變項, 供作
合併配對之用

67
在 smoke2a 檔案中執行<Table>→<Join>

選擇欲合併的檔案

選擇配對條件, 通常選<By
Matching Column>,表示要
依一個共同變項進行合併

按<Match>將左邊選擇
的變項選入配對欄位

合併後若要去除重複
的資料, 在此勾選

在兩個檔案中選取欲配對的共同變項,
在此範例中 ID 為共同合併變項

以上步驟完成後, 再壓<OK>即可

68
結果,合併後的檔案會出現在一個新的 Data file 中,可另存新檔

69
General Linear Models
Two-way ANOVA
適用時機:當依變數為連續變數, 而要評估兩個類別自變數對依變數的影響時
範例:c:\Program files\SAS\JMP\8\Support files English\sample data 的<Hot dogs>
為例

進行多個 x 的分析
假設要分析 Type 和 Taste 對 Calories 的關係

使用 Analyze → Fit
Model 後,將 Calories
點選入 [Y] ,將 Type
及 Taste 用[Add]點選入
Construct Model
Effects → [Run
Model]

70
執行結果

71
增加 Interaction

要增加 Type×Taste,先點選[Construct Model Effects]中的 Type,再點選[Select


Column]中的 Taste 後,再點選[Cross]。

72
結果顯示

分析結果 ANOVA table

73
Model 中各變項事後兩兩比較
點選 Type 旁的倒紅色三角形

74
事後比較達顯著性差異者,會以紅色字顯示。

75
Model 中各變項事後特定項目比較

點選 Type 旁的倒
紅色三角形

若要比較 beef
vs poultry,點
選 beef 旁的+
及 poultry 旁的
-,後點選
[Done]

76
檢定結果,F=3.63,
df=(1, 45),
p-value=0.0630

77
增加 Nested Effect 變項
要增加 Type[Taste],先點選[Construct Model Effects]中的 Type,再點選[Select
Column]中的 Taste 後,再點選[Nest]。

增加 Random Effect 變項
要將 Type 設成 Random effect,先點選[Construct Model Effects]中的 Type,再點
選[Attributes]旁的紅色三角形後,再點選[Random Effect]。

78
ANCOVA
適用時機:當依變數為連續變數, 而要評估一個(數個)類別自變數對依變數的影響時, 須
將一個(數個)自變數對依變數的影響一並列入考慮
範例:c:\Program files\SAS\JMP\8\Support files English\sample data 的<Reading
Study>為例, 在考慮各受試者前側(pre1)分數後, 評估不同組別(group)的後測分數
(post1)是否不同

使用 Analyze → Fit Model 後,將 POST1 點選入


[Y] ,將 Group 及 PRE1 用[Add]點選入 Construct
Model Effects → [Run Model]

79
在調整前測分數(pre1)後, 各種
不同組別 post1 的平均分數

進行事後檢定, 點選倒紅色三角形,
選<LSMeans Tukey HSD>

在調整前測分數(pre1)後, Basal 的後測


分數(post1)顯著低於 DRTA 及 Strat,
DRTA 與 Strat 的後側分數則沒有差異

80
線性迴歸分析(Multiple regression)
單純執行迴歸分析
c:\Program files\SAS\JMP\8\Support files English\sample data
先叫出 sample data 中之 fitness.JMP 檔案

到 Fit Model

81
將 OXY 選入 Y 變項, Age, Weight, Runtime, Runpulse, Rstpulse, Maxpulse 選入
X 變項

結果顯示

82
Rsquare 解釋變異量
R2=84.74%
意義: 所有自變數解釋了
84.74%應變數(OXY)的變異量

檢定所有
的 X 變項
合起來對
Y 變項是
否據顯著
性相關

在此按滑鼠右鍵, 可選擇產生 95%CIs

83
迴歸係數 95%CI
迴歸係數 迴歸係數是否顯著

84
儲存所設定之迴歸模式

下次叫出檔案後使用Run Script即可執行

85
製作 Dummy variables
c:\Program files\SAS\JMP\8\Support files English\sample data
開啟 sample data 中之 Hot dags.JMP 檔案,

將 categorical variables 製作成為 dummy variables.

1. original variable Æ Type : Beef Meat Poulty

產生一新變項 Type_du1 及 Type_du2

Type=”Poulty” 則 Type_du1=0 Type_du2=0 → control group

Type=”Meat” 則 Type_du1=1 Type_du2=0

Type=”beef” 則 Type_du1=0 Type_du2=1

Cols →New Column→


<Column Name> 輸入
Type_du1 →
壓 Column Properties
→ 選 Formula

86
選 Conditional
中的 If

壓 Comparison
選 a==b → 壓左
邊的框變紅色後
→ 選 Type

87
壓等號右邊的框變紅色後
→ 壓<enter>鍵 → 輸
入”Meat” → 游標區點選右
上的 then clause 框 → 壓
<enter>鍵 → 輸入 1 →游
標區點選右下的 else clause
框 → 壓<enter>鍵 → 輸
入 0 → 壓 Apply → 壓 OK
→ 壓 OK 即完成

88
再以相同方法製作 Type_du2

89
製作 Centering variables
Center or Scale continuous variables, if necessary.
以 centering 的方式去除共線性

c:\Program files\SAS\JMP\8\Support files English\sample data


開啟 Sample data 中的<Fitness.JMP>
假設由變數 age 要設一個新的變數 c_age 且 c_age=age-48

48 為 age 平均值四捨五入後取的整數,亦
可取為 47,皆可達到去除共線性

Cols →New Column→ <Column Name>


輸入 c_age → 壓 Column Properties
→ 選 Formula →在 Tables Columns 選
age → 再點選減號”-“ → 壓左邊的框變
紅色後 →壓<enter>鍵 → 輸入 48 → 壓
Apply → 壓 OK → 壓 OK 即完成

90
91
製作 Interaction Term
c:\Program files\SAS\JMP\8\Support files English\sample data
開啟 Sample Data 下的 Big Class.JMP

製作一個新變項 Age_ht 代表 Age 與 Weight 的交互作用


(若要作交互作用的變項已有 centering,則要以已 centering 的變項製作新變項)

Cols →New Column→


<Column Name> 輸入
Age_ht→ 壓 Column
Properties → 選
Formula

92
分別點入<age> <*> <height>
壓 Apply → 壓 OK → 壓 OK
即完成

93
另一種製作 interaction term 的做法
盡量使用 Page13 製作 Interaction 的方法,因直接以 Cross 製作出之 Interaction term
會自動將變項 Centerd
c:\Program files\SAS\JMP\8\Support files English\sample data
開啟 Sample data 中的 Hot dogs.JMP
選<Analysis> <Fit model>,先將 Type 及 Taste <Add>到[Construct Model Effects],

增加 Type ×Taste 的 Interaction term


點選[Construct Model Effects]中的 Type,再點選左邊[Select Column]中的 Taste
後,再點選<Cross>。

94
線性迴歸變項篩選步驟

Procedure for Finding the Best Model in Multiple Regression


One Response Variable : y (continuous)
Several Predictors Variables : x1, x2, …, xp

Step 1: 先計算各變項的基本統計量
( Check the distribution of y, x1, x2, …, xp)
JMP: analyze→distribution→將變數選入 Y, columns 中→<OK>

Step 2: 整理 X 變項
Set categorical variables (nominal or ordinal) in x1, x2, …, xp
to dummy variables.
1. original variable Æ sex = 1(male), 2(female)
dummy variable Æ male = 1(male, 0(female)
2. original variable Æ educ = 1(elementary schools),
2(high school),
3(college).
dummy variables Æ educ2 = 1(high school), 0(others)
educ3 = 1(college), 0(others)

c:\Program files\SAS\JMP\8\Support files English\sample data


<開啟 Sample data 中的 Bigclass.JMP>
假設由變數 sex 要設一個男性的 dummy variable(male),

Cols →New Column


→ <Column Name>
輸入 Male → 壓
Column Properties
→ 選 Formula

95
選 Conditional 中
的 If

游標去點選左上的
expr 框 → 變紅色
後 → 壓
Comparison 選
a==b → 壓左邊的框
變紅色後 → 選 sex

96
壓等號右邊的框變紅色後 → 壓<enter>
鍵 → 輸入”M” → 游標區點選右上的
then clause 框 → 壓<enter>鍵 → 輸
入 1 →游標區點選右下的 else clause 框
→ 壓<enter>鍵 → 輸入 0 → 壓 Apply
→ 壓 OK → 壓 OK 即完成

97
Step 3: 決定並製作迴歸分析中所須之變項,

Interactions and Scaling variables


先將該 scaling 的變項製作完成,在增加必要的 interaction term
Determine maximum models (all of the variables in the analysis).
原則上 maximum model 所包含的變項數以不超過 n-1 個為原則,
n=sample size

Step 4: 計算所有變數間的相關係數
Compute Pearson correlation coefficientsamong x1, x2, …, xp, and with y.
Plot of y vs all x’s. Check special patterns. Process variables with
correlation >= 0.90.
JMP: analyze→multivariate→將變數選入 Y, columns 中→<OK>→左上方紅
色倒三角形選<pairwise correlation> (操作參考見 JMP 上機講義上冊)

Step 5: 共線性檢查
Check collinearity among x1, x2, …, xp. Remove variables with high
collinearity.
第一次使用 collinearity.jsl 檔案,需先在 Windows 底下將檔案拷貝到
c:\Program Files\SAS\JMP\8\Support Files English\Sample Scripts
中,以後每次要作共線性檢查需先將要作統計分析的資料檔案叫出,再由
\Sample Scripts 中叫出 collinearity.jsl 程式執行即可。
注意:如果資料檔沒有比 collinearity.jsl 程式先叫出來,則 collinearity.jsl
程式會無法執行!

98
File→Open→叫出 collinearity.jsl 程式→壓選上方小紅人→將變數選入 Factors→

99
以原始變項進行共線性分析結果

Conditional index>30

100
以 centering 後變項進行共線性分析結果

101
Step 6: 選擇重要 X 變項
Specify criteria for selecting a model (forward, backward, stepwise).

analyze→fit model → 將變數分別


選入 Y, response 及 X, factors 中

在 personality 中選 stepwise
→ run model

Personality
選好後,按
<run model>

102
先在<direction> 選
擇 Forward,
Backward or Mixed
(即 stepwise)→ 再
改<prob to enter>及
<prob to leave>

forward 的<prob to
enter>不可高於
0.05;stepwise 及
backward 的<prob
to leave>不可高於
0.05 → 設定好後若
有固定進入的變項則
依下頁的方法設定,
若沒有則直接→壓 go
→ make model→
run model

若要將 c_age 及 c_wgt


固定包含在迴歸中,則先
點選 Entered,再點選
Lock,後再壓<go>

103
選項完成後,壓<Make Model>,繼
續計算其他統計量

Mallow’s Cp

壓<Make Model>,會出現將選好的變項,重新丟到 Model 中,再壓<Run Model>

104
Step 7: 估計迴歸係數 Fit the model
估計迴歸係數部分,可由前一步的 stepwise 結果中 Make Model 而成,或是在資料檔
中,由 analyze→fit model 後,點選 runtime → 壓 Y 方框 → 點選 male →壓 Add
方框 → 同樣方法點選其他變數 → 壓 Run Model 而成。(操作過程參考前一頁圖示)
→ 讀結果(→ custom test 使用者自設檢定 & sequential test<type I SS>)

工作二:跑迴歸分析,以 runtime 當 outcome variable,male age weight oxy runpluse


當 independent variables
Analyze → Fit Model → 點選 runtime → 壓 Y 方框 → 點選 male →壓 Add 方框
→ 同樣方法點選其他變數 → 壓 Run Model → 讀結果
結果顯示

檢定所有
的 X 變項
合起來對
Y 變項是
否據顯著
性相關

105
106
在<Parameter Esttimates>的區塊按滑
右鍵鼠, 產生此畫面
移動滑鼠選<Columns>, 分別點選
Lower95%及 Upper95%, 產生
coefficience 的 95%CI

107
若需近一步針對係數
間作比較,可壓左上
角之紅色倒三角形,
選 Estimates,再選
Custom Test…

輸入檢定名稱代號,由個
人決定,不輸入也可以

若要比較 c_wgt 與
c_run 兩者間係數
的差異,則如圖輸入
1 與-1,再壓 Done。
檢定結果如下所示。

108
Step 8: 迴歸診斷 Conduct regression diagnosis.
1. 偵測特異值
在 run model 後的執行結果中儲存各種 residuals。

左上方紅色倒三角形
選<save columns> →
選 studentized
residuals →左上方紅
色倒三角形選<save
columns> →選 hats
→左上方紅色倒三角
形選<save columns>
→選 Cook’s D
influence→左上方紅
色倒三角形選<save
columns> →選
predicted values

109
110
前面儲存的結果,回到原始資料檔中即可見到(壓 Window 後點選視窗)

對這些 Residuals 進行描述性統計

Critical value of residuals


Studentized: t(n-k-2), α/n : 3.539 (查 t 值)
Leverage: 2*(K+1)/n: 0.3226
Cook’s D:1

111
2. 偵測獨立性
在 run model 後的執行結果視窗中。

左上方紅色倒三
角形選<row
diagnostics> →
選 durbin watson
test→Durbin
Watson 左方紅色
倒三角形選
<significant p
value>

112
3. 偵測常態分配
回到原始資料表,針對 studentized residuals 分析。

analyze→distribution
→選 studentized
residuals→壓[OK]

在執行結果視窗,左
上方第二個紅色倒三
角形選 <Continuous
fit> → 選 normal
→ 在 fitted normal
左方紅色倒三角形選
<goodness of fit>

113
114
4. 看圖書說故事
回到原始資料表。

Analyze → Multivariate
Methods → Multivariate
→ 將 studentized
residuals & predicted
values & X 變項選入 Y,
columns → [OK]

115
在執行結果視窗
multivariate 左方紅色倒
三角形選 <pairwise
correlations>

116
5. 偵測均質性
回到原始資料表。

→增加一新的變數
( studentized residuals
的絕對值)

117
analyze→Multiariate
Methods→multivariate
→將變數 absoluate
value of studentized
residuals & predicted
values & X’s variables
選入 Y, columns→壓
[OK]

118
119
在執行結果視窗
中,multivariate
左方紅色倒三角
形選
<nonparametric
correlations>→
spearman’s rho

120
邏輯斯迴歸分析

(Logistic Regression)

以betel.JMP為例,此資料檔並不在JMP的範例檔案中,可向楊老師拷貝或來e-mail索
取(yihsya@kmu.edu.tw)
BETEL.JMP 變數說明
ID:編號
AGE:年齡(歲)
BETEL:有(1)無(0)嚼檳榔
BETELYR:嚼檳榔的年數
BETELNO:每日嚼檳榔顆數
SMOKE:有(1)無(0)抽菸習慣
DRINK:有(1)無(0)喝酒習慣
MUCOUS:有(1)無(0)口腔黏膜疾病
MUCOUS12:有(1)無(2)口腔黏膜疾病
MALE:男性
AGEGRP:年齡層,1=20-39,2=40-59,3=60+

分析菸、酒、檳榔習慣對口腔黏膜病變的影響
新增變項
age2=(agegrp=2); 年齡40-59的dummy variable
age3=(agegrp=3); 年齡60以上之dummy variable
hbetel20=(betelno>20); 每天嚼食20顆以上之dummy variable
lbetel30=(betelyr>30); 嚼食30年以上之dummy variable

121
Y: response variable, case 設成 1, 其他
設成 2, 變項設成 nominal
X: independent variables, dummy
variables(0/1 變項)設成 continuous 決
不可以設成 nominal.

JMP 中 Analyze→Fit
Model→選擇 y 及 x 變項→
run model

122
123
紅三角形先選
confidence intervals
再選 odds ratios

124
OR 值及 95%CI

125
邏輯斯迴歸診斷

紅三角形選 save probability formula


回到原始資料檔

新增的變數

126
利用[Cols]及[New Column..]建立兩個新變數 se= Pr ob[1] × (1 − Pr ob[1]) 及

r= ( mucous − Pr ob[1]) / se 後再檢查 r 的分布情形

完成後按[Apply] [OK] [OK],類似方法建立 r 變數。

127
檢查 r 的分布

128
第 230 筆
資料該被
近一步檢

129
Logistic Regression Stepwise Selection

JMP 中 Analyze→Fit
Model→選擇 y 及 x 變項→
先將所有需要分析的 x 變
項選入

在 personality 中選
stepwise → run
model

130
修改<prob to enter>及
<prob to leave>為 0.05
→並在<direction>中選
擇 Mixed→壓<Go>

Stepwise 選擇了 4 個變項,


betel, age2, age3, hbetel20,
再壓<Make Model>→<Run
Model>

131
P 值=0.1105,表示 model 中應不
需在加入其他變項,
若 P-value < 0.05 表示尚有重要變
項未加入 Model 中

132
再依照 123 頁的方法計算 Confidence Interval 及 Odds Ratios

Wald test P-Value

OR 值及 95%CI

133
存活分析(Survival Analysis)

適用時機: Time to Event Data


範例: c:\Program files\SAS\JMP7\Support files English\sample data
中之 VA Lung Cancer. JMP
Response: <Time>- the survival time in days of a group of lung cancer patients.
Cell Type: Adeno, Large, Small, Squamous
Treatment: Standard, Test
Age: in years (Age).
Censor = 1 indicates censored values.

134
<Kaplan-Meier Survival Curve>
比較不同 cell type 的存活曲線是否相同

使用<Analyze> → <Survival and Reliability>→ <Survival/Reliability>

存活時間變項

分組變項

存活分析資料特有變項,
代表存活時間的狀態

135
Log-rank test P value<0.0001
比較 cell type 的存活曲線,
發現不同的 cell type 的存活
曲線有統計上差異

136
<Proportional-Hazard Model>
評估調整年齡(Age)及治療方式(Treatment)後, 細胞型態(Cell Type)對病人存活狀況的影

先製作 Treatment 及 Cell Type 的 Dummy Variable


Treatment: Standard*, Test (treat1)
Cell Type: Adeno, Large, Small, Squamous* (celltype1)

使用<Analyze> → <Survival and Reliability>→ <Fit Proportional-Hazard>

137
存活時間變項

存活分析資料特有變項,
代表存活時間的狀態

所有要考慮的自變項

欲增加 HRR 的估計值及


信賴區間

各變項的估計值

各變項的 P 值

138
Cell type=”Adeno” 的死亡風險是
Cell Type=”Squamous”的 3.20 倍
95%CI (1.795234-5.731234)

139
參考書籍來源:
Bernard Rosner. Data Disk for Fundamentals of Biostatistics, 6 Edition.

140

You might also like