【发布时间】:2019-04-25 07:00:20
【问题描述】:
我想在数据框中的列中搜索来自不同数据框的列中的字符串,然后将它们合并在一起。例如:
我有这个数据框:
location
1 2 high street, ca
2 24 long street, ba,UK
3 1 first avenue, ab
4 15 nant peris , ac
5 1 high street
6 second avenue, ca, UK
那我要在这个数据集上进行匹配:
id block
1 1 ab
2 2 ac
3 3 ab
4 5 cb
5 4 ba
6 2 ca
所以我想在“位置”中搜索“块”列中的任何值,然后将列块和 id 合并到第一个数据集上,这样合并后的数据集如下所示:
location id block
1 2 high street, ca 2 ca
2 24 long street, ba,UK 4 ba
3 1 first avenue, ab 1 ab
4 15 nant peris , ac 2 ac
5 1 high street NA NA
6 second avenue, ca,UK 2 ca
可重现的代码:
df1<-data.frame(id = factor(c(1,2,3,5,4,2)), block = c('ab','ac','ab','ca','ba','ca'))
df2<-data.frame(location = c('2 high street, ca','24 long street, ba, UK','1 first avenue, ab', '15 nant peris , ac','1 high street','second avenue, ca, UK'))
【问题讨论】:
-
您的第二个数据框有问题,因为块
ca与两个不同的值相关联。没有直接的方法可以加入并获得您想要的预期输出。 -
对不起,这是我现在纠正的类型!