部分匹配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