只是简单的思路:将数据集中的记录值(x)按照day天求均值,输出到新数据集b中,然后按照day将原数据集与b横向合并。
data a;
do day = 1 to 30;
do record= 1 to 60;
x=round(50*ranuni(136),.03);
output;
end;
end;
run;
proc means noprint ;
var x;
by day;
output out=b mean=mean_a;
run;
proc sort data=a out=a_s;
by day;
run;
proc sort data=b out=b_s;
by day;
run;
data c;
merge a_s b_s(keep=day mean_a);
by day;
run;