我希望此代码在第1行中返回data.frame
name
= helicase
。如何与sqldf
进行此类比较?
require(data.table)
df <- fread('EC name
2.1.1.233 helicase
4.1.3.3 phosphatase
1.3.2.1,2.5.4.1 lipase
')
df2 <- fread(' PDB EC
1uay 2.1.1
5ad4 4.1.3.3
')
require(sqldf)
sqldf('
select df2.*
, df.name
from df2
left join df
on df2.EC like df.EC
')
# PDB EC name
# 1 1uay 2.1.1 <NA>
# 2 5ad4 4.1.3.3 phosphatase
答案 0 :(得分:2)
借用类似的答案here,你想要连接百分号:
sqldf("
select df2.*
, df.name
from df2
left join df
on like('%'||df2.EC||'%', '%'||df.EC||'%')")