我有一个带有行百分比的Proc制表输出,并且我希望每个汇总变量的所有受访者总数。我得到的最接近的结果是,它在每个变量的下方添加了一行用于计数,但是实际上,我只需要在末尾增加一列即可代表总数。
PROC TABULATE DATA = CHSS2017 f=10.2 S=[foreground=black just=c cellwidth=75];
CLASS EDUC
AREA
AGE
SEX
CENRACE
POVERTY
EDUC
INSURE
HEALTH
Q21;
CLASSLEV EDUC / style=[font_weight=medium background=colfmt.];
CLASSLEV AREA / style=[font_weight=medium background=colfmt.];
CLASSLEV AGE / style=[font_weight=medium background=colfmt.];
CLASSLEV SEX / style=[font_weight=medium background=colfmt.];
CLASSLEV CENRACE / style=[font_weight=medium background=colfmt.];
CLASSLEV POVERTY / style=[font_weight=medium background=colfmt.];
CLASSLEV INSURE / style=[font_weight=medium background=colfmt.];
CLASSLEV HEALTH / style=[font_weight=medium background=colfmt.];
CLASSLEV Q21;
TABLE AREA = 'Area in Region' * (ROWPCTN=' '*f=PCTF.)
AGE = 'Age' * (ROWPCTN=' '*f=PCTF.)
SEX * (ROWPCTN=' '*f=PCTF.)
CENRACE = 'Race' * (ROWPCTN=' '*f=PCTF.)
POVERTY = 'Poverty Status' * (ROWPCTN=' '*f=PCTF.)
EDUC * (ROWPCTN=' '*f=PCTF.)
INSURE * (ROWPCTN=' '*f=PCTF.)
HEALTH * (ROWPCTN=' '*f=PCTF.), Q21 = ' ' ALL*f=8;
RUN;
我一直尝试在摘要变量(Area,Sex,Age)中添加“ * n”或“ * all”,但只会出错。我想要的输出应该看起来像图像,除了“ Count”列是总和而不是100或100%
data WORK.CLASS(label='Survey Data');
infile datalines dsd truncover;
input age:3. sex:3. cenrace:3. q21:3. regionwt:16.;
datalines;
5 4 2 2 0.1214634338
5 3 2 2 1.1946976229
7 4 2 2 0.6734857715
7 4 2 2 2.5191297921
5 3 2 1 0.2390983852
;;;;
答案 0 :(得分:0)
没有数据很难回答,但是尝试一下:
TABLE AREA = 'Area in Region' * (ROWPCTN=' '*f=PCTF.)
AGE = 'Age' * (ROWPCTN=' '*f=PCTF.)
SEX * (ROWPCTN=' '*f=PCTF.)
CENRACE = 'Race' * (ROWPCTN=' '*f=PCTF.)
POVERTY = 'Poverty Status' * (ROWPCTN=' '*f=PCTF.)
EDUC * (ROWPCTN=' '*f=PCTF.)
INSURE * (ROWPCTN=' '*f=PCTF.)
HEALTH * (ROWPCTN=' '*f=PCTF.)
ALL , Q21 = ' ';
编辑:重新阅读您的问题,我认为这就是您想要的。将N与ROWPCTN相加,但之后不加任何值。您可以根据需要添加格式。您可能还需要为每个对象执行此操作。
AREA = 'Area in Region' * (ROWPCTN=' '*f=PCTF. N*f=8.)