Я хочу создавать манекены в SAS. Мой план таков: каждый раз AnnouncementDate ne. Я хочу создать переменную с именем event = 2 и следующую также (event = 2), а также пять предыдущих наблюдений 1 И все это помечено, если предыдущие 5 наблюдений и день после даты объявления не пусты. и по классам (например, по акциям)
выходные данные
date announcementdate event conflict
1115 . . .
2115 . . .
3115 . . .
4115 . . .
5115 . . .
6115 . 1 .
7115 . 1 .
8115 . 1 .
9115 . 1 .
10115 . 1 .
11115 1115 2 .
12115 . 2 .
13115 . .
14115 . 1 .
16115 . 1 .
17115 . 1 .
18115 . 1 .
19115 . 1 .
20115 20115 2
21115 . 1 Y
21115 . 1 Y
22115 22115 2 Y
23115 . 2 Y
24115 . .
25115 . .
Если теперь переключается на следующий запас, он должен начинаться заново и не принимать во внимание предыдущие наблюдения.
Мой текущий код является ведущим термином, поскольку я объединяю только столбец событий с firstobs = 2. В любом случае, это отставание в 5 раз беспокоит меня, а также конфликт, связанный с предыдущими наблюдениями.
data want1 ; set have;;
if announcementdate ne . then event=0;
run;
data want2; merge want1 (firstobs=2) want1 (keep=event rename= (event=event2));
if event2=0 then event=0;
if event2=0 then event=event2;
run;
Спасибо за любой вклад!