3423 5

用SAS在数据集中随机多次抽取一部分数据 [推广有奖]

  • 0关注
  • 4粉丝

教授

12%

还不是VIP/贵宾

-

威望
0
论坛币
6752 个
通用积分
15.6910
学术水平
18 点
热心指数
24 点
信用等级
15 点
经验
407 点
帖子
1190
精华
0
在线时间
996 小时
注册时间
2013-1-20
最后登录
2024-4-1

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位大侠,
请教在一个如下的数据集中随机多次抽取一部分(如80%)的数据,用SAS应该怎么做???
二维码

扫码加我 拉你入群

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

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

关键词:部分数据 数据集 各位大侠 怎么做

demog_age.txt

14.22 KB

需要: 5555 个论坛币  [购买]

沙发
meto224 发表于 2013-12-24 09:56:59 |只看作者 |坛友微信交流群
写个循环抽样就好了。下面是放回的简单随机抽样50次,你可以试试。surveryselect过程还有多个option,可以研究研究一下。
%macro sample;
/*重复抽样次数*/
%let times=50;
/*重复抽样*/
%do i=1 %to &times.;
        proc surveyselect data=<要抽样的数据集> noprint
                out=sample&i.
                method=srs;
run;
%mend;
%sample;



使用道具

藤椅
wsyxh 发表于 2013-12-24 10:55:01 |只看作者 |坛友微信交流群
在前人(meto224)的基础上略作完善!

%macro sample;
/*重复抽样次数*/
%let times=50;
/*重复抽样*/
%do i=1 %to &times.;
    proc surveyselect data=<要抽样的数据集> noprint rate=0.8  /*抽取率80%*/
      method=srs  
      out=sample&i.;
    run;
%end;
%mend;

%sample;

使用道具

板凳
respringwa 发表于 2013-12-24 17:46:59 |只看作者 |坛友微信交流群
有抽样的过程,看你要用什么?直接随机?还是分层随机等

使用道具

报纸
小宝爱波1314 发表于 2013-12-25 08:28:53 |只看作者 |坛友微信交流群
respringwa 发表于 2013-12-24 17:46
有抽样的过程,看你要用什么?直接随机?还是分层随机等
直接随机啊

使用道具

地板
小宝爱波1314 发表于 2013-12-25 08:30:31 |只看作者 |坛友微信交流群
wsyxh 发表于 2013-12-24 10:55
在前人(meto224)的基础上略作完善!

%macro sample;
这个是保证每个数被抽到的概率是80%,而不是抽取80%的数呀

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 05:48