我正在尝试在SAS中计算一个依赖于自身的列.例如,我有以下初始值列表
ID Var_X Var_Y Var_Z
1 2 3 .
2 . 2 .
3 . . .
4 . . .
5 . . .
6 . . .
7 . . .
Run Code Online (Sandbox Code Playgroud)
我需要填补空白区域.公式如下:
Var_Z = 0.1 + 4*Var_x + 5*Var_Y
Var_X = lag1(Var_Z)
Var_Y = lag2(Var_Z)
Run Code Online (Sandbox Code Playgroud)
当我们看到Var_X的值时,Var_Y和Var_Z是相互依赖的.因此,计算需要遵循特定的顺序.
First we compute when ID = 1, Var_Z = 0.1 + 4*2 + 5*3 = 23.1
Next, when ID = 2, Var_X = lag1(Var_Z) = 23.1
Run Code Online (Sandbox Code Playgroud)
Var_Y不需要在ID = 2时进行计算,因为我们在这里已经有了初始值.所以,我们有
ID Var_X Var_Y …Run Code Online (Sandbox Code Playgroud) sas ×1