【发布时间】:2019-11-28 18:22:51
【问题描述】:
我有一个关于使用另一个 id 变量合并两个 id 变量的问题。由于这听起来可能含糊不清,请查看下面我的数据集(样本)
Householdid personid gender begin_hh end_hh typhh
A1 q1 male 19490410 20000101 2
A2 q1 male 20000102 20101010 3
C1 q2 0 19891010 20000101 NA
A2 q2 0 20000102 20101010 3
这个数据集背后的故事可能如下。 1994 年至 2000 年间,q1 人单身,q2 人的家庭状况未知。这两个人没有住在一起是由不同的familyid变量和不等于3的typehousehold变量表示的。在2000年到2010年之间,两个人形成了一对,我们可以从typehousehold(typhh ) 等于 3,并且两个人的家庭 ID 相同(即两者都由 A2 表示)。如果户口不同,那就意味着他们与另一个人结成了夫妻。我想将此数据集转换为以下内容:
Householdid personid.male pensionid. female begin_hh end_hh typhh
A1 q1 NA 19490410 20000101 2
A2 q1 q2 20000102 20101010 3
C1 NA q2 19891010 20000101 NA
我尝试使用 reshape 命令,但在我的代码中,它也会匹配两个人不在一起期间的 personid(即 typhh 等于 2 或 NA)。有谁知道我怎么能得到这个?我很感激任何帮助。
【问题讨论】:
-
尝试使用
pivot_wider例如:pivot_wider(id_cols = c(Householdid, begin_hh, end_hh, typhh), names_from = gender, values_from = personid, names_prefix = "person_") -
@Ben 请考虑将此作为答案发布,它提供了 OP 要求的内容。
标签: r