【发布时间】:2016-12-29 19:14:19
【问题描述】:
我有不同的字符串,如下所示:
t <- c("probable linoleate 9S-lipoxygenase 5 [Malus domestica]", "PREDICTED: protein STRUBBELIG-RECEPTOR FAMILY 3 [Malus domestica]")
我想从包含它的字符串中删除“PREDICTED:”。
我的脚本如下所示:
t <- sapply(strsplit(t, split= ": ", fixed = TRUE), function(x) (x[2]))
但是,结果如下: [1] NA“蛋白质 STRUBBELIG-受体家族 3 [Malus domestica]”
因此,出于某种原因,它删除了 t[1],并正确执行了对 t[2] 的操作。我尝试将 grep() 添加到我的字符串中:
t <- sapply(strsplit(t, if(grep('^*.', t), split= ": " else t, fixed = TRUE), function(x) (x[2]))).
我也试过写一个循环:
for(i in t){
if(i == grep('PREDICTED', t[i]) split= ": " else t[i])
}
非常感谢任何帮助。 谢谢!
【问题讨论】:
-
为什么不使用
gsub("PREDICTED: ", "", t, fixed=TRUE)?或者在第一个:之前可以有任何单词吗?