我有一个data.table (sbd_sbmolbio_n)。我需要找到两个条件为真的行:
ORF_SEQUENCE包含“MKTIIALSYIFCLVFA”
N_TAG包含“信号Seq”
然后,我需要将N_TAG的“Signal”部分替换为“HA”,但将其余的字符串保留为-is(例如,“Signal Seq-10 10XHis Tev”改为“HA-10 10XHis Tev”
我正在尝试这样做:
sbd_sbmolbio_n[grep("MKTIIALSYIFCLVFA",ORF_SEQUENCE),][grep("Signal Seq", N_TAG), N_TAG := sub("Signal Seq", "HA", N_TAG)]它正在查找行,但没有进行替换。有什么想法吗?
发布于 2014-02-25 17:30:19
第一组括号返回一个不再是原始data.table的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)]https://stackoverflow.com/questions/22021257
复制相似问题