首页 > 解决方案 > Proc TABULATE 中的权重没有影响

问题描述

我有一个频率表,我将其输入到 Proc Tabulate 步骤中。数据带有权重变量,我想将加权结果包含在生成的表中。无论我在 VAR 或 WEIGHT 选项中使用权重变量,它对输出表都没有影响。我也尝试在 TABLE 语句中使用权重变量作为分析变量,但同样没有效果。


PROC FORMAT; PICTURE PCTF (ROUND) OTHER='009.9%'; RUN;
ODS HTML PATH="%SYSFUNC(GETOPTION(WORK) )" STYLE=JOURNAL1A;

PROC TABULATE DATA = CHSS2017_s1 f=10.2 S=[just=c cellwidth=75]; 

CLASS AGE SEX Q21;

CLASSLEV AGE      / style=[font_weight=medium];
CLASSLEV SEX      / style=[font_weight=medium];
CLASSLEV Q21;

WEIGHT REGIONWT ;
*VAR REGIONWT ;

TABLE ALL     = 'Greater Cincinnati Residents' * (ROWPCTN=' '*f=PCTF.)
      AGE     = 'Age'            * (ROWPCTN='   '*f=PCTF.)
      SEX                        * (ROWPCTN='   '*f=PCTF.)
      , Q21;

RUN;

预期结果应该是带有反映权重变量“REGIONWT”的值的 proc 表格输出

标签: sas

解决方案


根据我对文档的阅读,在 PROC TABULATE 中,WEIGHT 语句指定了分析变量的权重,即 VAR 语句中列出的变量。

你没有任何分析变量,你只有类变量。

您可能需要查看FREQ语句,因为它会影响计数和百分比,但请注意,它将所有权重视为整数。


推荐阅读