2017-04-10 46 views
0

我想要推測關於是否有人在英國出生的wave 1到wave 2的數據。我懷疑egen函數可以工作,但我不確定代碼的樣子是什麼?我可以推定一個條件變量嗎?

Table

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

我知道我可以通過重塑數據集寬做格式,但你知道是否有其他方式嗎?

回答

0

我不確定這裏出生在英國是否帶有標籤或字符串的數字。但是,如果你會做什麼一樣的東西:

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的爲組,並使用平均函數來填充該組中的缺失值。我認爲這應該工作。

1

這是一個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是一個命令,而不是一個函數。

相關問題