基于新变量的初始值的SAS新变量
我有一个超过3000次观测的时间序列数据集。我试图创建一个新变量,该变量依赖于该变量的先前值,我很难让SAS计算每个观察值,以确保在到达下一个观察值之前计算先前值 我已将第一个观察值设置为1。然后,对于剩余的观察值,我希望SAS计算: 新变量=新变量*1+2基于新变量的初始值的SAS新变量,sas,Sas,我有一个超过3000次观测的时间序列数据集。我试图创建一个新变量,该变量依赖于该变量的先前值,我很难让SAS计算每个观察值,以确保在到达下一个观察值之前计算先前值 我已将第一个观察值设置为1。然后,对于剩余的观察值,我希望SAS计算: 新变量=新变量*1+2 有什么想法吗?我相信这是一个相对简单的答案,但我自己还没能破译出来 您可以尝试retain语句而不是lag语句 retain new_var; new_var = new_var * (1+Var2); 我问了同样的问题,来到这里寻找答案
有什么想法吗?我相信这是一个相对简单的答案,但我自己还没能破译出来 您可以尝试retain语句而不是lag语句
retain new_var;
new_var = new_var * (1+Var2);
我问了同样的问题,来到这里寻找答案。我提出了以下逻辑,因此想在这里为未来的SAS爱好者解答这个问题: 使用或创建具有唯一值的现有或新变量。您可以在SAS中使用retain语句,也可以在proc sql中使用单调函数,如下所示: /使用proc-sql/ proc-sql; 将表temp6创建为 从temp5中选择一个*,单调为var3; 退出 /使用数据步/ 数据temp7; 设定节拍5; 保留var3; var3+1; 运行 拥有此变量后,可以使用retain语句和first。用于计算新风险值的标志,如下所示。我已经在第一行用1初始化了新的_变量。您可以相应地更改初始值 数据temp8; 设定节拍7; 由var3; 保留新的变量1; 如果first.var3,则New_Var=New_Var*1+Var2; 运行
希望这有帮助 重要的是要注意,即使输入集或合并数据集上缺少新的_var,也不能存在。