山川
发布于

一份是地区层面的数据,一份是企业层面的数据,年份相同,如何进行合并呢?数据如下:

* Example generated by -dataex-. To install: ssc install dataex
clear
input str9 province int year double effr
"上海"    2011     0
"上海"    2012     0
"上海"    2013     0
"云南"    2011 -.035
"云南"    2012  .025
"云南"    2013 -.035
"内蒙古" 2011  -.01
"内蒙古" 2012 -.075
"内蒙古" 2013  .093
"北京"    2011  .039
"北京"    2012 -.031
"北京"    2013 -.015
"吉林"    2011  .023
"吉林"    2012 -.019
"吉林"    2013 -.036
"四川"    2011  .035
"四川"    2012  .068
"四川"    2013  .001
"天津"    2011 -.032
"天津"    2012 -.052
end

* Example generated by -dataex-. To install: ssc install dataex
clear
input long id str9 province int year long hum
 1 "陕西" 2011  58
 1 "陕西" 2012  26
 1 "陕西" 2013  36
47 "北京" 2011  75
47 "北京" 2012  83
47 "北京" 2013  44
48 "浙江" 2011  49
48 "浙江" 2012  29
48 "浙江" 2013  40
50 "河北" 2011 485
50 "河北" 2012 464
50 "河北" 2013 415
52 "北京" 2011  69
52 "北京" 2012 268
52 "北京" 2013 275
53 "江苏" 2011 413
53 "江苏" 2012 389
53 "江苏" 2013 332
54 "北京" 2011 530
54 "北京" 2012 546
end


浏览 (200)
点赞
收藏
删除
2条评论
幽灵公主
幽灵公主
不清楚是需要按照行还是按照某各变量进行合并,按照行的话append命令,按照某个变量的话用merge命令。 append命令是将两个数据集按照行进行合并,也就是将一个数据集的所有观测值添加到另一个数据集的后面。这个命令要求两个数据集的变量名和变量类型完全相同,否则无法进行合并。如果两个数据集中有重复的观测值,那么append命令将会保留第一个数据集中的观测值。 append命令的基本语法为: ``` append using filename1 filename2 ``` 其中,filename1是主数据集的文件名,filename2是副数据集的文件名。 merge命令是将两个数据集按照某个或某些变量进行合并,其中一个数据集称为“主数据集”,另一个数据集称为“副数据集”。主数据集中的每个观测值都会与副数据集中的某个或某些观测值进行匹配,匹配的依据是指定的合并变量。如果某个观测值在主数据集中存在但在副数据集中不存在,那么这个观测值将被保留在主数据集中,但是在副数据集中不存在的变量值将被设为缺失值。 merge命令的基本语法为: ``` merge 1:1 varlist using filename [, options] ``` 其中,1:1表示进行一对一的合并,varlist是指定的合并变量,using后面是副数据集的文件名,options是一些可选的参数,比如keep、drop等。
点赞
评论
棒棒糖精灵
棒棒糖精灵
看不出你所谓的地区与企业数据?谁是谁?根据你提供之资料,为一可想到的是 use aaa, clear merge 1:1 province year using bbb
点赞
评论