Замена всех строк во фрейме данных, начиная с определенного символа, со значениями, хранящимися в векторе - PullRequest
0 голосов
/ 30 января 2019

У меня есть фрейм данных (df), который выглядит следующим образом:

df

    df$column1
>hg19_chr1:55343-67868
ATATGAGCGT
>hg19_chr6:343114-831443
GGGGCCGCGTGCTG
>hg19_chr15:76644-90990
TTTCATCAT

Затем у меня есть вектор (vec) с 3 символами "SRSF4", "MAX", "BIM"

Я хотел бы заменить все строки фрейма данных, который начинается с символа «>», именем, сохраненным в векторе:

Вывод:

df

    df$column1
SRSF4
ATATGAGCGT
MAX
GGGGCCGCGTGCTG
BIM
TTTCATCAT

Я написалчто-то вроде этого, но, похоже, не работает:

data <- data.frame(lapply(df, function(x) {gsub(">.$ ", vec, x)}))

Любая помощь высоко ценится, спасибо!

1 Ответ

0 голосов
/ 30 января 2019

Мы можем создать логический вектор и затем выполнить замену

i1 <- grep("^[>]", df$column1)
df$column1[i1] <- paste0(">", vec)

ПРИМЕЧАНИЕ. Здесь мы предполагаем, что length для 'vec' и количество строк, которые имеют >в качестве начального символа будет одинаковым

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...