APP下载

如何用SAS软件正确分析生物医学科研资料XVIII.R×C列联表资料的统计分析与SAS软件实现(一)

2012-04-13王琪胡良平关雪柳伟伟

中国医药生物技术 2012年4期
关键词:卡方无序程序

王琪,胡良平,关雪,柳伟伟

·讲座·

如何用SAS软件正确分析生物医学科研资料XVIII.R×C列联表资料的统计分析与SAS软件实现(一)

王琪,胡良平,关雪,柳伟伟

编者按

生物统计学是生物学领域科学研究和实际工作中必不可少的工具,在分子生物学迅速发展的今天,生物统计学更显示出了它的重要性。实验设计与数据统计分析是现代生物学的基石,是生物学研究者检验假说、寻找模式、建立生物学理论的有利工具,也是生物学研究者探索微观和宏观生物世界的必备基础知识。对于每天甚至是每时每刻涌现的大量的、以天文数字计量的分子遗传数据,必须借助统计学知识加以分析处理,才能从中获得有意义的信息。“生物多样性数据分析”是开展生物多样性研究的一个重要方面,数据分析能力的高低极大地影响着我们对各种生态学现象认识的深度和广度。现在,电子计算机的普及使得生物统计分析过程大大简化,生物统计分析软件包的普及将生物统计学从统计学家的书本里解放了出来,简化了生物统计分析过程,使之成为生物学研究者的常用工具。本刊特邀军事医学科学院生物医学统计学咨询中心主任胡良平教授,以“如何用 SAS 软件正确分析生物医学科研资料”为题,撰写系列统计学讲座,希望该系列讲座能对生物医学科研工作者有所帮助。

R × C 列联表资料可以分为双向无序的R×C 列联表资料、结果变量为有序变量的单向有序 R × C 列联表资料、双向有序且属性相同的 R × C 列联表资料和双向有序且属性不同的 R × C 列联表资料等 4 类。本文将详细介绍前两类 R × C 表资料及其用 SAS 软件实现统计分析的全部内容。

1 双向无序 R × C 列联表资料的统计分析与SAS 实现

双向无序的 R × C 列联表资料是指在二维列联表中,两个定性变量都是名义变量,并且这两个名义变量分别有R 个和 C 个(R 和 C 分别代表列联表的行数和列数,它们均为大于 2 的整数)取值,由此排列而成的 R × C 表称为双向无序的 R × C 列联表资料。当理论频数小于 5 的格子数未超过总格子数的 1/5 时,用一般卡方检验;否则,用 Fisher 精确检验处理该类资料[1]。以下将通过实例向读者介绍如何用 SAS 软件处理双向无序的 R × C 列联表资料。

表1 不同恶性血液病患者真菌感染发生的部位

【例 1】目前恶性血液病患者的主要治疗方法包括放化疗、免疫抑制剂治疗等,这些治疗方式会导致患者发生真菌感染。某临床医生对此做了回顾性调查研究,以分析不同血液病患者真菌感染部位是否相同,调查结果见表 1,试对表 1 进行合理的统计分析。

分析与解答:本例是一个单因素多水平设计定性资料,原因变量“疾病种类”有 4 个水平,结果变量“感染部位”有 3 个水平,两个变量都是多值名义变量,此时可采用卡方检验或 Fisher 精确检验对该资料进行统计分析,以分析不同疾病的患者感染部位分布情况是否相同。以下介绍如何用 SAS 程序的 FREQ 过程分析双向无序 R × C 列联表资料。SAS 程序如下,设程序名为 li1.sas。

程序说明:程序中第一步建立名为 a1 的数据集,a 表示疾病种类,分为 4 个水平,b 表示感染部位,分为 3 个水平,f 表示频数。第二步是过程步,调用 FREQ 过程进行卡方检验,weight 语句指定频数变量为 f,tables 语句指定用于生成二维列联表,“/”后的选项 chisq 表示进行卡方检验。

SAS 程序运行结果:

a * b 表的统计量

以上是卡方检验分析的结果,由于χ2= 4.6601,双侧P= 0.5881 > 0.05,说明不同恶性血液病患者发生真菌感染的部位之间的差异无统计学意义。

【例 2】沿用例 1 的背景资料,该医生统计了不同恶性血液病患者真菌感染种类情况,结果见表 2,试对该资料进行统计分析。

表2 不同恶性血液病患者真菌感染的类型

分析与解答:与例 1 类似,当理论频数小于 5 的格子数未超过总格子数的 1/5 时,用一般卡方检验;否则,用Fisher 精确检验处理该类资料。本例超过 1/5 的单元格的期望计数比 5 小,因此选用 Fisher 精确检验。SAS 程序如下,设程序名为 li2.sas。

程序说明:本程序与例 1 的不同之处在于 tables 语句“/”后面的选项是 exact,表示进行精确检验。

SAS 程序运行结果:

a * b 表的统计量

Fisher 精确检验

第一部分是一般卡方检验分析的结果,结果下方显示“WARNING: 42% 的单元格的期望计数比 5 小。卡方可能不是有效检验。”,因此应选择 Fisher 精确检验,结果显示P= 0.0076 < 0.05,说明不同恶性血液病患者发生真菌感染的类型不同。

2 结果变量为有序变量的单向有序 R × C 列联表资料的统计分析与 SAS 实现

结果变量为有序变量的单向有序 R × C 列联表资料是指表中仅结果变量的取值为有序,而原因变量为无序,如某资料中原因变量是药物种类,结果变量是治愈、显效、好转、无效。如果仅原因变量为有序的而结果变量是无序的,则仍将其视为双向无序的 R × C 列联表资料。

结果变量为有序变量的单向有序 R × C 列联表资料的统计分析可选用秩和检验、Ridit 分析以及有序变量的logistic 回归分析(此法较复杂,一般情况下不选用,在处理高维列联表时常用)[1]。

【例 3】用混合核苷片、西药及中草药治疗急性黄疸型肝炎,治疗效果见表 3,试分析 3 种药物治疗效果之间的差异是否有统计学意义。

表3 不同药物治疗急性黄疸型肝炎的效果

分析与解答:这是一个单因素多水平设计定性资料,结果变量“疗效”是有序变量,可选择秩和检验进行统计分析。SAS 程序的 NPAR1WAY 过程或 FREQ 过程可以进行分析,以下介绍相应的 SAS 程序。用 NPAR1WAY 过程进行秩和检验的 SAS 程序如下,设程序名为 li3_1.sas。

程序说明:第一步是数据步,建立名为 a3 的数据集,a 表示药物种类,b 表示疗效,f 表示频数。第二步是过程步,调用 NPAR1WAY 过程进行秩和检验,freq 语句指定频数变量 f,class 语句指定分组变量 a,var 语句用于指定结果变量 b。

SAS 程序运行结果:

第一部分是 3 个组的打分结果,其中第一组平均秩是325.2632,第二组平均秩是324.8994,第三组平均秩是406.8830。

第二部分是 Kruskal-Wallis 秩和检验的结果,HC≈χ2= 17.557,双侧P= 0.0002 < 0.05,说明 3 种药物治疗效果之间的差异有统计学意义。因第三组平均秩最高,因此混合核苷片的疗效最好。

本例也可以通过 FREQ 过程实现秩和检验,程序如下,设程序名为 li3_2.sas。

程序说明:数据步与 li3_1.sas 相同,此处省略。过程步,调用 FREQ 过程,weight 语句用于指定频数变量,tables 语句中“/”后面的选项 cmh 表示进行秩和检验,scores 选项指定打分方法。

SAS 程序运行结果:

a * b 的汇总统计量Cochran-Mantel-Haenszel 统计量(基于秩得分)

第二行“行均值得分差值”对应的结果即为秩和检验结果,χ2= 17.557,P= 0.0002 与 li3_1.sas 得到的结果相同。

参考文献

[1] Hu LP. Medical statistics-analysis of quantitative and qualitative data applying the triple-type theory. Beijing: People’s Military Medical Press, 2009:292-302. (in Chinese)胡良平. 医学统计学-运用三型理论分析定量与定性资料. 北京:人民军医出版社, 2009:292-302.

DOI:10.3969/cmba.j.issn.1673-713X.2012.04.015

作者单位:100850 北京,军事医学科学院生物医学统计学咨询中心

通讯作者:胡良平,Email:lphu812@sina.com

猜你喜欢

卡方无序程序
卡方检验的应用条件
卡方变异的SSA的FSC赛车转向梯形优化方法
车身无序堆叠零件自动抓取系统
环境无序性对消费者多样化寻求的影响及作用机制*
卡方检验的应用条件
云的自传
三大抽样分布的理解与具体性质
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序