我可以推定一个条件变量吗?

问题描述:

我想要推测关于是否有人在英国出生的wave 1到wave 2的数据。我怀疑egen函数可以工作,但我不确定代码的样子是什么?我可以推定一个条件变量吗?

Table

正如你所看到的,我需要分配在波1人ID为1的相同born in the uk响应波2

我知道我可以通过重塑数据集宽做格式,但你知道是否有其他方式吗?

我不确定这里出生在英国是否带有标签或字符串的数字。但是,如果你会做什么一样的东西:

encode born_in_UK, gen(born_num) 

bysort person_id: egen born_num2=mean(born_num) 
drop born_num 
rename born_num2 born_num 

的想法是想重复的个人ID的为组,并使用平均函数来填充该组中的缺失值。我认为这应该工作。

这是一个Stata常问问题as accessible here

您可以向下复制数据集而不创建任何新变量。

bysort id (wave) : replace born_in_uk = born_in_uk[_n-1] if missing(born_in_uk) 

mipolate(SSC)具有groupwise选项,检查如果存在多于一个非缺失值。在www.statalist.org中搜索提及。

请注意,egen是一个命令,而不是一个函数。