假设我有一个SAS数据集,看起来像这样:设置的重复数据集在SAS数据步
id x
1 1234
2 2345
3 3456
我需要的是在(说)2次读取该数据集的新数据集,以指示一个新的变量,其“复制”是这样的:
id x rep
1 1234 1
2 2345 1
3 3456 1
1 1234 2
2 2345 2
3 3456 2
重要的是,该数据以这样的准确顺序读 - 整个初始数据集被读出一次,然后再等
任何关于效率的想法在数据步骤中做到这一点的方法? (实际上,我的数据集很大,我需要多次阅读,而且我想避免排序。)
我试过了,但新数据集中的观察顺序并不是我想要的:
data foo;
set tmp; rep=1; output;
set tmp; rep=2; output;
run;
谢谢,我试图避免排序。 – itzy
我想知道,为什么?您是否尝试保留原始记录订单(超出ID)或有一些性能考虑因素? – Anton
这是一个巨大的文件,排序大约需要20分钟。我需要做这个数千次,所以你是对的,这是关于性能。 – itzy