我正在构建一张人生表。我的数据如下所示:滞后功能未完成
age npx
=================
0-1 0.996
1-4 0.9955
5-9 0.9966
我想构建一个新变量lx
。 age="0-1"
的值lx
为100,000
。 对于以前的记录,"1-4"
的值将为lx * npx
。
这里是我的代码:
if age = "0-1" then lx = 100000;
lag_lx = lag1 (lx);
lag_npx = lag1 (npx);
lx = lag_lx * lag_npx;
什么情况是,程序停止第二记录之后计算lx
; 从第3记录开始,lx
已有.
(缺失)
表示在lx'被初始化为丢失数据跳跃'的每一次迭代,而且只有指定'lx'如果'年龄=“0-1” '。但是这种情况在第一条记录中才是真实的,所以'lx'在其他记录中不存在。要解决这个问题,请在数据步骤的顶部添加'retain lx;'。 –