SAS 向前提取数
方法一:
data t1;
do i=1 to 5;
x=ranuni(123);
output;
end;
run;
data t2;
merge t1 t1(firstobs=2 rename=(i=i2 x=x2));
run;
proc print;run;
方法二:
把数据descending排序,然后使用lag函数,再排回来
proc sort data=t1 out=a1;
by descending i ;
run;
proc print data=a1;run;
data a2;
set a1;
y=lag(x);
run;
proc print data=a2;run;
proc sort data=a2 out=a3;
by i ;
run;
proc print data=a3;run;
方法三:
proc expand
方法四:
proc iml ;
x = {1,3,4,7,9};
lag = lag(x, {0 1 -1});
print lag;
run;
方法五:
SAS I/O Function
.point data set option