SAS ---如何为虚拟变量创建变量百分比

时间:2019-01-30 20:49:03

标签: sas percentage

我正在寻找一种更好的方法来识别虚拟变量中类别的百分比。

名为class1的伪变量具有两个类别,分别为通过(1)和不通过(0)。我使用以下代码来计算通过率。

 proc means noprint data=HAVE;
 by date_l_;
 var class1 ;
 output out=result sum(class1)=t1;
 run;

 data WANT;
 set result;
 percentage=t1/_freq_;
 run;

但是,如果有更多类别,则此方法将不起作用。此外,由于我需要在原始数据集中表示百分比,因此我应该使用额外的代码将WANT与原始数据集结合起来。在这种情况下,我想知道在虚拟变量中是否有更简便的方法来标识类别的百分比。

1 个答案:

答案 0 :(得分:2)

0/1变量的平均值是比例。

proc means noprint data=HAVE;
   by date_l_;
   var class1;
   output out=result mean=prop n=denom sum=count;
   run;