0
我对SAS比较新,需要根据变量计算移动平均数。 我已经取得了一些示例代码解释:计算SAS中的移动平均数
DATA testData;
input shop year sales;
datalines;
01 01 20000
01 02 23500
01 03 21020
02 01 23664
02 02 15420
02 03 14200
03 01 25623
03 02 12500
03 03 20030
;
run;
DATA average;
retain y 0;
set testData;
y = y + sales;
avg = y/_n_;
run;
这给了我平均为我所有的销售。我想要做的只是得到每家商店的平均值,并根据去年,然后根据该商店的所有年份。然后再次开始下一家商店。希望这会产生某种意义。我不希望店铺1的任何一年的移动平均值会影响店铺2的平均值。
技术上您正在计算累计平均,而不是移动平均值(使用相同数量的周期,但每次横跨移位)。这很容易在数据步骤中进行编码,如@vasilij所示。移动平均代码更复杂,但只要您拥有SAS ETS许可证,可以使用'proc expand'轻松完成。 – Longfish
你应该看看PROC MEANS和WAYS和TYPES语句。它们允许您控制结果的级别。我认为,从长远来看,这可能是一个更好的解决方案,而不是数据步骤。 – Reeza