найти частичное совпадение между двумя фреймами данных

У меня есть два фрейма данных.

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 соответствует Enhancer of split mgamma, спираль-петля-спираль; CG4080 соответствует продукту гена CG4080 из транскрипта CG4080-RB), могу ли я как-то связать эти два? коды, которые я пробовал до сих пор:

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" %")

person lxcfuji    schedule 29.04.2015    source источник


Ответы (1)


Вам нужно merge , что в основном совпадает с join в SQL. Но сначала вы можете разделить 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

person jprockbelly    schedule 29.04.2015