假设我有两个数据帧a和b, a有一列名为'detail':
pure water
wood fire
mineral water
water
fire work
和b有一列名为'type':
water
fire
许多R函数需要输入文本来匹配,grep('fire',a),但我的问题是,是否有办法匹配使用b?我试过循环但失败了。以下SQLDF得到了匹配的所有错误结果。
ab <- sqldf(select *,case when detail in (select distinct types from b) then 1 else 0 end as match) from a)
理想情况下,可以使用c <- grep(a$detail,b$types)
之类的内容。不确定是否允许在R中使用。
提前致谢!
答案 0 :(得分:1)
在type
中创建a
列,然后合并到其中:
merge(transform(a, type = sub(".* ", "", a$detail)), b, all = TRUE)