全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
13454 8
2014-03-06
求大神指点。
用sas基于两个关键变量进行匹配?
data a 如下:

      x

     y

     m

100

2001

2.5

100

2002

2.4

100

2003

2.6

100

2004

2.1

101

2001

3.6

101

2002

3.2

101

2003

3.3


data   b如下:

       x

      y

   n

100

2001

4.6

100

2002

4.7

100

2003

4.1

100

2004

4.9

101

2001

5.1

101

2002

5.9

101

2003

5.6


期待合并结果为data c 如下:

      x

    y

    m

    n

100

2001

2.5

4.6

100

2002

2.4

4.7

100

2003

2.6

4.1

100

2004

2.1

4.9

101

2001

3.6

5.1

101

2002

3.2

5.9

101

2003

3.3

5.6


求大神指点  基于两个相同的关键变量 怎么merge匹配合并了?
二维码

扫码加我 拉你入群

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

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

全部回复
2014-3-6 19:47:00
data new;
       merge a b;
       by x y;
run;
我觉得这是挺基础的merge 啊。。  是不是我理解有误。。。
二维码

扫码加我 拉你入群

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

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

2014-3-6 20:17:45
其实我刚接触SAS     上面好像不对   应该是用SAS中的SQL语句了,就是对这不太懂
二维码

扫码加我 拉你入群

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

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

2014-3-7 10:35:50
proc sort data = a;
by x y;
proc sort data = b;
by x y;
run;
(你给的已经sort好了,而且都是对应的好的,不存在不对应的情况,如果想只要两张表都出现的 就这样)

data c;
merge a (in =m ) b(in = n) ;
by x y;
if m and n;
run;


我也刚学,望指正
二维码

扫码加我 拉你入群

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

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

2014-3-7 11:14:10
merge 和SQL都可以
merge之前先要对所需变量排序,用sql时 使用select from a,b where a.x=b.x and a.y=b.y 避免出现笛卡尔乘积
二维码

扫码加我 拉你入群

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

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

2014-3-7 21:38:45

RE: 用SAS怎么基于两个关键变量进行匹配合并?

pigchenjh 发表于 2014-3-7 11:14
merge 和SQL都可以
merge之前先要对所需变量排序,用sql时 使用select from a,b where a.x=b.x and a.y=b. ...
谢谢~真心感谢你们~
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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