全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2839 6
2013-11-15
两组数据进行merge处理,为什么结果数据集观测数量反而比观测数最少的原数据集要多?
按照我的理解,结果数据集的观测数量应该等于观测数最少的原数据集。
求朋友们帮忙解释。
是否我的程序错误?
谢谢大家。

proc sort data=co_type  ;
by cocd;
run;
proc sort data=co_fail;
by cocd;
run;
data f_ty;
merge co_fail(in=a) co_type(in=b) ;
if a and b ;
by cocd;
run;

附件列表

co_fail.xls

大小:117 KB

 马上下载

原数据集1

co_type.xls

大小:4.27 MB

 马上下载

原数据集2

二维码

扫码加我 拉你入群

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

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

全部回复
2013-11-15 10:50:21
i know the problem. and no need to kan your chengxu.
其中一种可能,两个的cocd有缺失值,其中一个数据集有大于一个的缺失值
另一种可能,两个cocd中有重复值
如下面的code
data a;
input id a;
cards;
1 3
2 4
2 5
4 2
;
data b;
input id b;
cards;
2 3
4 6
;
run;
data c;
merge a(in=x) b(in=y);
by id;
if x and y;
run;
二维码

扫码加我 拉你入群

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

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

2013-11-15 10:58:10
Imasasor 发表于 2013-11-15 10:50
i know the problem. and no need to kan your chengxu.
其中一种可能,两个的cocd有缺失值,其中一个数据 ...
谢谢热心帮助,
我没有真正理解您的意思。
如何解决这种问题呢?
二维码

扫码加我 拉你入群

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

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

2013-11-15 11:00:27
Imasasor 发表于 2013-11-15 10:50
i know the problem. and no need to kan your chengxu.
其中一种可能,两个的cocd有缺失值,其中一个数据 ...
情况应该是cocd有重复值,先去重再试试。
谢谢您指点
二维码

扫码加我 拉你入群

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

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

2013-11-15 11:01:13
tjnkswordsman 发表于 2013-11-15 10:58
谢谢热心帮助,
我没有真正理解您的意思。
如何解决这种问题呢?
说这么清楚了,例子也帮你写好了,再不理解就没办法了,你都当到副教授了
二维码

扫码加我 拉你入群

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

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

2013-11-15 11:03:37
Imasasor 发表于 2013-11-15 11:01
说这么清楚了,例子也帮你写好了,再不理解就没办法了,你都当到副教授了
闻道有先后,术业有专攻,
虚心向您请教,
我run下您的例子看看。
谢了
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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