【发布时间】:2020-04-03 01:22:45
【问题描述】:
我正在使用proc tabulate 创建一堆频率表,我必须根据一组关于我的数据集中每个person 的年龄的权重来衡量百分比。我的问题是权重似乎对我的结果有任何影响。我知道,我可以使用 proc freq 来做到这一点,但我的表格非常详细,因此我使用的是 proc tabulate。
我已经包含了一个数据集的示例,以及到目前为止我尝试过的内容:
Data have;
input gender wgt q1 year;
lines;
0 1.5 0 2014
0 1 1 2014
0 1.5 1 2014
0 1 1 2014
0 1.5 0 2014
1 1 1 2014
1 1 1 2014
1 1 1 2014
1 1 0 2014
1 1 1 2014
1 1 1 2014
;
run;
Proc format;
value gender 0="boy";
1= "girl";
value q1f 0= "No"
1="Yes";
run;
Proc tabulate data=have;
class gender q1 year;
weight wgt;
table gender*pctn<q1>, year*q1;
format gender gender. q1 q1f.;
run;
我知道结果应该是那个应用程序。 46,2 % 男孩已经回答“否”和应用程序。 53,8 % 的人回答是,当我包括权重时,但 proc 表格的输出给了我 40 % 否和男孩中的 60 % 是的。
我做错了什么?
【问题讨论】:
-
我不知道
sas语言,但是没有权重,输出是正确的,因为 3/5 男孩投了赞成票(60%)。所以也许你需要做类似table gender*pctn<q1*wgt>, year*q1 -
确认 - 您正在尝试制作类似的东西,但使用 proc tabulate?
proc freq data = have; table gender * q1 /nocol nopercent nofreq; weight wgt; format gender gender. q1 q1f.; run;
标签: sas