SAS에 패널/종단 데이터 세트가 있습니다.SAS에서 성장률 변수로 변수를 반복적으로 전진
하나의 필드는 클래스 또는 유형을 나타내며, 다른 하나는 중단되지 않은 시점이고, 다른 하나는 관찰 된 기록이고 다른 하나는 상기 기록의 로그 차이 예측입니다. 새로운 필드를 추가하고 싶습니다 : 이력 필드는 예측 필드에 의해 진행됩니다.
그래서 시간 필드가 '미래'에 있다면, 로그 지연 예측 변수의 exp로 곱한 자체 지연 변수를 재귀 적으로 전진시키고 싶습니다. 사소한 일로 보입니다.
아래 장난감 데이터 세트로 문제를 재현하려고 시도했습니다.
data in;
input class time hist forecast;
datalines;
1 1 100 .
1 2 . .1
1 3 . .15
1 4 . .17
2 1 100 .
2 2 . .18
2 3 . .12
2 4 . .05
run;
proc sort data=work.in;
by class time;
run;
data out;
set in;
by class time;
retain goal hist;
if time > 1 then goal= lag1(goal) * exp(forecast);
run;
입력 데이터 세트에서 제공된 변수에 대해 RETAIN 문을 추가 할 필요가 없습니다. 이러한 변수는 이미 유지됩니다. 그것은 MERGE 문이 1 대 다수 병합을 수행하는 방법입니다. – Tom