与 sqldf 模糊连接
fuzzy join with sqldf
我期待此代码 return 一个 data.frame
与 name
= helicase
在第 1 行。我怎样才能与 [=14 进行这种类型的比较=]?
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
借用类似的答案,您想连接百分号:
sqldf("
select df2.*
, df.name
from df2
left join df
on like('%'||df2.EC||'%', '%'||df.EC||'%')")
我期待此代码 return 一个 data.frame
与 name
= helicase
在第 1 行。我怎样才能与 [=14 进行这种类型的比较=]?
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
借用类似的答案
sqldf("
select df2.*
, df.name
from df2
left join df
on like('%'||df2.EC||'%', '%'||df.EC||'%')")