全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3006 9
2010-10-20
在此请教各位高手,我现在要从一个很大的数据集(有120万个观测)中生成一个新的小一点(1万个左右的观测)的数据集。问题是:
1. 原数据集的400多个变量只要保留70个,这70个的变量的顺序要根据需要重新排一下。而且还要生成一些新的变量夹在这70个变量之中。对于处理这样的大的数据集没有经验,害怕占用太多CPU时间,所以想问一下,怎么能比较快地生成新数据集?
如果我还想保证变量的顺序,例如原数据集的变量名var1, var2, var3, var4, var5都将被选中进入新的数据集,但是新的顺序是var3, var2, var1, var4, var5。而且要在var4和var5之间添加一个新的变量newvar1。我可以写set old_data_set (keep=var3 var2 var1 var4 var5); newvar1=....;那么在数据集输出成文本文件的时候,把newvar1写在var5的前面,就可以保证所要求的顺序吗?
2. 需要对一些变量做分层不等比例取样来生成新的数据集。
    对于大的数据集,可以用proc sql来进行信息汇总吗?担心CPU响应时间会很长,因为很多人在用同一个SAS服务器,所以怕影响整个的系统性能。
    谢谢大家了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-10-20 11:22:50
对于第一个问题,我的做法是用retain来确定新数据集的变量顺序
对于第二个问题,如果仅仅是汇总的话,过程步,data步,sql都能做,效率一说也是见仁见智

而且我的观点是,能占到CPU和内存是好事,就怕都把时间都耗在IO上,呵呵

对于百万记录,400个变量的数据规模,以上这些简单的操作,一般的服务器应该不耗太长时间
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-10-20 12:45:49
1000万个观测800多个变量也没花多长时间,就是几分钟的事情。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-10-20 14:50:19
不会占太长时间的,我也经常遇到类似的情况
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-10-20 14:52:53
数据量和运算量都不是很大,还不用担心内存时间等问题
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-10-20 15:37:40
120w,不算多。大数据,觉得data step比较快。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群