【发布时间】:2021-06-07 15:45:18
【问题描述】:
我正在努力寻找跨 data.frame 的其他列的列值的方法。如果有人可以帮助我,我将不胜感激。这些是我的数据的简化形式:
library(data.table)
df<-data.table(personid<-c(101, 102, 103, 104, 105, 201, 202, 203, 301, 302, 401),
hh_id<-c(1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4),
fatherid<-c(NA, NA, 101, 101, 101, NA, NA, 201, NA, NA, NA),
fatherid_1<-c(NA,101, 101, 101, NA, NA, 201, NA, NA, NA, NA),
fatherid_2<-c(101, 101, 101, NA, NA, 201, NA, NA, NA, NA, NA),
fatherid_3<-c(101, 101, NA, NA, NA, NA, NA, NA, NA, NA, NA),
fatherid_4<-c(101, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
fatherid_5<-c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA))
(真正的185000行,最多有fatherid_1、fatherid_2...fatherid_17等17个变量)
我要做的是创建一个变量,检查给定行的变量personid 的值是否与同一行中变量fatherid_1 到fatherid_5 的任何值相同.对于给定的数据,结果应该是:
df$result <- c(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0)
但我需要一些东西来自动完成,超过 17 列,例如 fatherid_1,以及很多行
如果您想了解我的计算意义,我正在尝试构建家庭网格,而不只使用同一行中的信息
非常感谢您!
【问题讨论】:
-
非常感谢!这正是我所需要的。谢谢大家!但是,现在我想知道是否有任何方法可以在没有重复的“fatherid_1、2、3”变量的情况下做到这一点,即:通过在同一家庭成员的不同“fatherid”值中“寻找 personid 的值” (hh_id) ¿ 这可能吗?非常感谢
-
也许你对这个新话题提出了一个新问题。
标签: r