第五章 多个率比较的SAS编程实现

2012-04-17 生物谷 不详

两个率或多个率的比较,我们非常熟悉的就是采用卡方检验的方法。除此之外,在特定条件下还可根据正态近似的原则采用u检验的方法进行分析。在SAS中,卡方检验的功能包含在freq过程之中,下面我们先熟悉一下freq过程的基本内容和功能。 一、freq过程的语句和功能 freq过程包含在SAS的BASE模块中,它可以执行描述性统计以及假设检验的功能,能产生从1维到n维的表格,即频数表以及列联表。对于单因

两个率或多个率的比较,我们非常熟悉的就是采用卡方检验的方法。除此之外,在特定条件下还可根据正态近似的原则采用u检验的方法进行分析。在SAS中,卡方检验的功能包含在freq过程之中,下面我们先熟悉一下freq过程的基本内容和功能。

一、freq过程的语句和功能

freq过程包含在SASBASE模块中,它可以执行描述性统计以及假设检验的功能,能产生从1维到n维的表格,即频数表以及列联表。对于单因素的频数表,freq过程可以进行比率之间的比较;对于列联表资料(两个或更多因素),它可以对两因素间的关系进行统计学推断,必要时可以按照某些因素进行分层分析。对于两因素关系的统计学分析,freq过程不仅可以检验关系的存在与否,还可以给出这种关系的强度。

下表(表5.1)是freq过程对于列联表资料可以进行的分析以及计算的统计量。

5.1

卡方检验;

关联性的推断及其强度测量;

2×2表资料危险度计算以及危险度差别的检验;

2×2表资料OR值以及相对危险度的计算;

趋势检验;

一致性检验;

Cochran-Mantel-Haenszel 统计量计算。

1. freq过程的一般格式

freq过程的一般格式如下所示。

PROC FREQ <选项列表>

 BY 变量名-1 <... 变量名-n>

 EXACT 统计量关键字 选项列表>

 OUTPUT 统计量关键字

 TABLES 因素表达式 选项列表>

 TEST 统计量关键字;

 WEIGHT 变量名;

RUN

QUIT

表面上看起来freq过程的语句并不复杂,但它可实现很多复杂的功能。下面就freq过程中特有的语句和选项加以简要说明。

2. freq过程中各语句及选项的格式及功能

2.1 proc freq语句用以调用freq过程,标志freq过程的开始,其后的选项除和其它过程相同的一般性的控制功能外,没有什么特别之处,我们一般也不太用到。

2.2 by语句和以前的内容完全相同,这里不再说明。

2.3 Exact语句用以控制对精确概率的计算以及对指定统计量进行可信限估计。对于以下假设检验,freq过程可以计算其精确P值:拟合优度卡方检验(chi-square goodness-of-fit)、Pearson卡方检验(Pearson chi-square)、似然比卡方检验(likelihood-ratio chi-square)、 Mantel-Haenszel卡方检验(Mantel-Haenszel chi-square)、Fisher’s确切概率检验(Fisher's exact test)、Jonckheere-Terpstra检验(Jonckheere-Terpstra test)、Cochran-Armitage 趋势检验(Cochran-Armitage test for trend)以及McNemar's检验(McNemar's test for two-way tables

2.4 Output语句大家已很熟悉,它用于将结果数据输出到指定的数据集。

2.5 Tables语句在freq过程中算是非常关键的语句,它用以指定所要分析的因素如何构成列联表,并在选项中指定所要计算的统计量。其中的因素表达式就是列联表的构成方式,如果只有一个因素,就将该因素的变量名作为表达式;如果因素有两个或以上,各因素之间以星号——“*”相连。这里大家要明确一点,SAS对于两个以上因素组成的表达式,将排在最后的两个变量作为列联表的行和列,而其它排在前面的因素则作为分层因素对待。比如对于表达式:A*B*C*DSAS绘制出k(等于AB两因素水平数的乘积)个交叉表,表格的行因素为C,列因素为D

在同一个tables语句中,你可以指定多个因素表达式以完成多个交叉表的绘制。灵活运用圆括号的分组语法可达到此目的,具体方法如以下表格(表5.2)中显示的例子。

5.2  多表格表达式示例

表达式

等同表达式

tables a*(b c);

tables a*b a*c;

tables (a b)*(c d);

tables a*c b*c a*d b*d;

tables (a b c)*d;

tables a*d b*d c*d;

tables a--c;

tables a b c;

tables (a--c)*d;

tables a*d b*d c*d;

Tables语句的选项主要用以指定所要进行的具体统计分析方式,如:agree all chisq alpha fisher trend等等,分别指定SAS进行不同的统计计算。

2.6 test语句用以指定SAS对给定的统计量进行近似检验,此语句的有效性需要相应的tables语句选项来保证。

2.7 weight语句以前已经讨论过,这里的完全一样。

对于freq过程大家已经有了一个大概的了解,下面我们用实例来演示freq过程在各种情况下处理相应资料的操作方法。

 

二、freq过程对各种类型计数资料处理操作方法

1. 两个率比较的卡方检验

5-1  一项治疗糖尿病的临床试验中,将268名患者随机分为两组,一组204人服用盐酸苯乙双胍,死于心血管病的有26人,另一组64人服用安慰剂,死于心血管病的有2人,请分析两种疗法的心血管病病死率有无差异?

此例为典型的四格表资料,是我们最乐意用卡方检验进行分析的数据形式,非常简单的几条语句就可完成对数据的分析。

编制程序如下:

libname a 'e:\data\';

data a.case5_1;

  input treat outcome number;

  datalines;

  1 1 178

  1 2 26

  2 1 62

  2 2 2

  ;

proc freq;

  weight number;

  tables treat*outcome/chisq;

run;quit;

此处treat代表不同的治疗药物,1表示服用盐酸苯乙双胍,2表示服用安慰剂;outcome代表患者的结局(死亡与否),1表示生存,2表示死于心血管病,number则表示患者的人数。Tables语句后的chisq选项指示SAS进行卡方统计量的计算。

运行上述程序,结果如下。

 

                        The SAS System      20:29 Wednesday, November 27, 2002   5

 

                                         The FREQ Procedure

 

                               Table of treat by outcome

 

                                     treat     outcome

 

                                 Frequency|

                                 Percent  |

                                 Row Pct  |

                                 Col Pct  |       1|       2|  Total

                                   ---------+--------+--------+

                                        1 |    178 |     26 |    204

                                          |  66.42 |   9.70 |  76.12

                                          |  87.25 |  12.75 |

                                          |  74.17 |  92.86 |

                                    ---------+--------+--------+

                                        2 |     62 |      2 |     64

                                          |  23.13 |   0.75 |  23.88

                                          |  96.88 |   3.13 |

                                          |  25.83 |   7.14 |

                                    ---------+--------+--------+

                                 Total         240       28      268

                                             89.55    10.45   100.00

 

                             The SAS System      20:29 Wednesday, November 27, 2002   6

 

                                         The FREQ Procedure

 

                              Statistics for Table of treat by outcome

 

                       Statistic                     DF       Value      Prob

                       ------------------------------------------------------

                       Chi-Square                  1      4.8188    0.0282

                       Likelihood Ratio Chi-Square    1      6.0021    0.0143

                       Continuity Adj. Chi-Square     1      3.8454    0.0499

                       Mantel-Haenszel Chi-Square     1      4.8008    0.0284

                       Phi Coefficient                      -0.1341

                       Contingency Coefficient               0.1329

                       Cramer's V                           -0.1341

 

 

                                        Fisher's Exact Test

                                 ----------------------------------

                                 Cell (1,1) Frequency (F)       178

                                 Left-sided Pr <= F          0.0177

                                 Right-sided Pr >= F         0.9967

 

                                 Table Probability (P)       0.0144

                                 Two-sided Pr <= P           0.0330

 

                                          Sample Size = 268

 

结果给出的内容很是详细,第一部分是四格表的内容,每一个格子内给出四项内容,分别为频数、百分比、行百分比以及列百分比。第二部分为卡方检验的结果,SAS在默认状态下即给出此若干项统计量的结果以及相应的概率,具体的含义大家从字面上就可看出来,这里我不再多说。最后,SAS还给出fisher精确概率的计算结果,提供给我们更多的选择。

对于病例对照研究,可在tables语句后添加选项‘cmh’,SAS即会给出“Cochran-Mantel-haenszel”统计量的结果,以及相对危险度、比数比等重要指标。如果资料为11配对资料,即四格表中数据为不同组合的对子数,则需要采用McNemar检验,此时只需在tables语句后添加选项‘agree’,或添加语句——“exact mcnem;”即可。

2. R*C表资料的卡方检验

5-2 1135例绝经后出血的妇女进行病理分析,结果见表5.3,请分析病变类型是否与年龄有关。

5.3  不同年龄妇女绝经后出血的病变类型

年龄组/

病变类型,例数(百分比)

合计

功能性

恶性

良性

50

6044.4

1611.9

5943.7

135

51~

20833.3

11117.8

30649.0

625

61~

6625.0

7929.2

11945.1

264

71~

2118.9

4742.3

4338.7

111

合计

35531.3

25322.3

52746.4

1135

此例为4*3表资料,对于年龄和病变类型两个属性间的独立性检验,完全可以使用和前述四格表资料分析方法相同的pearson卡方检验,程序的步骤和内容也是基本相同的。

对此例资料进行分析的程序如下:

本文系梅斯医学(MedSci)原创编译整理,转载需授权!-->
版权声明:
本网站所有内容来源注明为“梅斯医学”或“MedSci原创”的文字、图片和音视频资料,版权均属于梅斯医学所有。非经授权,任何媒体、网站或个人不得转载,授权转载时须注明来源为“梅斯医学”。其它来源的文章系转载文章,或“梅斯号”自媒体发布的文章,仅系出于传递更多信息之目的,本站仅负责审核内容合规,其内容不代表本站立场,本站不负责内容的准确性和版权。如果存在侵权、或不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
在此留言
评论区 (1)
#插入话题
  1. [GetPortalCommentsPageByObjectIdResponse(id=2007732, encodeId=ebe1200e73235, content=<a href='/topic/show?id=cf4d1590956' target=_blank style='color:#2F92EE;'>#SAS#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=27, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=15909, encryptionId=cf4d1590956, topicName=SAS)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=8e4c53, createdName=jiyangfei, createdTime=Fri Jan 18 08:14:00 CST 2013, time=2013-01-18, status=1, ipAttribution=)]
    2013-01-18 jiyangfei

相关资讯

第四章 多组资料均数比较的SAS编程实现

多组资料均数比较我们一般采用方差分析的方法,SAS中方差分析的功能非常全面,能实现方差分析功能的过程有anova过程和glm过程。 一、anova过程和glm过程简介 1. anova过程 anova过程存在于stat模块,主要的功能就是进行方差分析。anova过程用以对平衡实验设计资料(各分组因素各水平的所有组合具有相同的样本量或观察值)进行分析,不能用于对非平衡实验设计资料的方差分析。它

第二章 计量资料的统计描述

一、计量资料的统计描述 计量资料统计描述的内容主要包括平均指标和变异指标的计算、资料分布形态(或特征)的图形表现等。 (一)实现描述性统计功能的几个过程 描述性统计指标的计算可以用四个不同的过程来实现,它们分别是means过程、summary过程、univariate过程以及tabulate过程。它们在功能范围和具体的操作方法上存在一定的差别,下面我们大概了解一下它们的异同点。 相同点:他

SAS常用程序(1)

2.1  利用SAS软件描述样本数据   用SAS可以对样本数据进行全面描述,得出样本的各种特征数以及频数分布图。在阅读以下内容之前请先阅读第一章“SAS软件基本操作”。   2.1.1  用MEANS语句描述数据   例 2.1  计算课本上习题1.2的平均数和标准差。 解 

第一章 SAS编程操作预备知识

一、SAS系统简介 SAS是一个庞大的系统,它目前的版本可以在多种操作系统中运行。当前在国内被广泛使用的最新版本是8.2版,功能很强大,我深有体会。 据说9.0版已在国外面世,已经有一些有关它的抢先报道在网络上广为流传,说它如何如何美妙,令人不禁充满期待。 SAS8.2的完整版本包含以下数十个模块。 BASE,GRAPH,ETS,FSP,AF,OR,IML,SHARE,QC,STAT,IN

二、计数资料的统计描述

二、计数资料的统计描述 计数资料的描述性统计量,最为主要的是相对数,即率、构成比、相对比等。统计图形表述方式有圆图和百分条图等。下面我们将例2-1的数据转换为计数资料的形式,用以展示计数资料统计描述的SAS编程实现方法。 例2-3  我们假设甘油三酯水平高于1.5者为异常,将160名女子划分为正常和异常两组。分别计算正常组和异常组占总人数的构成比,并用圆图和百分条图展示其构成情况。

第三章 两组资料均数比较的SAS编程实现

一、均数差别比较的t检验 1. 样本均数和总体均数比较的t检验 样本均数和总体均数差别的比较可以直接进行比较,也可以将其看成每个测量值和总体均数差值的均数和0的比较,均为单变量分析的形式,可用前面介绍的三个执行描述性统计分析功能的过程来完成。这里我们用univariate过程和means过程分别演示这种分析的SAS编程实现方法,summary过程的操作方法各位可以自己试着练习一下。 以Mea