部分匹配dataframe列以拾取感兴趣的行

部分匹配dataframe列以拾取感兴趣的行,r,R,说 我创建一个数据帧,如下所示: dataframe <- data.frame("x" = c("aaa/bbb", "ccc", "ddd/eee/fff"), "y" = c(9,2,1), "z" = c(7,5,8)) result<-merge(list,dataframe,by.x= "m",by.y="x") 谢谢。我认为这不是合并问题,而是筛选问题。您可以尝试以下方法: df1[grep(pas

我创建一个数据帧,如下所示:

dataframe <- data.frame("x" = c("aaa/bbb", "ccc", "ddd/eee/fff"),
                 "y" = c(9,2,1),
                 "z" = c(7,5,8))
result<-merge(list,dataframe,by.x= "m",by.y="x")

谢谢。

我认为这不是合并问题,而是筛选问题。您可以尝试以下方法:

df1[grep(paste(df2$m, collapse = "|"), df1$x), ]

#             x y z
# 1     aaa/bbb 9 7
# 3 ddd/eee/fff 1 8

用现有的对象或函数名分配变量不是一个好习惯。因此,我将您的
dataframe
list
更改为
df1
df2

非常好。谢谢
list <- data.frame("m" = c("fff","bbb"))
    x           y   z
aaa/bbb         9   7
ddd/eee/fff     1   8
df1[grep(paste(df2$m, collapse = "|"), df1$x), ]

#             x y z
# 1     aaa/bbb 9 7
# 3 ddd/eee/fff 1 8