Как gsub второго персонажа подряд - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь добавить второй символ подряд. Я чувствую, что я близко, но я не могу понять это. Я пытался читать об этом и смотреть на другие примеры. Я не могу понять это

Вот что я пытаюсь

df3 <- c("ATG")
df4 <- gsub('^.{0,2}', 'A', df3)
df5 <- gsub('^.{0,2}', 'T', df3)
df6 <- gsub('^.{0,2}', 'G', df3)
df7 <- gsub('^.{0,2}', 'C', df3)

Это то, что я хочу, чтобы вывод был похож на

AAG
ATG
AGG
ACG

но вывод в настоящее время выглядит так

AG
TG
GG
CG

Я чувствую, что я рядом, но я не могу понять это

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

Должно ли быть gsub?

substr позволяет легко получить второй элемент

substr(df3, start = 2, stop = 2).

substr(df3, start =  2, stop = 2) <- "A"

Назначьте нужный символ.

1 голос
/ 07 июня 2019

Вы можете попробовать:

gsub("^(.).{1}", "\\1A", df3)

(.) получает первый символ в качестве группы для извлечения - совпадает с \\1.Затем .{1} получает следующий одиночный символ.

...