全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
6005 5
2010-07-03
不想用随机数,该怎么用proc surveyselect 来抽取这样一个有条件的随机取样呢?

要求从A,B组各抽25%条出来,抽出的观察值放数据集ex1中,剩下的放ex2中。

样本数据如下:
data ex;
input  group $   var1- var4;
cards;
A  1 2 3 4
A 2 3 4 5
A 3 4 5 6
A 4 5 6 7
A 5 6 7 8
A 6 7 8 9
A 7 8 9 10
A 8 9 10 11
A 9 10 11 12
B 10 11 12 13
B 11 12 13 14
B 12 13 14 15
B 13 14 15 16
B 14 15 16 17
B 15 16 17 18
B 16 17 18 19
B 17 18 19 20
B 18 19 20 21
B 19 20 21 22
B 20 21 22 23
B 21 22 23 24
;

谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-7-3 23:08:24
在R中用sample(as.integer(length(x)*25%),x,TRUE)
二维码

扫码加我 拉你入群

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

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

2010-7-3 23:50:40
data ex;
input  group $   var1- var4;
cards;
A  1 2 3 4
A 2 3 4 5
A 3 4 5 6
A 4 5 6 7
A 5 6 7 8
A 6 7 8 9
A 7 8 9 10
A 8 9 10 11
A 9 10 11 12
B 10 11 12 13
B 11 12 13 14
B 12 13 14 15
B 13 14 15 16
B 14 15 16 17
B 15 16 17 18
B 16 17 18 19
B 17 18 19 20
B 18 19 20 21
B 19 20 21 22
B 20 21 22 23
B 21 22 23 24
;
run;
proc surveyselect data=ex(where=(group="A")) method=srs percent=0.25 out=ex11;
run;
proc surveyselect data=ex(where=(group="B")) method=srs percent=0.25 out=ex12;
run;
data ex1;
set ex11 ex12;
run;
二维码

扫码加我 拉你入群

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

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

2010-7-4 11:52:47
proc sort ;
by group;
run;
proc surveyselect data=ex rate=0.25   outall  out=ex;
    strata group ;
   run;
data ex1 ex2;
set ex;
if selected then output ex1; else output ex2;
keep  group var1-var4;
run;
二维码

扫码加我 拉你入群

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

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

2010-7-5 13:09:43
2楼、3楼都是高手,学习了,谢谢!
二维码

扫码加我 拉你入群

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

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

2010-7-5 13:17:18
见下面附件
附件列表
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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