Consider following code: data test;
do i = 1 to 100;
if i=1 then do
x=0.5;
end;
else do;
x=lag(x)+0.1;
end;
output;
end;
run; I expect the result to be 0.5 0.6 0.7 0.8 But the result is: 0.5 . 0.6 . 0.7 . 0.8 There are missing values. What happened here? ---------------------------------------------------------------------------------------------- Finally I thought maybe I have to use IML with some more lines of code: proc iml;
x=J(100,1,0.5);
e=J(100,1);
call randseed(1);
call randgen(e, "normal");
do i=3 to 100;
x[i]=0.3*x[i-1]+0.4*x[i-2]+e[i];
end;
create test from x [colnames=("x")];
append from x;
close test;
quit;
... View more