| 
 | 
楼主
 
 
 楼主 |
发表于 2012-5-21 15:25:31
|
只看该作者
 
 
 
数据集的并接
各位前辈,请教数据集并接的问题。 
有两个数据集:有两个相同的变量(高校名称,专业名称),其他变量的都不同。 
数据集a1的观察大致是:年份从2005—2011、每年招生的学校、专业、人数、。。。等等) 
这里只列举部分学校和专业。 
data a1; 
input gaoxiao :$20. zhuanye :$20.  year fenshu; 
cards; 
北京交通大学  交通运输  2011 614 
北京交通大学  信息与通信工程  2011 619 
哈尔滨工程大学  电子信息科学 2011 594 
哈尔滨工程大学  船舶与海洋工程 2011 597 
南京理工大学  自动化 2011 619 
北京交通大学  信息与通信工程  2010 623 
哈尔滨工程大学  船舶与海洋工程 2010 601 
北京交通大学  信息与通信工程  2009 630 
; 
run; 
/*数据集A2如下:学校、专业、重点学科等级*/ 
data a2; 
input gaoxiao :$20. zhuanye :$20.  denji :$20.; 
cards; 
北京交通大学  交通运输工程 国家二级学科 
北京交通大学  信息与通信工程  国家一级学科 
哈尔滨工程大学  船舶与海洋工程  国家一级学科 
南开大学 微生物学 国家二级学科 
; 
run; 
 
请教各位前辈!如何将两个数据集合并? 
1、想将两数据集并接,按照同高校、同专业匹配的并接在一行。 
如果不同就串接在数据集中,同时保留数据集a1的其他内容。 
2、能不能将“交通运输”和“交通运输工程”这种类似的专业并接在一起。 
谢谢各位!!! 
之前有几位高人告诉我了几个方法: 
1、 
proc sql; 
create table merge as 
select coalesce(a1.gaoxiao,a2.gaoxiao) as gaoxiao, coalesce(a1.zhuanye,a2.zhuanye) as zhuanye,year,fenshu,denji 
from a1 full join a2 
on a1.gaoxiao=a2.gaoxiao and a1.zhuanye=a2.zhuanye; 
quit; 
2、 
proc sort data=a1;by gaoxiao zhuanye;run; 
proc sort data=a2;by gaoxiao zhuanye;run; 
data merge_a1_a2; 
merge a1 a2; 
by gaoxiao zhuanye; 
run; 
 
并接后,都不对。 
请各位高人指教!!! |   
 
 
 
 |