欢迎光临散文网 会员登陆 & 注册

stata数据合并笔记

2023-08-27 19:58 作者:南极洲的黄油曲奇  | 我要投稿

之所以开始这个内容的写作,原因有三:一、省钱。数据合并方面的问题我总是遇到,一开始用excel,后面数据量太大,不得不花钱请别人用R语言或者Pathon等等软件清洗数据。二、记录。一遇到这种问题,我总得重新回忆哪个网站有相关stata代码........然后半个小时就过去了。同时,自己从B站上面也获得很多,所以吃水不忘挖井人。三,图书馆外面的雨好大,我想去食堂干饭,人都到图书馆门外了,看到雨在地板上打起的N多泡泡,算了,饿着吧。趁着不想看论文的时间,写点东西吧。开始切入正题,不废话了。

数据合并有四种方法,分别是一对一、一对多、多对一以及多对多。

第一种方法:一对一,一般适用于横截面样本。

代码:merge 1:1 varlist using filename [, options]

表格1
表格2

将表格1和表格2合并,以make为合并的中介,输入代码:merge 1:1 make using xx.dta

表格1和2合并

1代表该行数据仅仅来自于第一份dataset

2代表该行数据仅仅来自于第二份dataset

3代表该行数据既来自于第一份dataset又来自于第二份dataset。

第二种方法:多对一,横截面数据和面板数据皆可使用。代码:merge m:1 varlist using filename [, options]

表格4
表格5

代码:merge m:1 region using xx.dta.通过region这一变量,将表格4和表格5进行合并。可以看出同一年中,表格4有表格5没有的变量:sale,cost,通过region中介变量为匹配条件,将两个表格进行合并,即每个region都有对应的cost和sales,如图表6。

表6

第三种方法:一对多。代码:merge 1:m region using xx.dta。原理与第二种方法一致。

(https://www.ngui.cc/zz/2026372.html?action=onClick)以上三种方法来自于左边提供的链接

第四种方法:多对多。

在面板数据过程中,两个不同样本,第一个样本面板构成为省份-年份-变量1-变量2-变量3,横截面个体为31个省,总样本量为500。第二个样本面板构成为企业-年份-省份-变量4-变量5-变量6,横截面个体为400多个企业。那么如何通过省份这一匹配条件,将第一个样本的变量1-3填充到第二个样本中呢?(如图所示)

表7
表8

首先,将两个样本换做为dta格式,并先将大样本的数据导入stata中,然后打开do文件(如表9所示)。

表9

输入代码:merge m:n year id using "C:\Users\dell\Desktop\human.dta”,即选择year 和id(省份)作为匹配条件。其中, "C:\Users\dell\Desktop\human.dta”这个可以通过查找文件属性进行输入。匹配结果如表10所示。

表10


stata数据合并笔记的评论 (共 条)

分享到微博请遵守国家法律