为2个变量创建标识符



我是Stata的新手,我需要创建一个变量,记录两个变量(领导者ID和年份)组合的第一个实例,并允许它在关系持续时间内保持相同的值(1)。例如,领导人A掌权的第一年是1973年,我需要将这一关系带入对领导人第一年的138次二元观察。然后下一年(2),依此类推(3、4、5……)。有什么建议吗?

假设您的领导者标识符存储在变量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) 

不确定您的数据看起来像什么,但我猜您想要一个包含原始两个变量值的新ID。你可以试试这个:

egen newid = group(leaderID year), label

选项label在这里将两个变量的值标记到新的ID变量上。

当您选择新变量newid时,您将看到每个观测值的这些值。

但是,当您在没有标签的情况下制表时,即tab newid,nol,您将看到新的ID变量具有从1到n的实际值,其中n是您的样本大小。

最新更新