Dv1 Dv2 Dv3 Dv4 Dv5 Dv6 Dv7 Dv8
1 1 2 5 5 7 9 9
3 4 8 8 8 9 10 .
2 5 9 11 13 13 . .
4 4 5 9 9 . . .
2 6 7 9 . . . .
2 4 6 . . . . .
1 3 . . . . . .
3 . . . . . . .
我有上述数据的更大版本。每列都有一个因子,当乘以前一列数据时,会得到当前列数据。
因子=(前5行的总和)/(左前一列的前5行的总和) 例如。第2列因子=(3 + 4 + 6 + 4 + 5)/(1 + 2 + 2 + 4 + 2)= 2,结果数据为:
Dv1 Dv2 Dv3 Dv4 Dv5 Dv6 Dv7 Dv8
1 1 2 5 5 7 9 9
3 4 8 8 8 9 10 .
2 5 9 11 13 13 . .
4 4 5 9 9 . . .
2 6 7 9 . . . .
2 4 6 . . . . .
1 3 . . . . . .
3 6 . . . . . .
如果数据上方不存在5,请使用任何可用行。
我想用SAS填写这个数据。我的问题是如何总结前5行,我相信我可以从那里开始。
非常感谢提前!
答案 0 :(得分:1)
LAG功能。
sum_prev5 = lag(x) + lag2(x) + lag3(x) + lag4(x) + lag5(x);