我可以推定一个条件变量吗?
问题描述:
我想要推测关于是否有人在英国出生的wave 1到wave 2的数据。我怀疑egen
函数可以工作,但我不确定代码的样子是什么?我可以推定一个条件变量吗?
正如你所看到的,我需要分配在波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
是一个命令,而不是一个函数。