您现在的位置: SPSS家园 >> sas教程 >> 基础教程 >> 教程正文
  • 此栏目下没有推荐教程
  • sas教程:第六章 分类资料的统计描述与简单推断
    作者:佚名    教程来源:本站原创    点击数:    更新时间:2007-10-30
     

    SAS/STAT模块中FREQTABULATESUMMARY等过程可用于分类资料的统计描述,其中FREQ过程兼具统计描述和统计推断的功能,对分类变量计算频数分布,产生从一维到n维的频数表和列联表;对于二维表,可进行c2检验,对于三维表,可作Mentel-Hanszel分层分析。FREQ过程是SAS用于分析分类资料的一个常用过程。本章将向大家介绍FREQ过程的用法。

    §6.1

    6.1 某医生用国产呋喃硝胺治疗十二指肠溃疡,以甲氰咪胍作对照组,问两种方法治疗效果有无差别(医统第二版P37 3.10)?

    未愈合

    合计

    呋喃硝胺

    54

    8

    62

    甲氰咪胍

    44

    20

    64

    98

    28

    126

    解:在建立行´ 列表的数据集时一般需要三个变量――行变量、列变量和指示每个格子中频数的变量。本例首先建立这样一个数据集,然后调用FREQ过程输出行´ 列表,同时利用CHISQ选项进行c 2检验。

    设定数据库环境:

    LIBNAME A C:\USER ;

    数据步,建立数据集(这里同时给出直接输入和利用循环语句输入两种程序):

    DATA A.YTLI8_1;

    DATA A.YTLI8_1;

     INPUT ROW COLUMN NUMBER ;

     DO ROW=1 TO 2;

     CARDS;

      DO COLUMN=1 TO 2;

     1 1 54

       INPUT NUMBER @@;

     1 2   8

       OUTPUT;

     2 1 44

      END;

     2 2 20

     END;

     CARDS;

    RUN;

     54 8 44 20

    RUN;

    调用FREQ过程,进行c 2检验:

    PROC FREQ DATA=A.YTLI8_1;

     TABLE ROW*COLUMN / CHISQ;

     WEIGHT NUMBER;

    RUN;

    §6.2 FREQ过程

    6.2.1 语法格式

    PROC FREQ [选项];

     TABLES 请求式/[选项];

      必需,指定行变量和列变量

     WEIGHT <变量名>;

      指定频数指定变量

    BY <变量名列>;

    如:PROC FREQ

    TABLES A

    产生变量A的一维频数表。

    PROC FREQ

    TABLES A*B

    产生AB两个变量的列联表,*前为行变量,*后为列变量。

    TABLES语句中用*号连接三个或n个变量名,可得到三维或n维列联表,最后一个变量各水平形成表的列,倒数第二个变量各水平形成表的行,其它变量的每一级水平(或水平组合)形成一层,且每一层都形成分离的列联表。

    如:PROC FREQ

    TABLES A*B*C*D

    列联表的数量为AB不同水平的组合数,每个表的上部为D的各水平,左侧为C的各水平。

    6.2.2 语法说明

    【程序步选项】

    • DATA=数据集 规定PROC FREQ语句使用的数据集
    • ORDERFREQ 按频数递减顺序排列
    • ORDERDATA 按数据集中出现的顺序排列
    • ORDERINTERNAL 按内部值排列(缺省)
    • ORDERFORMATTED 按外部格式值排列

    TABLES语句】

    PROC FREQ过程中可有多条TABLES语句,TABLES语句后可接多个表格请求式,每个请求式可包含任何数量的变量,从而得到所需的表格。

    如果TABLES语句缺省,则FREQ过程对数据集中的所有变量都给出相应的一维频数表。不规定任何选项时,若需某变量的一维频数,FREQ给出该变量每一水平的频数(freqency)、累积频数(cumulative freqency)、频数的百分比(percent)和累积百分比(cumulative percent);若需二维频数表,FREQ产生交叉分组列表,即包括各格的频数、总频数的格百分数、行频数的格百分数和列频数的格百分数。

    请求式由一个或多个用“*”连接起来的变量名组成。几个变量可放在括号中,如:

    TABLES A*(B C);等价于TABLES A*B A*C

    TABLES (A-C)*D;等价于TABLES A*D B*D C*D

    下列选项可用于TABLES语句中“/”的后面:

    1. 普通选项
    • OUT=数据集 建立一个包含变量值和频数计数的输出数据集。如果TABLES语句中不止一个请求式,数据集的内容相应于TABLES语句中最后一个请求。
    1. 统计分析选项
    • CHISQ 对每层作c 2检验,包括Pearson c 2、似然比c 2Mantel-Haenszel c 2。此外还给出与c 2检验有关的关联指标包括Phi系数、列联系数和Cramer’s V。对于2×2表,给出Fisher精确概率。
    • AGREE 进行配对c 2检验。
    • EXACT 对大于2×2的列联表计算Fisher精确概率。同时也给出CHISQ选项的全部统计量。
    • MEASURES 对每层的二维表计算一系列关联指标及相应的标准误,包括PearsonSpearman相关系数,以及GammaKendall系数等。对于2×2表,还给出常用的危险度指标及其标准误。
    • CMH 给出Cochran-Mantel-Haenszel统计量,可检验在调整了TABLES语句中其它变量后,行变量与列变量之间的关联程度。对于2×2表,FREQ过程给出相对危险度估计及其可信区间,还给出各层关联度指标是否齐性的Breslow检验。
    • ALL 给出CHISQMEASURESCMH所请求的全部统计量。
    • ALPHAp 给出检验水准。缺省为0.05
    1. 有关表格信息选项
    • EXPECTED 给出期望频数
    • DEVIATION 给出每格的实际频数与期望频数的差值
    • CELLCHISQ 给出每格对总c 2的贡献,即计算每格的(实际频数-期望频数)2/期望频数。
    • CUMCOL 给出累积列百分数
    1. 禁止输出选项
    • NOFREQ 不给出列联表中的格频数
    • NOPERCENT 不给出列联表中的格百分数
    • NOROW 不给出列联表中各格的行百分数
    • NOCOL 不给出列联表中各格的列百分数
    • NOCUM 不给出频数表的累积频数和累积百分数
    • NOPRINT 不给出表格,但给出CHISQMEASURESCMH等语句所指定的统计量。

    WEIGHT语句

    通常每个观察值提供数值1给频数计数,当WEIGHT语句出现时,每个观察值提供的是该观察值的加权变量值。该值必须非负,但可不必为整数。只能使用一个WEIGHT语句,且该语句作用于所有的表。

    6.2.3 结果解释

    TABLES语句不带任何选项时,FREQ过程只输出N维频数表,只有在选项中指定统计方法后才输出相应的检验结果。下面以本章例8.1的输出为例,解释FREQ过程的结果。

    TABLE OF ROW BY COLUMN

    每个单元格给出以下结果:ROW为行变量COLUMN为列变量

     

    ROW     COLUMN
    频数,指格频数  Frequency|
    百分数 Percent  | 百分数即指该格频数占总频数的百分比
    行百分数 Row Pct  | 指该格频数占该行总频数的百分比
    列百分数 Col Pct  |      1|     2 | Total 行变量的不同取值及合计

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

           1 |    54 |     8 |    62

             | 42.86 |  6.35 | 49.21
             | 87.10 | 12.90 |
             | 55.10 | 28.57 |
    ---------+-------+-------+
           2 |    44 |    20 |    64
             | 34.92 | 15.87 | 50.79
             | 68.75 | 31.25 |
             | 44.90 | 71.43 |
    ---------+-------+-------+
    Total         98      28     126
               77.78   22.22  100.00

    STATISTICS FOR TABLE OF ROW BY COLUMN

                        Statistic                      DF     Value      Prob

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

    Pearson c2          Chi-Square                      1     6.133      0.013

    似然比c2             Likelihood Ratio Chi-Square     1     6.304      0.012

    c2M-H                Continuity Adj. Chi-Square      1     5.118      0.024

                        Mantel-Haenszel Chi-Square      1     6.084      0.014

                        Fisher's Exact Test (Left)                       0.997

                                            (Right)                      0.011

                                            (2-Tail)                     0.018

                        Phi Coefficient                       0.221

                        Contingency Coefficient               0.215

                        Cramer's V                            0.221

                        Sample Size = 126 样本例数为126

    以上统计结果的最后三行为三个系数,三项均无P值,只给出具体的统计量值。它们都是用于刻划行变量、列变量两个分类变量之间关联强度的描述性统计量。

    给大家讲件真事,也是笑话,如果你笑得出来。有位同学做课题,考虑到统计不太熟,就找另一位研究生(当然不是统计专业的)来帮他。这位朋友用FREQ过程得出c 2检验结果,同学看了直犯愁,便问道:“这么多P值,用哪个呀?”朋友反问:“你是想有差别还是无差别?”他回答:“当然是有差别喽。”答曰:“那就用P值最小的那个!”

     6.2.4 应用实例

    6.2 某地测得6094人的血型结果如下,问ABO血型与MN血型有无关联?(医学统计学第二版P.197 2.11)

    M

    N

    MN

    合计

    O

    431

    490

    902

    1823

    A

    388

    410

    800

    1598

    B

    495

    587

    950

    2032

    AB

    137

    179

    325

    641

    1451

    1666

    2977

    6094

    解:程序如下:

    data.yt2_11;

     do a=1 to 4;

      do b=1 to 3;

       input count @@;

       output;

      end;

     end;

     cards;

     431 490 902 388 ...

    ;

    proc freq;

     tables a * b/chisq;

     weight count;

    run;

    6.3 用甲乙两种培养基培养结核杆菌45份,问两种培养基何者为优?(医学统计学第一版P.310 1.14)




    养基

     

    甲培养基

     
     

    +

    合计

    +

    12

    16

    28

    4

    13

    17

    合计

    16

    29

    45

    :程序如下(结果给出c2及其P):

    data a.yt1_14;

     input r c num @@;

     cards;

     1 1 12 1 2 16 2 1 4 2 2 13

    ;

    proc freq;

     tables r*c/agree;

     weight num;

    run;

    注:该方法在ASSIST视窗中无法实现,在低版本的SAS中也无法实现。

    相关文章
    没有相关教程
    姓 名:   *
    评 分:   1分 2分 3分 4分 5分
    内 容:  

    Copyright © 2006-2009 SPSS学习园地 All Right Reserved