Прочитайте предыдущие и последующие наблюдения

У меня есть такой набор данных (sp является индикатором):

datetime        sp
ddmmyy:10:30:00 N
ddmmyy:10:31:00 N
ddmmyy:10:32:00 Y
ddmmyy:10:33:00 N
ddmmyy:10:34:00 N

И я хотел бы извлечь наблюдения с "Y", а также предыдущий и следующий:

ID              sp
ddmmyy:10:31:00 N
ddmmyy:10:32:00 Y
ddmmyy:10:33:00 N

Я устал использовать «лаг» и успешно извлекать наблюдения с помощью «Y» и следующего, но все еще не знаю, как извлечь предыдущий.

Вот моя попытка:

data surprise_6_step3; set surprise_6_step2;
length lag_sp $1;
lag_sp=lag(sp);
if sp='N' and lag(sp)='N' then delete;
run;

и результат:

ID              sp
ddmmyy:10:32:00 Y
ddmmyy:10:33:00 N

Любые методы, чтобы извлечь предыдущее наблюдение также? Спасибо за любую помощь.

Ответы на вопрос(2)

Ваш ответ на вопрос