2014-07-23 31 views
0

假設我有兩個dataframes a和b,一 具有一個柱被稱爲 '細節':匹配從其他data.frame字符串模式

pure water 
wood fire 
mineral water 
water 
fire work 

和B具有稱爲一個列 '類型':

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

您能否提供數據的實際例子嗎? – hwnd

+0

感謝您的迴應!我在這裏是新手,所以只需創建一個降價示例。 http://rpubs.com/songlh15/22723 – ponyhd

回答

1

a創建type列,然後在其合併:

merge(transform(a, type = sub(".* ", "", a$detail)), b, all = TRUE)