Stata中的唯一ID变量

时间:2014-05-19 21:49:37

标签: stata

我正在使用面板数据,我正在尝试根据year和唯一id变量合并数据集。但是,我的id变量在所有数据集中并不统一。虽然,我认识到这是合并数据的基础,但我不确定如何解决这个问题。

我正在为世界各国使用数据,但并非所有数据都记录在所有数据集中。对于一些人来说,包括更多国家。目前,数据按国家/地区id排序,按字母顺序排列,每个国家/地区都在Stata中分配了一个数值。因此,根据该特定数据集中有多少个国家/地区,某些国家/地区分配了不同的值。因此,当我根据每个国家的idyear合并数据时,这些数据对应不同的国家/地区。

有没有办法为每个国家/地区分配相同的号码,并且无论数据集中的国家/地区数量如何,都可以统一这个数字?

1 个答案:

答案 0 :(得分:3)

请提供一些未来问题的尝试代码。这里的许多用户都希望以代码的形式看待一些研究工作。

如果我理解正确您需要做的只是merge,包括关键变量中的字符串country变量(以及year)。这相当于一个简单的merge;没有什么花哨。

使用state代替country的示例:

*clear all
set more off

*----- example using file -----

sysuse census
keep state pop

gen year = 1999 in 1/25
replace year = 2000 in 25/50

set seed 139476
gen randnum = runiform()
drop if randnum > 0.7
drop randnum

list

tempfile usingf
save "`usingf'"

*----- example main file -----

clear all
sysuse census
keep state death

gen year = 1999 in 1/25
replace year = 2000 in 2/50

set seed 139476
gen randnum = runiform()
drop if randnum > 0.5
drop randnum

list

*----- merge and keep only matching -----

merge 1:1 state year using "`usingf'", keep(match)

order state year
list

这两个文件的一些观察结果与yearstate变量相匹配。后者是一个字符串变量。无需预先encode