你的意思是把观测值为10以及他的前后各一个观测都保留下来?试试这个程序:
data aa;
input a @@;
cards;
10 2 3 4 5 6 7 8 90 10 10 12 10
;
run;
data bb;
set aa;
if a=10 then do;
na=_n_-1;output;
na=_n_ ;output;
na=_n_ +1;output;
end;
run;
proc sql;
create table b1 as select distinct na from bb;
quit;
data want(keep=a);
set b1;
do i=na;
set aa point=i;
if _error_=0 then output;
end;
run;
proc print;run;