楼主: guanglei
1620 4

关于merge的一个问题 [推广有奖]

  • 3关注
  • 9粉丝

已卖:1149份资源

副教授

14%

还不是VIP/贵宾

-

威望
0
论坛币
15815 个
通用积分
15.1713
学术水平
10 点
热心指数
12 点
信用等级
10 点
经验
296 点
帖子
606
精华
0
在线时间
802 小时
注册时间
2007-8-29
最后登录
2023-9-22

楼主
guanglei 发表于 2013-6-10 23:16:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
一个关于Merge的问题。

如果要将两个数据集A、B进行merge,但是两个数据集中的观测数量不一样,A的观测数量是B的整数倍,这样的话merge以后只能有一个B和A合并在一起了。如果我想将剩余的那些A的观测也merge上B应该怎么办那?

例如:
A数据集:
a   1
a   2
b   1
b   2


B数据集:
1    n
2    m

如果直接merge的话就变成
a   1  n
a   2  m
b   1
b   2

而我想得到的是:
a   1  n
a   2  m
b   1  n
b   2  m




哪位前辈可以指导下!谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:Merge 数据集 在一起 怎么办

三人行,必有我师焉;择其善者而从之,其不善者而改之

沙发
boe 发表于 2013-6-10 23:52:15
  1. proc sql;
  2.     create table need as
  3.             select A.*,B.y
  4.                     from A,B
  5.             where A.x=B.x;
  6. quit;
复制代码
Gorgeous girl , I love !

藤椅
boe 发表于 2013-6-11 00:27:51
  1. data need;
  2.     set A;
  3.         by id notsorted;
  4.         do i=1 to nobs;
  5.             set B point=i nobs=nobs;
  6.                 by id notsorted;
  7.         end;
  8. run;
复制代码
Gorgeous girl , I love !

板凳
guanglei 发表于 2013-6-11 11:03:07
boe 发表于 2013-6-11 00:27
非常感谢!

SQL的方法是可以的,不过双set语句似乎还有点问题,但是很有启发性!!多谢!
三人行,必有我师焉;择其善者而从之,其不善者而改之

报纸
boe 发表于 2013-6-12 01:11:13
双set那个,去掉by,在第二个by那加output;,然后去重。。。。。。
Gorgeous girl , I love !

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 01:57