1
Я пытаюсь получить кумулятивный продукт переменной x, давая P начальное значение 1. Используя итеративную процедуру, я должен получить что-то более простое, чем datastep WANT ниже. Благодарю.Накопительное возвращение SAS
DATA NUM;
INFILE DATALINES DSD;
INPUT X YEAR;
DATALINES;
0.99,2006
0.975,2007
0.983,2008
0.978,2009
;
DATA WANT;
set num;
by year;
lag_x=lag(x);
lag2_x=lag(lag_x);
lag3_x=lag(lag2_x);
if first.year then P=1;
if year=2007 then P=lag_x;
if year=2008 then P=lag_x*lag2_x;
if year=2009 then P=lag_x*lag2_x*lag3_x;
run;
'шаг данных. , , retain'. –