*表一,随機設計四格表;
options validvarname=any;
data test1;
input 用藥 $ 敏感性 $ 計數;
datalines;
服藥 不敏感 180
服藥 敏感 215
未服藥 不敏感 73
未服藥 敏感 106
;
proc freq data=test1 order=data;
weight 計數;
tables 用藥*敏感性 / chisq nocol;
run;
*兩個格子的理論頻數比1大比5小的情況,使用連續性校正卡方檢驗較優;
data test2;
input 年級 $ 近視情況 $ 計數;
datalines;
四年級 非近視 26
四年級 近視 2
五年級 近視 5
五年級 非近視 9
;
proc freq data=test2 order=data;
weight 計數;
tables 年級*近視情況 / chisq nocol;
run;
* 頻數<40的情況,四格表的Fisher确切檢驗法較優;
data test3;
input 療法 $ 療效 $ 計數;
datalines;
新療法 未治愈 2
新療法 治愈 7
保守療法 治愈 2
保守療法 未治愈 6
;
proc freq data=test3 order=data;
weight 計數;
tables 療法*療效 / chisq nocol;
run;
*配對設計四格表,應用配對四格表 (也叫McNemar)檢驗;
data test4;
input 培養基A $ 培養基B $ 計數;
datalines;
陽性 陽性 48
陽性 陰性 24
陰性 陽性 20
陰性 陰性 106
;
proc freq data=test4 order=data;
weight 計數;
tables 培養基A*培養基B / chisq nocol;
exact agree;
run;
* 完全随機設計R×C表格;
data test5;
input 地區 $ 血型 $ 計數;
datalines;
亞洲 A 321
亞洲 B 369
亞洲 AB 95
亞洲 O 295
歐洲 A 258
歐洲 B 43
歐洲 AB 22
歐洲 O 194
北美洲 A 408
北美洲 B 106
北美洲 AB 37
北美洲 O 444
;
proc freq data=test5 order=data;
weight 計數;
tables 地區*血型 / chisq nocol;
run;
data test6;
input 藥物 $ 藥效 $ 計數;
datalines;
新藥 有效 6
傳統藥 有效 11
安慰劑 有效 29
新藥 無效 42
傳統藥 無效 26
安慰劑 無效 8
;
proc freq data=test6 order=data;
weight 計數;
tables 藥物*藥效 / chisq nocol;
run;
*雙向無序的列聯表,類似配對設計,例如ABO血型與MN血型;
data test7;
input ABO血型 $ MN血型 $ 計數 @@;
datalines;
O M 431 O N 490 O MN 902
A M 388 A N 410 A MN 800
B M 495 B N 587 B MN 950
AB M 137 AB N 179 AB MN 32
;
proc freq data=test7 order=data;
weight 計數;
tables ABO血型*MN血型 / chisq nocol;
run;
*單向有序分類變量列聯表,如藥物療效是等級變量,秩和檢驗;
data test8;
input 藥物 $ 療效 $ 計數 @@;
datalines;
A藥 無效 5 A藥 好轉 31 A藥 顯效 49 A藥 治愈 15
B藥 無效 22 B藥 好轉 50 B藥 顯效 9 B藥 治愈 4
C藥 無效 24 C藥 好轉 45 C藥 顯效 15 C藥 治愈 1
;
proc freq data=test8 order=data;
weight 計數;
tables 藥物*療效 / cmh scores=rank nocol;
run;
*雙向有序分類變量,不同年齡組用秩和檢驗,年齡與眼睛晶狀體混濁程度相關性用等級相關檢驗;
data test9;
input 年齡 $ 表現 $ 計數 @@;
datalines;
20~ + 215 20~ ++ 67 20~ +++ 44
30~ + 131 30~ ++ 101 30~ +++ 63
40~ + 148 40~ ++ 128 40~ +++ 132
;
proc freq data=test9 order=data;
weight 計數;
tables 年齡*表現 / cmh scores=rank;
test scorr;
run;
*雙向有序并且屬性相同的,雙向均為按等級分類,一緻性(Kappa)檢驗;
data test10;
input 對比法 $ 核素法 $ 計數 @@;
datalines;
正常 正常 58 正常 減弱 2 正常 異常 3
減弱 正常 1 減弱 減弱 42 減弱 異常 7
異常 正常 8 異常 減弱 9 異常 異常 17
;
proc freq data=test10 order=data;
weight 計數;
tables 對比法*核素法 / agree norow nocol nopercent;
test kappa wtkap;
run;