data have;
input id $ num;
datalines;
a 1
a 2
a 4
a 3
b 2
b 3
b 9
;
run;
每个id的数据都是按日期排好序的,为方便就不列日期了。我要得到的是每个id,自初始第一个观测开始至当前观测的平均值和标准差,即得到如下的结果:
id num mean std
a 1 1 #DIV/0!
a 2 1.5 0.707106781
a 4 2.333333333 1.527525232
a 3 2.5 1.290994449
b 2 2 #DIV/0!
b 3 2.5 0.707106781
b 9 4.666666667 3.785938897
首先,我想过用array来做,但是因为这里的需要计算的数会逐渐增加,而且我的表格的观测数量很大,用array可能会比较耗时间。
另外,好像也不能用retain来做。只求平均值的话,用retain计算累积值再平均还比较方便,但是求标准差的话,估计就麻烦了。
现在想来用R的话会很方便,但是还是想用SAS实现下。现在想得头都大了,所以请教版上高人了,多谢!



雷达卡




京公网安备 11010802022788号







