楼主: lizhijian1022
3564 7

[原创博文] 大小不同数据集的合并与拆分 [推广有奖]

  • 0关注
  • 0粉丝

已卖:193份资源

本科生

86%

还不是VIP/贵宾

-

威望
0
论坛币
84 个
通用积分
5.2701
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
854 点
帖子
65
精华
0
在线时间
144 小时
注册时间
2009-3-19
最后登录
2025-9-3

楼主
lizhijian1022 发表于 2011-6-14 18:26:12 |AI写论文
20论坛币
有三个数据集A、B、C,其中A最大包含几万条数据,变量也最多。B、C各几千条数据,变量也较少。现在想按照共同的姓名代码把ABC合并起来,然后把合并后的数据集分成(A交B, A交C, A中剩余)三部分,不知该如何操作?

最佳答案

guoluo 查看完整内容

data AB AC AD; merge A(in=x) B(in=y) C(in=z); by name; if x and y then output AB; if x and z then output AC; if x and not y and not z then output AD; run;
关键词:数据集 如何操作 ABC 如何 姓名

沙发
guoluo 发表于 2011-6-14 18:26:13
data AB AC AD;
merge A(in=x) B(in=y) C(in=z);
by name;
if x and y then output AB;
if x and z then output AC;
if x and not y and not z then output AD;
run;

藤椅
breakzone 发表于 2011-6-15 11:04:14
同意楼上的。
执行之前,请把A,B,C按照NAME排序。

板凳
whhiter 发表于 2011-6-15 13:27:04
proc sql;
create table ab as
select a.*,b.* from a inner join b
on a.name=b.name;
quit;
产生ab的交集,相同字段的数据如果不是用别名,最后数据是a中的数据。

报纸
lizhijian1022 发表于 2011-6-16 15:45:48
非常感谢给及时的回复!!!

地板
lizhijian1022 发表于 2011-6-16 17:41:09
但是还存在一个问题,A数据集中有的名字是重复出现的,但是在B或者C中不是重复出现,通过上述方法合并以后B或者C中的会重复相同的数据N次以吻合A中的数据,如何才能比较准确的合并

7
lizhijian1022 发表于 2011-6-20 16:50:20
2# guoluo 但是还存在一个问题,A数据集中有的名字是重复出现的,但是在B或者C中不是重复出现,通过上述方法合并以后B或者C中的会重复相同的数据N次以吻合A中的数据,如何才能比较准确的合并

8
honghejing 发表于 2011-6-20 16:56:39
7# lizhijian1022
你可以新加一个变量,然后对于相同名字的按顺序赋值1,2,3.、、。。。然后对B,C也采取相同措施,merge的时候加上这个变量

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 16:51