我有一个数据帧(df),如下所示:
df
df$column1
>hg19_chr1:55343-67868
ATATGAGCGT
>hg19_chr6:343114-831443
GGGGCCGCGTGCTG
>hg19_chr15:76644-90990
TTTCATCAT
然后我有一个3个字符的向量(vec) “ SRSF4”,“ MAX”,“ BIM”
我想用存储在向量中的名称替换以字符“>”开头的数据帧的所有行:
输出:
df
df$column1
SRSF4
ATATGAGCGT
MAX
GGGGCCGCGTGCTG
BIM
TTTCATCAT
我写了这样的东西,但似乎不起作用:
data <- data.frame(lapply(df, function(x) {gsub(">.$ ", vec, x)}))
非常感谢您的帮助,谢谢!
答案 0 :(得分:1)
我们可以创建一个逻辑向量,然后进行替换
i1 <- grep("^[>]", df$column1)
df$column1[i1] <- paste0(">", vec)
注意:在这里,我们假设'vec'的length
和以>
作为起始字符的行数是相同的