小编ann*_*ann的帖子

在SAS中生成相互依赖的数据

我正在尝试在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

4
推荐指数
1
解决办法
125
查看次数

标签 统计

sas ×1