R data.table条件查找/替换

时间:2014-02-25 17:07:45

标签: r data.table

我有一个data.table(sbd_sbmolbio_n)。我需要找到两个条件成立的行:

ORF_SEQUENCE包含“MKTIIALSYIFCLVFA”

N_TAG包含“Signal Seq”

然后我需要用“HA”替换N_TAG的“Signal Seq”部分,但保留字符串的其余部分(例如“Signal Seq-10XHis-Tev”变为“HA-10XHis-Tev”

我正在尝试这个:

sbd_sbmolbio_n[grep("MKTIIALSYIFCLVFA",ORF_SEQUENCE),][grep("Signal Seq", N_TAG), N_TAG := sub("Signal Seq", "HA", N_TAG)]

找到了行,但没有进行替换。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

第一组括号将返回data.table,而不是原来的data.table,然后您将修改该grepl。要做到这一点 - 结合两个条件(注意使用grep而不是sbd_sbmolbio_n[grepl("MKTIIALSYIFCLVFA",ORF_SEQUENCE) & grepl("Signal Seq", N_TAG), N_TAG := sub("Signal Seq", "HA", N_TAG)] ):

{{1}}