将SAS数据框中的每列向上移动不同的行数

时间:2018-02-16 14:55:48

标签: sas

我正在尝试重构一个数据框,以便我可以转置它并轻松绘制/汇总。

data have;
    a b c d 
    1 . . . 
    3 1 . . 
    4 1 4 .
    4 4 6 5
    . 4 3 4 
    . . 4 3
    . . . 4


data want;
    a b c d 
    1 1 4 5
    3 1 6 4
    4 4 3 3
    4 4 4 4

如何将每列移位?

1 个答案:

答案 0 :(得分:2)

data have;
input a b c d;
datalines;
1 . . . 
3 1 . . 
4 1 4 .
4 4 6 5
. 4 3 4 
. . 4 3
. . . 4
;
run;

data want;
set have;
a=lag3(a);
b=lag2(b);
c=lag1(c);
if _n_ > 3 then output;
run;