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