*表一,随机设计四格表; 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;