中国心理学家网
 
热线咨询 0551—2826223
当前位置: 网站首页 - 心理统计 - SAS学习教程
    发表日期:2007年9月10日 编辑:anyihao 有15450位读者读过此文 【字体:
第五章 定量资料的统计描述和t、u检验

第五章 定量资料的统计描述和tu检验

 

从本章开始,我们将正式开始使用SAS解决我们的统计问题。从前面的几章可知,SAS的主要功能是由不同的程序步来体现的。因此在以后的各章中,我们将对每种问题重点介绍一些常用的程序步,以及它们的输出结果的解释。

对于定量资料的统计描述和简单推断,SAS提供了三个强有力的程序步,它们是:

  • UNIVARIATE过程 提供单个变量的详细描述和对其分布类型的检验。
  • MEANS过程 提供单个或多个变量的简单描述,对于多个变量,它的输出格式紧凑,便于阅读。
  • TTEST过程 对变量进行t/u检验。

§5.1

5.1 文本文件“C:\USER\WTLI1_1.DAT”中已存入某市1107岁男子童的身高资料(cm) ,请计算均数、标准差s、变异系数CV(卫统第三版p62.1)。

解:该题应首先用数据步建立一个数据集,然后调用UNIVARIATE过程或MEANS过程来求出所需要的统计量。具体的程序如下:

设定数据库环境:

LIBNAME A 'C:\USER';

数据步,建立数据集:

DATA A.WTLI1_1;

 INFILE 'C:\USER\WTLI1_1.DAT';

 INPUT X @@;

RUN;

UNIVARIATEMEANS过程,求出所需要的统计量:

PROC UNIVARIATE DATA=A.WTLI1_1;

PROC MEANS DATA=A.WTLI1_1

N MEAN STD CV ;

 VAR X;

 VAR X;

RUN;

RUN;

5.2 某医生测得18例慢支炎患者与16例健康人的尿17酮类固醇排出量 (mg/dl)分别为X1和X2,问两者均数是否不同(医统第二版P192.17)?

解:这是成组设计的两样本均数比较的t检验,程序应首先建立数据集,然后调用TTEST过程进行检验,在检验的同时也可以得到两个样本的简单描述。

设定数据库环境:

LIBNAME A 'C:\USER';

数据步,建立数据集,这里采用直接输入数据的方法:

DATA A.YTLI2_17;

 INPUT GROUP VALUE @@;

 CARDS;

 1 3.14 1 5.83 1 7.35 1 4.62 1 4.05 1 5.08 1 4.98 1 4.22 1 4.35 1 2.35

 1 2.89 1 2.16 1 5.55 1 5.94 1 4.4 1 5.35 1 3.8 1 4.12

 2 4.12 2 7.89 2 3.24 2 6.36 2 3.48 2 6.74 2 4.67 2 7.38 2 4.95 2 4.08

 2 5.34 2 4.27 2 6.54 2 4.62 2 5.92 2 5.18

 ;

RUN;

TTEST过程,进行两样本的t检验。

PROC TTEST DATA=A.YTLI2_17;

 VAR VALUE;

 CLASS GROUP;

RUN;

§5.2 UNIVARIATE过程

Univariate过程对数值变量给出比较详细的变量分布的描述,其中包括:

  • 变量的极端值。
  • 常用的百分位数,包括四分位数和中位数。
  • 用几个散点图描绘变量的分布。
  • 频数表。
  • 确定数据为正态分布的检验。

5.2.1 语法格式

Univariate过程的语法格式如下:

PROC UNIVARIATE [ DATA= <数据集名> [选项] ];

指定要分析的数据集名及选项

 [ VAR <变量名列> ;

指定要分析的变量名列

 BY <变量名列> ;

按变量名列分组统计,要求数据集已按该变量名列排序

 FREQ <变量名> ;

表明该变量为分析变量的频数

 WEIGHT <变量名> ;

表明分析变量在统计时要按该变量权重

 ID <变量名> ;

输出时加上该变量作为索引

 OUTPUT OUT= <数据集名>

指定统计量的输出数据集名

 关键字= <新变量名列>...

指定统计量对应的新变量名

 pctlpts=<百分位数, ...>

指定需要的百分位数

 pctlpre=<新变量名列>] ;

指定所需百分位数对应的输出变量名

如果省略所有非必需的语句和选项,则UNIVARIATE过程按默认情况输出全部变量的全部常用统计量。

5.2.2 语法说明

【选项】

Univariate过程常用的选项如下:

  • NOPRINT 禁止统计报告在OUTPUT视窗中输出
  • PLOT 绘出茎叶图、箱式图和正态概率图
  • FREQ 给出频数表
  • NORMAL 对变量进行正态性检验

【关键字】

SAS中用关键字来指定所需要的统计量,事实上结果输出中用的就是各种关键字,常用的关键字有:

  • 基本统计量 N MEAN STD(标准误) CV SUM VAR(方差) RANG
  • 百分位数描述 MIN P1 P5 P10 Q1 MEDIAN Q3 P90 P95 P99 MAX
  • 与假设检验有关的统计量 STDMEAN(标准误) T

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”中,请绘制直方图,计算均数、标准差s、变异系数CV、中位数Mp2.5p97.5(卫统p233 1.1题)。

解:UNIVARIATE过程的默认输出中并不给出p2.5p97.5,因此程序中要加以相应修改,最后在OUTPUT视窗中只会输出所需的几个统计量,具体程序如下:

libname a 'c:\user';

指定c:\user文件夹为数据库a

data a.wt1_1;

数据步开始,指定要建立的数据集为a库的wt1_1

 infile 'c:\user\wt1_1.dat';

采用外部文件读入方式,文件名为c:\user\WT1_1.dat

 input x @@;

输入的变量为x,采用连续输入的格式

proc gchart data=a.wt1_1;

调用绘图程序步gchart,所用数据集为a.wt1_1

 vbar x ;

绘出竖直条图,用于绘图的变量为x

proc univariate data=a.wt1_1 noprint;

调用程序步univariate,并且禁止在OUTPUT视窗中输出

 var x;

要分析的变量为x

 output out=temp

指定输出数据集为work.temp,

 n=n mean=xbar std=s cv=cv median=m

nmeanstdcvmedian按指定变量名存

 pctlpts=2.5,97.5 pctlpre=per;

指定输出p2.5p97.5,其输出变量名以per开头。

proc print data=temp;

将数据集work.temp的内容打印输出

run;

开始运行以上程序

5.4 50例链球菌咽峡炎患者的潜伏期如下,计算其均数、中位数和几何均数(卫统p233 1.3题)。

12~

24~

36~

48~

60~

72~

84~

96~

108~120

1

7

11

11

7

5

4

2

2

解:由于几何均数无法直接得到,因此将数据集加以对数变换,求出均数后再行反对数变换得到几何均数,程序如下:

libname a 'c:\user';

指定c:\user文件夹为数据库a

data a.wt1_3;

数据步开始,指定要建立的数据集为a库的wt1_3

 input x f @@;

输入的变量为xf,采用连续输入的格式

 x=x+6;

将变量x的值更正到每个组段的组中值处

 logx=log(x);

定义新变量logx为变量x的自然对数,用于算出几何均数

 cards;

数据块开始

 12 1 24 7 36 11 48 11 60 7 72 5 84 4 96 2 106 2

数据块

;

数据块结束

proc print;

将数据集a.wt1_3的内容打印输出

proc univariate data=a.wt1_3 noprint;

调用程序步univariate,并且禁止在OUTPUT视窗中输出

 var x logx;

要分析的变量为xlogx

 freq f;

指定变量f代表分析变量x的频数

 output out=temp n=n mean=xbar logxmean median=m ;

输出数据集和统计量的定义

data temp2;

数据步开始,指定要建立的数据集为work.temp2

 set temp;

work.temp2继承work.tmep的全部数据

 g=exp(logxmean);

产生新变量g,它等于elogxmean

 drop logxmean;

work.temp2中删除临时变量logxmean

proc print data=temp2;

输出数据集work.temp2中的数据

run;

开始运行以上程序

请注意,这里UNIVARIATE过程有两个分析变量X和LOGX,因此在OUTPUT语句中MEAN=后跟了两个变量名,它们分别存储两个变量的均数,而其余的关键字后只有一个变量名,则它们只存储分析变量序列的第一个变量X的统计结果。

§5.3 MEANS过程

Means过程提供单个或多个变量的简单描述。和Univariate过程相比,它更倾向于描述已经明确样本所在总体符合正态分布的变量,因此它不提供百分位数,但可以提供95%可信区间。同时在多个变量输出时,它的输出格式紧凑,便于阅读。

5.3.1 语法格式

PROC MEANS [ DATA= <数据集名> [选项]

指定要分析的数据集名及一些选项

 [统计量关键字列表] ] ;

列出需要的统计量

 [VAR <变量名列>;

要分析的变量名列

 BY <变量名列>;

按变量名列分组统计,要求数据集已按变量名列排序

 CLASS <变量名列>;

按变量名列分组统计,不要求数据集排序

 FREQ <变量名>;

表明该变量为分析变量的频数

 WEIGHT <变量名>;

表明分析变量在统计时要按该变量权重

 ID <变量名列>;

输出时加上该变量作为索引

 OUTPUT <OUT= 数据集名>

指定统计量的输出数据集名

 关键字= <新变量名列>... ] ;

指定统计量对应的新变量名

5.3.2 语法说明

【选项】

Means过程常用的选项如下:

  • NOPRINT 禁止统计报告在OUTPUT视窗中输出
  • MAXDEC=n 给出列表输出的最大小数位数,缺省值为2

【统计量关键字】

MEANS过程中常用的统计量关键字有:

  • 基本统计量 N MEAN STD CV SUM VAR RANG MIN MAX
  • 与假设检验有关的统计量 STDERR(标准误) T PRT(t对应的p) LCLM(可信区间下限) UCLM(可信区间上限)

注意Means过程中标准误的关键字是STDERR,而Univariate过程中为STDMEAN,另外LCLM和UCLM这两个关键字也是Univariate过程所没有的。

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的均数、标准差s、变异系数CV95%可信区间,并检验其总体均数是否为0(卫统p233 1.1题)。

解:如果数据集a.wt1_1已经建立,则程序如下:

proc means data=a.wt1_1 n mean std cv lclm uclm t prt ;

 var x;

run;

§5.4 TTEST过程

顾名思义,TTEST过程就是用于进行两样本均数的比较,它给出两总体方差齐和不齐时的检验结果,并同时做方差齐性检验。综合两者的结果,即可做出判断。

事实上,ttest过程的功能非常有限,只能做一般的两样本t检验,对于按频数表格式输入的资料,我们只能用以后要介绍的ANOVA等过程来分析。

5.4.1 语法格式

PROC TTEST [ DATA= <数据集名>

指定要分析的数据集名

[COCHRAN] ] ;

要求在方差不齐时做COCHRAN近似

 CLASS <变量名>;

必需,指定一个两分类的分组变量

 [ VAR <变量名列>;

指定要检验的变量名列

 BY <变量名列> ] ;

按变量名列分组统计

5.4.2 结果解释

以例5.2TTEST过程为例,它的输出结果如下:

                                        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.09DF = (15,17)p = 0.8589,可见在本例中方差是齐的,从而应选用方差齐时的t检验结果,即t= -1.8179ν=32p=0.0785,按α=0.05水准,不拒绝H0,尚不能认为慢支炎患者与健康人的尿17酮类固醇排出量不同。

5.4.3 应用实例

5.6 某医院对9例慢性苯中毒患者用中草药一号抗苯一号治疗,得下列白细胞总数(109/L),问该药是否对白细胞总数有影响(卫统p225 2.3题)?

病人号

1

2

3

4

5

6

7

8

9

治疗前

6.0

4.5

5.0

3.4

7.0

3.8

6.0

3.5

4.3

治疗后

4.2

5.4

6.3

3.8

4.4

4.0

5.9

8.0

5.0

解:该题为样本差值均数和总体均数为0比较的t检验,TTEST过程无法完成。这里用MEANS过程来处理,程序如下:

libname a 'c:\user';

data a.wt2_3;

 input x y @@;

 tempvar=x-y;

用新变量tempvar来记录同一病人治疗前后白细胞的差值

 cards;

 6.0 4.2 4.8 5.4 5.0 6.3 3.4 3.8

 3.4 3.8 7.0 4.4 3.8 4.0 6.0 5.9

 8.0 5.0

;

proc means n mean std

 stderr t prt ;

利用Means过程检验差值总体均数是否为0

 var tempvar;

要分析的变量为tempvar

run;

开始运行程序

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

解:程序如下:

libname a 'c:\user';

data a.wt2_5;

 input group x @@;

 logx=log(x);

将数据做自然对数转换

 cards;

 1 100 1 200 1 400 1 400 1 400 1 400

 1 800 1 1600 1 1600 1 1600 1 3200

 2 100 2 100 2 100 2 200 2 200 2 200

 2 200 2 400 2 400

;

proc print;

proc ttest ;

调用ttest过程进行t检验

 class group;

分组变量为group

 var logx;

要统计的变量为logx

run;

 

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

两个率或多个率的比较,我们非常熟悉的就是采用卡方检验的方法。除此之外,在特定条件下还可根据正态近似的原则采用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 <DESCENDING> 变量名-1 <...<DESCENDING> 变量名-n> <NOTSORTED>

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

 OUTPUT 统计量关键字 <OUT=SAS-data-set>

 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语句的选项主要用以指定所要进行的具体统计分析方式,如: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卡方检验,程序的步骤和内容也是基本相同的。

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

libname a 'e:\data\';

data a.case5_2;

  do age=1 to 4;

    do pathtype=1 to 3;

    input count@@;

    output;

   end;

  end;

  datalines;

  60 16 59 208 111 306

  66 79 119 21 47 43

  ;

run;

proc freq;

  tables age*pathtype/chisq;

  weight count;

run;

quit;

大家可以看到,和上例的程序相比,此例并无多少差异,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表的拆分问题,关于此内容统计学教科书上多数都有介绍,感兴趣的可以自己研究一下。

本章关于两个率和多个率的比较问题就先介绍这么些内容,下一章我们将讨论非参数统计方法的编程实现。


【本文由 中国心理学家网 发布,转载须保留本文链接!手机浏览网页显示不完整时,请点击网页底部的电脑版。欢迎关注本站微信公共号:xinlixuejianwang

相关专题:

相关信息:
 没有相关信息

相关评论:
 没有相关评论
发表、查看更多关于该信息的评论 将本信息发给好友 打印本页
版权所有  中国心理学家网技术支持创立互联    通讯地址:安徽医科大学医学心理学150#   邮编:230032

联系电话:0551—2826223  E-mail:cnpsy@126.com QQ:619938829  皖ICP备08103527号-3国内心理学类综合性门户网站
中国心理学家网电脑版 中国心理学家网手机版 中国心理学家网微信公共号:xinlixuejianwang