SAS - 按多个组计算平均值

时间:2017-11-22 21:18:51

标签: sas mean

假设数据集如下:

id    date         var1
001   20170101    1
001   20170101    2 
001   20170101    3
001   20170102    1
001   20170102    2
002   20170101    1
002   20170101    2
002   20170102    1
002   20170102    2

我通过以下代码计算每个日期中每个id的平均值。

proc summary data=HAVE nway;
class id date;
var var1 ;
output out=WANT(drop=_:) mean=mean std=std;
run;

但是,WANT仅表示日期,平均值和标准,但不包含ID。我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:2)

我无法重现您的问题。传递后

   data have;
     informat date yymmdd8.;
     input id date  var1;

   datalines;
   001 20170101 1
   001   20170101    2 
   001   20170101    3
   001   20170102    1
   001   20170102    2
   002   20170101    1
   002   20170101    2
   002   20170102    1
   002   20170102    2
   ;
   run;

   proc summary data=HAVE nway;
     class id date;
     var var1 ;
     output out=WANT(drop=_:) mean=mean std=std;
   run;

我像你所展示的那样得到了HAVE数据集,但结果数据集WANT包括两个类变量。也许你的实际id变量以下划线为前缀,并使用drop = _:?

来死
相关问题