我需要在SAS的数据集中创建一个主变量。
我使用了简单的方法:
proc expand data=data out=data_lead method = none;
convert rate;
convert rate = rate_lead5 / transformout=(lead 5);
run;
但SAS需要更多资源(我的数据大约是220 GB)
有没有简单的方法可以在不使用这么多内存的情况下创建一个5步提前变量?谢谢!
答案 0 :(得分:1)
正如我的评论所述,请看看Joe对this问题的回答。但是,如果您只需要提前读取每个记录5步(而不是前面5个变量1-5步),那么您可以使用他的技术,但不使用宏,只需执行以下操作:
data data_lead ;
merge data data(firstobs=5 rename=(rate=rate_lead5)) ;
run ;