【发布时间】:2019-03-17 12:34:47
【问题描述】:
我正在寻找一种方法来根据另一个数据帧的标准从一个数据帧中检索行。这是我正在尝试做的一个说明性示例:-
prefix<-c("0141", "0142", "0143", "0144", "0156", "0157", "0158", "0161")
IDnumbers<-c("01416783902", "014138926949", "01444783002", "07862738468", "01618769203", "015728936482", "07728394562","07264783959","02873819364")
IDnames<-c("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg", "hhh", "iii")
df1<-cbind(IDnames, IDnumbers)
df2<-cbind(prefix)
基本上,我试图通过将 4 位前缀与“IDnumbers”变量中的前 4 位数字相匹配来从我的 df 中检索行。我最终应该得到:-
aaa 01416783902
bbb 014138926949
ccc 01444783002
eee 01618769203
fff 015728936482
我尝试过的无法正常工作的代码是这样的:-
results<-sapply(df2$prefix, grep, df1$IDnumbers)
这没有返回所需的输出。我想在 dplyr 和 data.table 包中有解决方案,但我没有找到任何解决方案。任何建议都将受到欢迎!干杯:)
【问题讨论】:
标签: r dplyr data.table match