Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stata中的唯一ID变量_Stata - Fatal编程技术网

Stata中的唯一ID变量

Stata中的唯一ID变量,stata,Stata,我正在使用面板数据,并尝试根据year和uniqueid变量合并数据集。但是,我的id变量在所有数据集中并不一致。虽然我认识到这是合并数据的基础,但我不确定如何解决这个问题 我使用的是世界各国的数据,但并非所有国家都记录在所有数据集中。对一些人来说,包括了更多的国家。目前,数据按国家编号进行排序,按字母顺序排列,每个国家都有一个Stata数值。因此,根据特定数据集中有多少国家,一些国家有不同的值。因此,当我根据每个国家的id和年份合并数据时,它们对应于不同的国家 是否有一种方法可以为每个国家分配

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

我使用的是世界各国的数据,但并非所有国家都记录在所有数据集中。对一些人来说,包括了更多的国家。目前,数据按国家编号进行排序,按字母顺序排列,每个国家都有一个Stata数值。因此,根据特定数据集中有多少国家,一些国家有不同的值。因此,当我根据每个国家的
id
年份
合并数据时,它们对应于不同的国家


是否有一种方法可以为每个国家分配相同的编号,并且无论数据集中有多少个国家,都可以使此编号统一?

请提供一些尝试代码,以备将来提问时参考。这里的许多用户喜欢以代码的形式查看一些研究成果

如果我理解正确,您需要做的就是将字符串
国家
年份
一起包含在关键变量中。这对应于一个简单的
合并
;没什么特别的

使用
状态
而不是
国家
的示例:

*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

这两个文件在
状态
变量中有一些匹配的观测值。后者是一个字符串变量。无需事先编码。

您提到“按字母顺序”,所以我想您确实有国家名称(以字符串形式)。在不同的文件中,这些是不一样的吗?或者,您的意思是名称对应于与数字代码关联的标签?我将它们作为字符串,并将它们编码为对应于数字值。i、 e.编码变量,生成(var1)。这些字符串在数据集中是相同的。目前,我一直在使用编码变量进行合并。我的意思是,它们是按id的字母顺序排序的。也就是说,当使用排序命令时,Stata将它们按字母顺序排序。