找到两个数据帧之间的部分匹配

时间:2015-04-29 01:55:27

标签: sql r rsqlite

我有两个数据框。

head(NEexp)
 Gene   Transcript Ratio_log2      FDR
HLHmgamma HLHmgamma-RA   3.759200 1.09e-10
Brd       Brd-RA   3.527000 2.66e-08
CG4080     CG4080-RE   3.378500 2.95e-50
RpII215   RpII215-RA   3.343967 1.82e-10

head(excel$gene)
Enhancer of split mgamma, helix-loop-helix
distal antenna
CG4080 gene product from transcript CG4080-RB

正如你所看到的,两个基因列部分匹配(HLHmgamma匹配分裂mgamma的增强子,螺旋 - 环 - 螺旋; CG4080匹配来自转录物CG4080-RB的CG4080基因产物),无论如何我可以将这两个链接起来吗? 到目前为止我尝试过的代码:

genename=as.character(NEexp$Gene)
query=paste("select * from excel where excel.gene LIKE \"", genename,"\ ",sep"")
Newtable<-dbGetQuery(con,query)

dbGetQuery(con,"select * from excel, NEexp where excel.gene LIKE % "NEexp$Gene" %")

1 个答案:

答案 0 :(得分:0)

您需要merge,这与SQL中的join基本相同。但首先,您可能希望拆分excel$gene以获取要匹配的部分。

http://stat.ethz.ch/R-manual/R-devel/library/base/html/merge.html

https://stat.ethz.ch/R-manual/R-devel/library/base/html/strsplit.html