假设我有两个数据帧:通过多列搜索值,返回行的编号
A =包含唯一电话号码和额外因子列的数据帧。假设Nrow(A)= 20
B =由代表独特住户的行和列出电话号码的四列组成的数据框,以及用于唯一家庭ID的第五列。有可能在B列的多个列中重复相同的数字。假设Nrow(B)= 100
我想在检查A个电话号码是否在四列之一中之后,返回一个表格,该表格带有家庭ID为“B”的“A”唯一电话号码。
因此,例如:
a <- data.frame(phone=c("12345","12346","12456"),
factor=c("OK","BAD","BAD"))
b <- data.frame(ph1 = c("12345","","12346","12347",""),
ph2 = c("","","12346","","12348"),
ph3 = c("","","","12456","67890"),
hhid = seq(1121,1125))
我怎样才能回复C,将如下所示:
c <- data.frame(phone = c("12345","12346","12456"),
factor = c("OK","BAD","BAD"),
hhid = c("1121","1123","1124"))
我敢肯定,这是可能做到这一点的一个非常优雅的方式或用最少量的代码。我想过使用for循环或合并,但认为这是错误的轨道上。打开使用任何软件包。
更新 - 我收到一束不同的建议使用不同的软件包。这有助于我了解不同的软件包,但也知道基地可以做什么。我的需求是充满的 - 但是,请随时分享其他可能对此问题有益的知识。 –