如何在SAS EG中为日常数据做一些手段和其他计算

时间:2016-11-17 16:22:11

标签: sas

我有以下数据集,下面列出了我想要做的事情:

data have;
 infile cards truncover expandtabs;
 input MC $ ET $ Date :date9. Time :time. PMC $ PXMC $ Site $ Dia MV SF;
 format date date8. Time HHMM.;
 cards;
US000409 Meas 12Nov2016 17:26 7101 Et1 1 . 2780462.00000 1
US000409 Meas 12Nov2016 17:33 7101 Et1 1 861.26 2780462.00000 1
US000409 Meas 12Nov2016 17:33 7102 Et1 1 861.6 2780462.00000 1
US01036 Meas 12Nov2016 17:26 7101 Et1 2 . 522860.00000 1
US01036 Meas 13Nov2016 17:33 7202 Et1 2 866.68 522860.00000 1
US01036 Lath 13Nov2016 17:33 7101 Et1 2 867.36 522860.00000 1
US02044 Meas 13Nov2016 17:26 7202 Et1 1 . 569298.00000 1
US02044 Lath 13Nov2016 17:33 7202 Et1 1 865.32 569298.00000 1
US02044 Lath 14Nov2016 17:33 7202 Et1 2 865.68 569298.00000 1
US318 Meas 14Nov2016 17:26 7101 Et2 2 . 2630856.00000 1
US318 Lath 14Nov2016 17:33 7202 Et2 3 863.26 2630856.00000 1
US318 Meas 14Nov2016 17:33 7202 Et2 3 863.94 2630856.00000 1
US000409 Meas 15Nov2016 21:56 7202 Et2 3 860.98 2780462.00000 1
US000409 Lath 15Nov2016 21:56 7203 Et2 4 861.5 2780462.00000 1
US01036 Meas 16Nov2016 21:56 7101 Et2 4 866.64 522860.00000 1
US01036 Meas 16Nov2016 21:56 7202 Et2 4 867.34 522860.00000 1
US02044 Lath 17Nov2016 21:56 7203 Et2 1 865.3 569298.00000 1
US02044 Meas 17Nov2016 21:56 7204 Et2 3 865.68 569298.00000 1
US318 Lath 17Nov2016 21:56 7204 Et2 2 863.24 2630856.00000 1
;
run;

我想计算:

1。每个'MC'的每日平均值'Dia'

2。对于每个'PMC',上面的步骤1

第3。对于每个'MC','MV'

之间有什么区别

4。对于“日期”中的每个年份,每个“MC”

有多少个Lath

我试过一种方法:

PROC MEANS DATA=have ;
  CLASS MC;
  VAR Dia;
  OUTPUT OUT=want1 MEAN= ;
RUN;

但寻找其他选择和方式......

感谢。

1 个答案:

答案 0 :(得分:1)

使用PROC SQL通过其他变量计算平均DIA的一种方法:

JPanel

另一种选择:

proc sql;
select MC
    ,Date
    ,mean(DIA) as meanDIA
from have
group by MC, Date;
quit;