2016-11-07 92 views
0

我在Stata是相当新的,我需要创建一个变量,记录两个变量(领导者ID和年份)的组合的第一个实例,并将允许它保持相同的值(1 )关系的持续时间。即领导者A的第一年执政时期是1973年,我需要在该领导人第一年的138次二元观察中进行这种关系。然后是下一年(2)等等(3,4,5 ...)。有什么建议么?为2个变量创建一个标识符

+3

我认为你需要给出一个你的数据看起来像什么和期望的输出的例子。 –

回答

1

假设您的领导者标识符存储在变量id中,年份变量存储在year中,则有多个选项可用。

最简单的:

egen idCombination = group(id year) 

如果你想在计数器复位每个单独的领导者(group()不能by:组合):

by id year, sort: generate newCombination = 1 if _n==1 
// takes value 1 for first time of combination, otherwise missing 
by id (year), sort: generate idCombination = sum(newCombination) 
+0

'bysort id(year):gen idCombination = sum(year!= year [_n-1])'是最后一个选项。 –

0

不知道你的数据看起来怎么样,但我想你想要一个包含原始两个变量值的新ID。你可以试试这个:

egen newid = group(leaderID year), label

这里的选项label标签的两个变量的值设置到新的ID变量。

当您选择新变量newid时,您会看到每个观察值的值。

但是,如果选项卡没有标签,即tab newid,nol,您将看到新ID变量的实际值为1〜n,其中n是您的样本大小。

+0

没有理由假设新标识符将接近样本量(即观察次数)。如果你的意思只是这个上限,那就够公平了。 –

+0

是的,你是对的。理论上,n应该是上限。 – LovelyVV

相关问题