R面板数据家庭分组

时间:2017-04-06 17:47:33

标签: r panel

apply

hhid =家庭ID和psid =家庭中的个人ID。我的问题是如何创建应用于整个面板数据集的个人ID(比如说uid),如下所示:

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

... ... ...

在stata中我只是这样做egen uid = group(hhid psid)

1 个答案:

答案 0 :(得分:0)

这是一种方式,假设您的data.frame被称为df

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

这是有效的,因为因子在内部表示为整数,每个因子级别具有不同的整数值。 as.numeric获取那些整数,这些整数对于设计因子级别是唯一的。

或者,您可以使用dplyr的{​​{1}}功能。