|
第五章 定量资料的统计描述和t、u检验
从本章开始,我们将正式开始使用SAS解决我们的统计问题。从前面的几章可知,SAS的主要功能是由不同的程序步来体现的。因此在以后的各章中,我们将对每种问题重点介绍一些常用的程序步,以及它们的输出结果的解释。 对于定量资料的统计描述和简单推断,SAS提供了三个强有力的程序步,它们是:
§5.1 引 例 例5.1 文本文件“C:\USER\WTLI1_1.DAT”中已存入某市110名7岁男子童的身高资料(cm) ,请计算均数 解:该题应首先用数据步建立一个数据集,然后调用UNIVARIATE过程或MEANS过程来求出所需要的统计量。具体的程序如下: ① 设定数据库环境: LIBNAME A 'C:\USER'; ② 数据步,建立数据集:
③ UNIVARIATE或MEANS过程,求出所需要的统计量:
例5.2 某医生测得18例慢支炎患者与16例健康人的尿17酮类固醇排出量 (mg/dl)分别为X1和X2,问两者均数是否不同(医统第二版P19例2.17)? 解:这是成组设计的两样本均数比较的t检验,程序应首先建立数据集,然后调用TTEST过程进行检验,在检验的同时也可以得到两个样本的简单描述。 ① 设定数据库环境: LIBNAME A 'C:\USER'; ② 数据步,建立数据集,这里采用直接输入数据的方法:
③ TTEST过程,进行两样本的t检验。
§5.2 UNIVARIATE过程 Univariate过程对数值变量给出比较详细的变量分布的描述,其中包括:
5.2.1 语法格式 Univariate过程的语法格式如下:
如果省略所有非必需的语句和选项,则UNIVARIATE过程按默认情况输出全部变量的全部常用统计量。 5.2.2 语法说明 【选项】 Univariate过程常用的选项如下:
【关键字】 SAS中用关键字来指定所需要的统计量,事实上结果输出中用的就是各种关键字,常用的关键字有:
5.2.3 结果解释 在默认的情况时,Univariate过程会输出绝大部分统计量,此时的输出结果如下: Variable=变量名 变量标签 Moments 和矩有关的统计量 Quantiles(Def=5) 分位间距统计量 N 样本量 Sum Wgts 权重总和 100% Max 最大值 99% 99%百分位数 Mean 均数 Sum 总和 75% Q3 75%百分位数 95% 95%百分位数 Std Dev 标准差 Variance 方差 50% Med 50%百分位数 90% 90%百分位数 Skewness 偏度系数 Kurtosis 峰度系数 25% Q1 25%百分位数 10% 10%百分位数 USS 未校正平方和 CSS 校正平方和 0% Min 最小值 5% 5%百分位数 CV 变异系数 Std Mean 标准化均数 1% 1%百分位数 T:Mean=0 变量总体均数为0的t检验 Pr>|T| t检验的p值 Range 全距 Num ^= 0 变量值非0的例数 Num > 0 变量值大于0的例数 Q3-Q1 四分位间距 M(Sign) 变量总体均数为0的符号检验 Pr>=|M| 符号检验的p值 Mode 众数 Sgn Rank 变量总体均数为0的秩和检验 Pr>=|S| 秩和检验的p值 Extremes 极端值统计 Lowest Obs Highest Obs
老 幺 (观察值序号) 五大值(观察值序号)
次小值 (观察值序号) 四大值(观察值序号)
三小值 (观察值序号) 三大值(观察值序号)
四小值 (观察值序号) 次大值(观察值序号)
五小值 (观察值序号) 大哥大(观察值序号)
5.2.4 应用实例 例5.3 某地101例健康男子血清总胆固醇值测定结果已存入文本文件“c:\user\WT1_1.dat”中,请绘制直方图,计算均数 解:UNIVARIATE过程的默认输出中并不给出p2.5和p97.5,因此程序中要加以相应修改,最后在OUTPUT视窗中只会输出所需的几个统计量,具体程序如下:
例5.4 50例链球菌咽峡炎患者的潜伏期如下,计算其均数、中位数和几何均数(卫统p233 1.3题)。
解:由于几何均数无法直接得到,因此将数据集加以对数变换,求出均数后再行反对数变换得到几何均数,程序如下:
§5.3 MEANS过程 Means过程提供单个或多个变量的简单描述。和Univariate过程相比,它更倾向于描述已经明确样本所在总体符合正态分布的变量,因此它不提供百分位数,但可以提供95%可信区间。同时在多个变量输出时,它的输出格式紧凑,便于阅读。 5.3.1 语法格式
5.3.2 语法说明 【选项】 Means过程常用的选项如下:
【统计量关键字】 MEANS过程中常用的统计量关键字有:
5.3.3 结果解释 和Univariate过程不同,MEANS过程在默认情况下只输出样本量、均数、标准差、最小值和最大值,如例5.1的数据,如果MEANS过程不加任何选项,则输出如下: Analysis Variable : X 分析变量名为X N Mean Std Dev Minimum Maximum
---------------------------------------------------------------
110 119.7272727 4.7413254 108.2000000 132.5000000
---------------------------------------------------------------
可见Means过程的输出结构极为紧凑。 5.3.4 应用实例 例5.5 给出例5.1的均数 解:如果数据集a.wt1_1已经建立,则程序如下:
§5.4 TTEST过程 顾名思义,TTEST过程就是用于进行两样本均数的比较,它给出两总体方差齐和不齐时的检验结果,并同时做方差齐性检验。综合两者的结果,即可做出判断。
5.4.1 语法格式
5.4.2 结果解释 以例5.2的TTEST过程为例,它的输出结果如下: TTEST PROCEDURE Variable: VALUE 分析变量名为VALUE GROUP N Mean Std Dev Std Error Variances T DF Prob>|T|
样本量 均数 标准差 标准误 方差 统计量t值 自由度 p值
------------------------------------------------ ---------------------------------
1 18 4.45444444 1.32446314 0.31217896 Unequal -1.8132 31.2 0.0794
2 16 5.29875000 1.38200760 0.34550190 Equal -1.8179 32.0 0.0785
For H0: Variances are equal, F' = 1.09 DF = (15,17) Prob>F' = 0.8589 可见该结果分为三大部分:第一部分为两组各种描述统计量的值,第二部分分别给出两组所在总体方差齐和方差不齐时的t检验结果,第三部分为方差齐性检验,因此该过程一共进行了三个假设检验。对于无效假设H0:两总体方差齐的检验结果为F' = 1.09,DF = (15,17),p = 0.8589,可见在本例中方差是齐的,从而应选用方差齐时的t检验结果,即t= -1.8179,ν=32,p=0.0785,按α=0.05水准,不拒绝H0,尚不能认为慢支炎患者与健康人的尿17酮类固醇排出量不同。 5.4.3 应用实例 例5.6 某医院对9例慢性苯中毒患者用中草药一号抗苯一号治疗,得下列白细胞总数(109/L),问该药是否对白细胞总数有影响(卫统p225 2.3题)?
解:该题为样本差值均数和总体均数为0比较的t检验,TTEST过程无法完成。这里用MEANS过程来处理,程序如下:
例5.7 将钩体病人的血清分别用标准株和水生株做凝溶实验,测得稀释倍数如下。问两组的平均效价有无区别(卫统p226 2.5题)。 标准株:100 200 400 400 400 400 800 1600 1600 1600 3200 水生株:100 100 100 200 200 200 200 400 400 解:程序如下:
第五章 多个率比较的SAS编程实现两个率或多个率的比较,我们非常熟悉的就是采用卡方检验的方法。除此之外,在特定条件下还可根据正态近似的原则采用u检验的方法进行分析。在SAS中,卡方检验的功能包含在freq过程之中,下面我们先熟悉一下freq过程的基本内容和功能。 一、freq过程的语句和功能 freq过程包含在SAS的BASE模块中,它可以执行描述性统计以及假设检验的功能,能产生从1维到n维的表格,即频数表以及列联表。对于单因素的频数表,freq过程可以进行比率之间的比较;对于列联表资料(两个或更多因素),它可以对两因素间的关系进行统计学推断,必要时可以按照某些因素进行分层分析。对于两因素关系的统计学分析,freq过程不仅可以检验关系的存在与否,还可以给出这种关系的强度。 下表(表5.1)是freq过程对于列联表资料可以进行的分析以及计算的统计量。 表5.1
1. freq过程的一般格式 freq过程的一般格式如下所示。
表面上看起来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*D,SAS绘制出k(等于A、B两因素水平数的乘积)个交叉表,表格的行因素为C,列因素为D。 在同一个tables语句中,你可以指定多个因素表达式以完成多个交叉表的绘制。灵活运用圆括号的分组语法可达到此目的,具体方法如以下表格(表5.2)中显示的例子。 表5.2 多表格表达式示例
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人,请分析两种疗法的心血管病病死率有无差异? 此例为典型的四格表资料,是我们最乐意用卡方检验进行分析的数据形式,非常简单的几条语句就可完成对数据的分析。 编制程序如下:
此处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”统计量的结果,以及相对危险度、比数比等重要指标。如果资料为1:1配对资料,即四格表中数据为不同组合的对子数,则需要采用McNemar检验,此时只需在tables语句后添加选项‘agree’,或添加语句——“exact mcnem;”即可。 2. R*C表资料的卡方检验 例5-2 对1135例绝经后出血的妇女进行病理分析,结果见表5.3,请分析病变类型是否与年龄有关。 表5.3 不同年龄妇女绝经后出血的病变类型
此例为4*3表资料,对于年龄和病变类型两个属性间的独立性检验,完全可以使用和前述四格表资料分析方法相同的pearson卡方检验,程序的步骤和内容也是基本相同的。 对此例资料进行分析的程序如下:
大家可以看到,和上例的程序相比,此例并无多少差异,SAS对于交叉表形式的计数资料,进行卡方检验的程序是完全相同的。其不同的地方是根据我们对资料分析需要的不同而有所区别,比如我们对于线性趋势的检验一般只针对R*C表资料。 提交以上程序,结果如下。 The SAS System 20:54 Thursday, November 28, 2002 26
The FREQ Procedure
Table of age by pathtype
age pathtype
Frequency| Percent | Row Pct | Col Pct | 1| 2| 3| Total ---------+--------+--------+--------+ 1 | 60 | 16 | 59 | 135 | 5.29 | 1.41 | 5.20 | 11.89 | 44.44 | 11.85 | 43.70 | | 16.90 | 6.32 | 11.20 | ---------+--------+--------+--------+ 2 | 208 | 111 | 306 | 625 | 18.33 | 9.78 | 26.96 | 55.07 | 33.28 | 17.76 | 48.96 | | 58.59 | 43.87 | 58.06 | ---------+--------+--------+--------+ 3 | 66 | 79 | 119 | 264 | 5.81 | 6.96 | 10.48 | 23.26 | 25.00 | 29.92 | 45.08 | | 18.59 | 31.23 | 22.58 | ---------+--------+--------+--------+ 4 | 21 | 47 | 43 | 111 | 1.85 | 4.14 | 3.79 | 9.78 | 18.92 | 42.34 | 38.74 | | 5.92 | 18.58 | 8.16 | ---------+--------+--------+--------+ Total 355 253 527 1135 31.28 22.29 46.43 100.00
The SAS System 20:54 Thursday, November 28, 2002 28
The FREQ Procedure
Statistics for Table of age by pathtype
Statistic DF Value Prob ------------------------------------------------------ Chi-Square 6 58.9049 <.0001 Likelihood Ratio Chi-Square 6 56.1468 <.0001 Mantel-Haenszel Chi-Square 1 3.6219 0.0570 Phi Coefficient 0.2278 Contingency Coefficient 0.2221 Cramer's V 0.1611
Sample Size = 1135 结果也和例5-1基本相同,有所不同的是此处没有经连续性校正的卡方值(这里不需要校正),也没有自动给出fisher精确概率值。 在得出两因素不相互独立的结论后,可进一步对因素的各水平进行两两之间的差异检验,这就涉及到R*C表的拆分问题,关于此内容统计学教科书上多数都有介绍,感兴趣的可以自己研究一下。 本章关于两个率和多个率的比较问题就先介绍这么些内容,下一章我们将讨论非参数统计方法的编程实现。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Copyright © 2006-2009 SPSS学习园地 All Right Reserved
|
