SAS系统中的FREQ过程用于列联表分析,即分析包含有一个或多个类别变量的数据集文件。此过程主要功能如下:绘制次数分配表或列联表;计算λ2 统计量、Fisher's精确性检验统计量(Fisher's Exact Test)等。 FREQ语句的一般使用格式为: - PROC FREQ DATA=SAS数据集<选项列表>;
- BY变量列表;
- WEIGHT变量列表;
- EXACT选择统计量</选项列表>;
- TABLES要求列表</选项列表>;
- OUTPUT<OUT=数据集名>选项列表;
- RUN;
复制代码
PROCFREQ语句后的选项如表所示。
PROCFREQ语句后的选项列表 | 选项 | 意义 | FORMCHAR(1,2,7) | 定义列联表的边缘和中间分割线的形式,如FORMCHAR(1,2,7)=’|-+’代表列表的纵向用“|”表示,列表的横向用“-”表示,交叉处用“+”表示,此为系统默认形式 | ORDER= | 定义某一变量下各类别的输出次序,若定义ORDER=FREQ,则次序先后按类别次数降序排列;若ORDER=DATA,则类别次序即为它们在输入文件内出现的次序;若ORDER=INTERNAL时,类别次序由英文字母先后顺序决定;若ORDER=FOUMATTED,则类别次序由外在格式决定。若此项省略,则系统默认按英文字母先后顺序输出,且缺失数据排在最前面 | PAGE | 每一页打印一张表格 | NLEVELS | 输出所有列表变量的水平数 | NOPRINT | 不打印出结果 |
FREQ过程中主要使用的语句含义如下: BY语句——定义分层分析变量,要求分析数据集事先按BY语句指定的变量排序。 WEIGHT语句——定义观测的加权变量(一般每个观测只代表一个数据点)。加权变量的值可包含小数,但必须为正。 EXACT语句——使用EXACT语句需要精确定义指定统计量的检验或置信度,此语句适用于数据量较少的精确计算。其后可以定义的统计量主要如表所示。
EXACT语句可定义的统计量 | 统计量 | 意义 | AGREE | 对二维列联表的尼曼检验,简单/加权的卡帕参数检验 | BINOMAL | 对一维表格的二项式比例检验 | CHISQ | 对一维表格的λ2拟合检验;对二维列联表的PEARSONλ2检验,似然比λ2检验和MANTEL-HAENSZELλ2检验 | FISHER | FISHER'S精确检验 | JT | Jonckheere-Terpsta检验 | KAPPA | 简单的KAPPA参数检验 | LRCHI | 似然比λ2检验 | MCNEM | 对2*2维列联表进行MCNEMAR'S检验 | MEASURES | 对2*2维列联表进行PEARSON系数和SPEARMAN系数检验,估计风险比的置信度 | MHCHI | MANTEL-HAENSZELλ2检验 | OR | 对2*2维列联表估计风险比的置信度 | PCHI | PEARSONλ2检验 | PCORR | 检验PEARSON相关系数 | RISKDIFF | 对2*2维列联表的比率差的置信度,若估计第一列(第二列)的比率差的置信度可用RISKDIFF1(RISKDIFF2) | SCORR | Spearman相关系数检验 | TREND | Cochran-Armitage趋势检验 | WTKAP | 加权KAPPA系数检验 |
EXACT语句斜杠(/)后可选的主要控制选项如表所示 EXACT语句后主要的可选项 选项 | 意义 | ALPHA=A | 定义显著性水平 | MAXTIME | 定义FREQ过程每计算一个精确的P值的时间(单位为秒) | MC | 要求用MONTE-CARLO方法估计每个P值,而非计算精确P值 | N=n | 定义MONTE-CARLO估计的最大次数,必须取整数,系统缺失值为10000 | POINT | 对检验统计量进行点估计 | SEED=NUMBER | 定义随机MONTE-CARLO估计的原始种子,必须取整数 |
TABLES语句——此语句主要用于设计频数分布表,即安排一元、二分类或多分类变量。 定义时,一般用星号连接各变量,常见定义形式如表所示。
TABLES语句一般定义形式 | 形式 | 含义 | TABLESAB; | 画次数分布表 | TABLESA*B/选项; | 画二维交叉表,变量A为行,变量B为列 | TABLESA*B*C/选项; | 画三维交叉表,变量A形成表的层,变量B为行,变量C为列 |
若需定义多个频数分布表,可用括号及两横线(--)简化语句撰写,表8-5列出了几种简化的定义形式。
TABLES语句简化定义形式 | 简化形式 | 等价形式 | TABLESA*(BC) | TABLESA*BA*C; | TABLES(AB)*(CD) | TABLESA*CA*DB*CB*D; | TABLES(ABC)*D | TABLESA*DB*DC*D; | TABLES(A--C)*D | TABLESA*DB*DC*D; | TABLES(A--D); | TABLESABCD; |
若未定义TABLES语句,则FREQ过程对数据集中的每个变量都生成一个一维频数表。在FREQ过程一次可包含多个TABLES语句。 TABLES语句斜杠(/)后可用的主要控制选项如表所示。
TABLES语句后的可选项 | 选项 | 意义 | CHISQ | 要求对每一层的齐性或独立性进行Λ2检验 | MEASURES | 要求一系列的线性关系指标和它们的标准误 | JT | Jonckheere-Terpsta检验 | FISHER | FISHER'S精确检验 | BINOMAL | 二项分布比率,置信度,对一维表格的检验 | CMH | 输出Cochran-Mantel-Haenszel相关统计量 | ALL | 要求CHISQ、MEASURES、CMH统计测试及计算关系指标 | AGREE | 要求计算且检验列联表中行变量和列变量的吻合程度 | EXPECTED | 在独立性或齐性的假设下,输出单元频数的期望值 | DEVIATION | 要求输出各单元期待频数和实际频数的差值 | CELLCHI2 | 要求输出每一单元对Λ2统计量的贡献 | NOFREQ | 不输出交叉表的单元频数 | NOPERCENT | 不输出交叉表的单元百分数 | NOROW/NOCOL | 不输出单元行或列百分数 | SCORE=RANK/TABLE/RIDIT/MODRIDIT | 指明用何种数据执行CMH统计检验或计算皮尔逊相关系数。若SCORE=TABLE,指分配表上行与列的次数,其他三种用来做非参数分析 | ALPHA= | 定义犯第一类错误的概率 | MISSING | 在计算百分数及其他统计量时包括缺失值 | LIST | 以非交叉表来表示频数结果 | NOCUM | 不输出累计频数和累计百分比 |
OUTPUT语句——产生一个包含分析结果的输出数据文件,包括TABLES语句中定义的输出统计量、有效和遗漏数据的个数。此选项后可指定的关键字的字符串如表所示。
关键字字符串 | 关键字 | 意义 | _AJCHI_ | 经过连续性校正后的λ2值 | _ALL_ | 由选项CHISQ、CMH、MEASURE导出的统计量的值和有效数据的个数 | _CHISQ_ | 三个λ2检验统计量的值 | _PLCORR_ | 多元相关系数 | 注意:在界定包含在新数据集中的关键字前,读者必须在TABLES语句中定义其相关选项,否则此关键字的值将缺失。
|