全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1510 5
2013-02-08
有下面2个数据集,实际observation很大,这里只列了部分。请以第一个数据集的location或第2个数据集的destination为“轴”,将a,b两数据集合并(merge), 可是这两变量名字不同(这是小事,改名即可),而且直观上没有“相等”的关系,但是仔细看一下发现,b数据变量destination的值是a数据变量location值的一部分,本题的意图是想以变量location或destination做by variable完成合并(merge), 请高手赐教,谢谢!

data a;
input location $1-22 code group $ cost;
datalines;
The city of history    2 a 30
International airport  4 b 60
University of New York 6 c 80
College of Medicine    5 d 26
;
run;

data b;
input destination :$10. time temp;
datalines;
city 2 25
university 1.5 30
airport 1 28
college 2 30
;
run;



二维码

扫码加我 拉你入群

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

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

全部回复
2013-2-8 12:42:08
proc sql;
  select compress(quote(upcase(destination))) into : location separted by ' '
     from b;
quit;

data a1;
    set a;
   Nword=countw(location);
   do i=1 to nword;
      var= scan(upcase(location), i, ' ');
       if var in (&location) then output;
   end;
  drop location nword i;
run;

proc sort data=a1(rename=(var=location));
    by location;
run;

data b1;
     set b(rename=(destination=location));
     location=upcase(location);
run;

proc sort data=b1;
    by location;
run;

data a_b;
    merge b1 a1;
    by location;
run;
二维码

扫码加我 拉你入群

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

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

2013-2-8 17:27:34
yongyitian 发表于 2013-2-8 12:42
proc sql;
  select compress(quote(upcase(destination))) into : location separted by ' '
     from  ...
很厉害!!!非常感谢!太牛了!
二维码

扫码加我 拉你入群

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

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

2013-2-8 21:00:58
复制代码
二维码

扫码加我 拉你入群

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

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

2013-2-9 14:35:38
zhangzachary 发表于 2013-2-8 21:00
谢谢!!!
二维码

扫码加我 拉你入群

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

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

2013-2-9 14:53:22
yongyitian 发表于 2013-2-8 12:42
proc sql;
  select compress(quote(upcase(destination))) into : location separted by ' '
     from  ...
请问如果数据b的destination作一些变动,还能有办法进行合并吗?这个数据其实比我上次贴的更不规范,destination的记录不规范,或词顺变换,或个别词用了其他同义词,但是人工能辨认location和destination的对应关系。下面的数据已经改动了,麻烦高手们看看能不能进行合并处理,谢谢!
data a;
input location $1-22 code group $ cost;
datalines;
The city of history    2 a 30
International airport  4 b 60
University of New York 6 c 80
College of Medicine    5 d 26
;
run;

data b;
input destination $1-21 time temp;
datalines;
history city              2   25
the university          1.5 30
international airport 1   28
medical school         2   30
;
run;
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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