全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1247 1
2010-12-23
求助:想根据某个变量的值,把一个数据集分成两个数据集。例如变量x,它可以取的值有560个。每个值对应的观测都有6个。现在想随机地从这6个观测中取出4个写入新数据集A中,剩下的2个观测写入新数据集B中。
举个例子:
data1:
x    var1   var2
1    33     24
1    20     18
1    67     54
1    38     90
1    28     30
1    26     9
2    18     65
2    80     35
2    90     92
2    77     55
2    88     66
2    3      49
3    7      20
... ...

要求是:当x的值是1的时候,随机取出4条观测写入数据集A,其余两条写入数据集B.x一共有560种取值。
谢谢各位!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-12-24 10:51:16
可以使用surveyselect过程进行抽样,详细的语法说明请参考帮助文档。。
data mm;
        input x    var1   var2;
cards;
1    33     24
1    20     18
1    67     54
1    38     90
1    28     30
1    26     9
2    18     65
2    80     35
2    90     92
2    77     55
2    88     66
2    3      49
;
proc surveyselect data=mm out=a(keep=x var1 var2) method=srs n=4;
        strata x;
run;
proc print data=a;
run;
proc sql ;
        create table b as
                select * from mm
                except
                select * from a;
proc print data=b;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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