2017-04-06 81 views
0
hhid psid year 
1 1 1989 
1 1 1991 
1 1 1993 
1 1 2000 
1 2 1989 
1 2 1991 
1 2 1993 
1 2 2000 
2 1 1989 
2 1 1991 
2 1 1993 
2 1 2000 

... ... ... 

hhid =一個household.And我的問題是如何創建一個個人ID(UID說)適用於整個面板數據,看起來像內的家庭ID和PSID =個人ID:R屏數據分組戶

hhid psid year uid 
1 1 1989 1 
1 1 1991 1 
1 1 1993 1 
1 1 2000 1 
1 2 1989 2 
1 2 1991 2 
1 2 1993 2 
1 2 2000 2 
2 1 1989 3 
2 1 1991 3 
2 1 1993 3 
2 1 2000 3 

在Stata我只是這樣做EGEN的uid =組(hhid PSID)

回答

0

這裏有一個方法,假設你的data.frame被稱爲df

df$uid <- as.numeric(as.factor(paste(df$hhid, df$psid, sep=' '))) 

這是可行的,因爲因素在內部表示爲整數,每個因子級別具有不同的整數值。 as.numeric爲您提供這些整數,這些整數對於設計因子級別是獨一無二的。

或者,您可以使用dplyrgroup_indices()函數。