A14-如何在SAS中实现R×C列联表的两两比较内容来自网络,侵删在分析R×C列联表时,在卡方检验有统计意义的情况下常常需要做进一步的多重比较。
可以采用的方法为1)卡方分割(具体见本人另外一篇文章《R×C行列表卡方值分割的概念及运用》)将原表卡方值分割成独立的子卡方值,分割后的子卡方值和对应的自由度相加会和原表的卡方值和自由度相等。
2)或者采用彼此之间非独立的两两比较。
但是两两比较的卡方值和对应的自由度相加不会等于原表卡方值和自由度,所以此类比较不能称为卡方分割法。
尽管后者更为灵活但需要调整多重比较的次数以避免增加第一类错误。
本文将具体讲解如何在SAS中实现R×C列联表的两两比较。
1.研究数据-血型和疾病类型假定某医学课题想研究血型(O,A,B)和疾病类型(Peptic Ulcer, Gastric Cancer,Control)是否相互关联, 具体临床数据见表1。
表1:血型和疾病类型行列表Disease TypeBloodType Peptic Ulcer(I)-1 Gastric Cancer(II)-2 Control(III)-3 Total O-1983(14.024)383(4.9139)2892(1.4159)4258A-2679(9.0743)416(4.5484)2625(0.679)3720B-3134(4.6663)84(0.2695)570(0.9519)788Totals17968836087N=87662.初步分析我们先用SAS/PROC FREQ 和PROC CORRESP 先对数据做初步的分析,来判断行列变量之间的关系。
CELLCHI2 选项是计算按公式2-1计算每个单元格在总体值的组成。
2χij ijijji E OE C 2,)(-=(2-1)proc freq data=paper14;weight count;table r*c/chisq cellchi2nopercent;run;proc corresp data=paper14;weight count;les r, c;tabrun;表2 – 卡方检验结果Table of r by cr cFrequencyCell Chi-SquareRow PctCol Pct 123Total198314.02423.0954.733834.91398.9943.3728921.415967.9247.51425826799.074318.2537.814164.548411.1847.1126250.67970.5643.12372031344.666317.017.46840.269510.669.515700.951972.349.36788Total 179688360878766 Statistics for Table of r by cStatistic DF Value Prob ------------------------------------------------------ Chi-Square 4 40.5434 <.0001 Likelihood Ratio Chi-Square 4 40.6401 <.0001 Mantel-Haenszel Chi-Square 1 21.0035 <.0001 Sample Size = 8766从表2中可以看出第1行(血型O)的卡方检验分值在所有行中所占比重最高((14.024+4.9139+1.4159)/40.5434≈50%);第1列(Peptic Ulcer(I))的卡方检验分值在所有列中所占比重最高((14.024+9.0743+4.6663)/40.5434≈68.5%)。
这表明第1行和第1列与其他行列相比有显著不同。
同时,在图1中行1和列1很明显地远离其他行列。
这说明了表1中的行列表行变量(血型)和列变量(疾病类型)并非相互独立(Pearson 检验的P 值<0.0001)。
2χ那么如何运用统计检验来说明血型O 和Peptic Ulcer(I)与其他组存在有统计意义的区别?下面讨论如何运用两两比较来回答这个问题。
3. 在SAS PROC FREQ 中实现两两比较具体做法是:1) 从R×C 行列表中行变量中任取两不同的行和原行列表的列变量组成新的2×C 子行列表,共有⎪⎪次。
分别计算各子表的2χ值。
⎭⎫⎝⎛2R2) 从R×C 行列表中列变量中任取两不同的列和原行列表的行变量组成新的R×2子行列表,共有⎪⎪次。
分别计算各子表的2χ值。
⎭⎫⎝⎛2C3) 最后作根据比较次数做Bonferroni adjustment 。
a)如果只做行变量之间的比较,共⎪⎪次; b)如果只做列变量之间的比较,共 ⎪⎪次;c)如果都做比较,则⎪⎪⎭+次;⎭⎫⎝⎛2R ⎭⎫ ⎝⎛2C ⎫ ⎝⎛2R ⎪⎪⎭⎫⎝⎛2C表1-血型和疾病类型数据的两两比较的SAS 程序如下:proc freq data =paper14; where r in (1,2); weight count; table r*c/chisq ; run ;proc freq data =paper14; where r in (1,3); weight count; table r*c/chisq ; run ;proc freq data =paper14; where r in (2,3); weight count; table r*c/chisq ; run ;proc freq data =paper14; weight count;where c in (1,2); table r*c/chisq ; run ;proc freq data =paper14; weight count;where c in (1,3); table r*c/chisq ; run ;proc freq data =paper14; weight count;where c in (2,3); table r*c/chisq ; run ;6 个子表对应的卡方检验,原P-值,Bonferroni法矫正后的P-值如下:Obs comparison DF Value Raw_P1 12 33.7632 <.00012 2 2 14.9892 0.00063 3 2 1.0091 0.60384 4 2 30.5817 <.00015 5 2 29.6973 <.00016 6 2 5.6361 0.0597Test Raw Bonferroni1 <.0001 <.00012 0.0006 0.00333 0.6038 1.00004 <.0001 <.00015 <.0001 <.00016 0.0597 0.3583即使对原P-值进行保守的Bonferroni法矫正后,检验1,2和4,5都保持了统计意义。
这说明血型O与其他两个行组及Peptic Ulcer(I)与其他两个列组均存在有统计意义的差别。
4.在SAS PROC GENMOD中实现两两比较作为一个有意义的补充,我们也可以在log-linear模型下对行列变量进行上述的两两比较。
不过所得出的卡方为likelihood ratio Chi-square而不是Pearson Chi-square。
原表PROC FREQ 输出的LR卡方检验的结果如下:Obs comparison DF Value Raw_P1 12 33.9019 <.00012 2 2 15.6836 0.00043 3 2 1.0179 0.60114 4 2 30.6379 <.00015 5 2 29.7964 <.00016 6 2 5.6387 0.0596SAS/PROC GENMOD的程序和结果如下:proc genmod data=paper14;class r c;model count=r c r*c / dist=poisson type3;contrast"comparision1: O vs A across Cancer Type"r*c 1 -10 -110,r*c 10 -1 -101;contrast"comparison2: O vs B across Cancer Type"r*c 1 -10000 -110,r*c 10 -1000 -101;contrast"comparison3: A vs B across Cancer Type"r*c 0001 -10 -110,r*c 00010 -1 -101;contrast"comparision4: Peptic Ulcer vs Gastric Cancer across Blood type"r*c 1 -10 -110000 ,r*c 1 -10000 -110 ;contrast"comparision5: Peptic Ulcer vs Control across Blood type"r*c 10 -1 -101000,r*c 10 -1000 -101;contrast"comparison6: Gastric Cancer vs Control Group across Blood type"r*c 01 -10 -11000,r*c 01 -10000 -11;run;Contrast ResultsChi-Contrast DF Square Pr > ChiSq comparision1: O vs A across Cancer Type 2 33.90 <.0001 comparison2: O vs B across Cancer Type 2 15.68 0.0004 comparison3: A vs B across Cancer Type 2 1.02 0.6011 comparision4: Peptic Ulcer vs Gastric Cancer across Blood type 2 30.64 <.0001comparision5: Peptic Ulcer vs Control across Blood type 2 29.80 <.0001 comparison6: Gastric Cancer vs Control Group across Blood type 2 5.64 0.0596SAS/PROC FREQ 和 SAS/PROC GENMOD 的结果一致。