全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1685 7
2015-11-09
如题,如下程序得到结果怎么解释?为什么40004这一个id没有了?谢谢大神!
data a;
input id x1-x3;
cards;
40001 2 3 5
40002 6 6 6
40003 4 6 6
40004 5 6 6
40005 6 0 6
;
data b;
input id y1-y3;
cards;
40001 12 76 96
40002 15 85 94
40003 15 80 83
40007 15 83 99
;
data c;
merge a b;
proc print data=c;run;



附件列表
QQ截图20051109202556.png

原图尺寸 1.69 KB

得到的结果

得到的结果

二维码

扫码加我 拉你入群

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

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

全部回复
2015-11-9 22:09:17
merge进行数据拼接的时候最好设置by变量,你的例子by变量应该是ID,如果不设置by就类似于按观测顺序直接拼接,即将40004和40007按照第4行观测直接拼在了一起。
二维码

扫码加我 拉你入群

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

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

2015-11-10 11:11:32
merge需要加by一起使用,如果你只想单纯合并,很简单,只需要data c; set a b ;run;即可,但前期是两个数据集变量名要一样。
二维码

扫码加我 拉你入群

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

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

2015-11-10 16:48:19
z348133773 发表于 2015-11-9 22:09
merge进行数据拼接的时候最好设置by变量,你的例子by变量应该是ID,如果不设置by就类似于按观测顺序直接拼接 ...
谢谢!
二维码

扫码加我 拉你入群

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

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

2015-11-10 16:49:34
Gavin12 发表于 2015-11-10 11:11
merge需要加by一起使用,如果你只想单纯合并,很简单,只需要data c; set a b ;run;即可,但前期是两个数据 ...
多谢!
二维码

扫码加我 拉你入群

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

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

2015-11-10 16:56:20
data a;
input id x1-x3;
cards;
40001 2 3 5
40002 6 6 6
40003 4 6 6
40004 5 6 6
40005 6 0 6
;
run;
data b;
input id y1-y3;
cards;
40001 12 76 96
40002 15 85 94
40003 15 80 83
40007 15 83 99
;
run;
data c;
merge a b;
by id;
run;
proc print data=c;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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