楼主: librarynow
3059 9

处理很大的数据集时遇到的问题 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

37%

还不是VIP/贵宾

-

威望
0
论坛币
945 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
1963 点
帖子
120
精华
0
在线时间
170 小时
注册时间
2010-4-9
最后登录
2016-1-9

楼主
librarynow 发表于 2010-10-20 11:08:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在此请教各位高手,我现在要从一个很大的数据集(有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服务器,所以怕影响整个的系统性能。
    谢谢大家了。
二维码

扫码加我 拉你入群

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

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

关键词:数据集 proc sql SAS服务器 数据集输出 文本文件 数据集

本帖被以下文库推荐

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

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

对于百万记录,400个变量的数据规模,以上这些简单的操作,一般的服务器应该不耗太长时间
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
crackman + 20 + 1 + 1 发钱了

总评分: 论坛币 + 20  学术水平 + 1  热心指数 + 1   查看全部评分

Let them be hard, but never unjust

藤椅
zhentao 发表于 2010-10-20 12:45:49
1000万个观测800多个变量也没花多长时间,就是几分钟的事情。

板凳
fuping1103 发表于 2010-10-20 14:50:19
不会占太长时间的,我也经常遇到类似的情况

报纸
peijiamei 发表于 2010-10-20 14:52:53
数据量和运算量都不是很大,还不用担心内存时间等问题
我的微博:http://t.sina.com.cn/1087192374
欢迎互相加关注!

地板
chouxiangdaishu 发表于 2010-10-20 15:37:40
120w,不算多。大数据,觉得data step比较快。

7
librarynow 发表于 2010-10-20 18:55:50
2# soporaeternus
非常感谢soporaeternus的建议。

也在此一起感谢各位的热心回复。

这样我就心里有数了。

8
bullstag 发表于 2010-10-20 23:28:54
it is not a big deal.

9
哥们家妞子 发表于 2010-10-22 04:34:27
你应该反问办案民警:"你是哪个单位的?编号多少?."

10
winsentess 发表于 2011-4-27 11:41:04
数据确实也不算多。
别人无法复制的财富是他人经历的苦难!!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-6 06:18