全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3830 6
2014-08-21
问题如下:现有多个数据集(数据集名不规则),内含两个主要变量(code,group)。现要在各个数据集中进行简单随机抽样,方法是每个group中随机抽取一例。求助如何写宏进行批量操作?

基本程序很简单
复制代码

但没学习过宏,现学又无法及时完成任务,还请各位大神前辈指教!

附件列表

test.xls

大小:12.5 KB

 马上下载

测试数据

二维码

扫码加我 拉你入群

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

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

全部回复
2014-8-21 15:51:06
就是每个group里面挑一个出来对么?
二维码

扫码加我 拉你入群

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

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

2014-8-21 15:51:55
还是有很多个数据集都要处理啊?
二维码

扫码加我 拉你入群

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

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

2014-8-21 16:01:03
建议将问题具体化,比如两个数据集,抽样比例等等。
二维码

扫码加我 拉你入群

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

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

2014-8-21 16:12:33
intheangel 发表于 2014-8-21 15:51
还是有很多个数据集都要处理啊?
对的,每个group里挑出一个,一共有15个数据集要做相同处理。不过我觉得哪怕先只能用宏实现一个数据集的操作,也大大减轻工作量了。
看了一些代码,觉得有两个思路:
一、将数据集按group拆分,然后进行批量操作(即抽取一例);
二、不拆分,直接在数据集里操作(但不知道能否实现);

我现在能想到的只有:把group的所有值赋给一个宏变量,但如何把这个宏变量替换到前面基本程序里的'group_value',就不会写了...
二维码

扫码加我 拉你入群

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

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

2014-8-22 08:55:07
额,仔细看了sas proc surveyselect的页面,发现用strata选项就行了...之前虽然看了无数次,但没走心,总以为用了strata选项,N是样本总数,各层的样本数量会按比例抽取;认真读了才知道,N就是每层的数量。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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