當遇到成對資料時,在連續型資料中有成對樣本 t 檢定可供使用。
同樣的,在類別型資料中,也有檢定可處理成對資料,該檢定為 McNemar 檢定。
本篇文章主要介紹 McNemar 檢定– R語言的操作,細節如下所述。
一、分析目的
McNemar 檢定又稱非獨立樣本比率數的卡方檢定,或稱為相依樣本的卡方檢定。
主要探討事件發生前後細格內的比例是否有顯著改變,例如:「由失敗變為成功」或是「由否變為是」的比例是否相等。
二、McNemar 檢定的計算方式
(1) 每個樣本會進行二次(或以上)的重複測量,可以2階列聯表表示。
(2) 資料形式:
(3) 假設檢定:
虛無假設(Null hypothesis)→ H0:b=c,即兩種方法的檢測結果相同
對立假設(alternative hypothesis)→ H1:b≠c,即兩種方法的檢測結果不相同
(4) 顯著水準 α:一般設為0.05
(6) 計算檢定統計量:
b+c>40,用非校正公式為:
b+c<40,用校正公式為:
三、R語言操作範例
(一) 範例介紹
為研究治療新冠肺炎的藥效,選定640位病人,各隨機給予新藥劑或安慰劑,各實驗N週後,得結果如下:
試取顯著水準 α=0.05,以檢定藥物治療與心理治療對治肺炎是否一樣有效?
(1) 假設檢定:
虛無假設→ H0:新藥劑與安慰劑是一樣效果。
對立假設→ H1:新藥劑與安慰劑的效果不同。
(2) 顯著水準 α = 0.05
(二) 資料匯入
Way<-read.csv(“Way-5.csv”,header=T)
# read.csv ():將資料匯入到指定的變數,也就是Way
View(Way)
# View():瀏覽資料內容
=>根據執行結果:在資料集中共有3個變數和6個觀察資料,3個變數分別為:
新藥劑(A)、安慰劑(B)、施打結果的次數(Frequency),其中1為有效、2為無效。
(三) 統計描述及推斷
- 資料整理
data<-data.matrix(Way$Frequency) #取Frequency資料轉矩陣格式
rname<-c(“A_Yes”,”A_No”) #行名稱
cname<-c(“B_Yes”,”B_No”) #列名稱
compare<-matrix(data,nrow=2,ncol=2,dimnames=list(rname,cname)) #資料整理並編輯為矩陣格式
compare #查看數據
=> 根據執行結果:列出了卡方檢定所需要的資料格式,並存儲在「compare」資料框中
可知新藥劑和安慰劑施打後的效果相同的數目和效果不同的數目,為各自施打結果(有效/無效)的次數。
兩種藥劑效果相同的有460對(新藥劑為有效,安慰劑為有效120對;新藥劑為無效,安慰劑為無效340對),
不同的有180對(新藥劑為有效,安慰劑為無效140對;新藥劑為無效,安慰劑為有效40對)。
#補充:對於2階列聯表,定義四個格子分別為a、b、c和d,其中a、d為結果相同的次數,b和c為結果不相同的次數。
需要根據b+c的大小,選擇分析方法:
- 當b+c ≥ 40時,選擇McNemar檢定。
- 當20 ≤ b+c < 40時,選擇校正McNemar檢定。
- 當b+c < 20時,選擇Fisher確切概率法。
由於本範例b+c=180 ≥ 40,所以使用McNemar檢定(即配對χ2檢定)的方法。
(四) 統計推斷
##配對卡方檢定##
mcnemar.test(compare, correct = FALSE) #不進行連續性校正
=>根據執行結果:顯示統計量、自由度和P值。
可知,兩種藥劑在施打後對治肺炎是否一樣有效是有顯著的差異(X2=55.556,P<0.05),即新藥劑與安慰劑的效果不同。
四、結論
本研究採用配對檢定分析藥物治療與心理治療對治肺炎是否一樣有效。結果顯示效果不同的有180對(新藥劑為有效,安慰劑為無效140對;新藥劑為無效,安慰劑為有效40對);配對χ2檢定分析發現,新藥劑與安慰劑的效果不同(X2=55.556,P<0.05),也就是拒絕H0接受H1。