sas - LAG function doesn't complete -
i constructing life table. data looks this:
age npx ================= 0-1 0.996 1-4 0.9955 5-9 0.9966
i want construct new variable lx
. value of lx
age="0-1"
100,000
. value "1-4"
lx * npx
previous record.
here's code:
if age = "0-1" lx = 100000; lag_lx = lag1 (lx); lag_npx = lag1 (npx); lx = lag_lx * lag_npx;
what happens program stops calculating lx
after 2nd record; record 3 on, lx
has .
(missing)
i go down ifn
route here doesn't screw think lagged value , makes code simple (have read of this paper). need retain
statement stated @alex a.
data have; input age $ npx; datalines; 0-1 0.996 1-4 0.9955 5-9 0.9966 ; data want; set have; retain lx; lx = ifn(age='0-1',100000,lx*lag(npx)); run;