Удалить повторяющийся номер из конца строки

Мне просто нужно удалить все повторяющиеся числа и букву «R» с конца всех строк в столбце, strain, и создать новый столбец с этими результатами в mutant, предпочтительно используя dplyr, чтобы я мог передать результаты вперед.

Например

print(df)

       strain measurement
1     CK522R1          75
2 CN344attBR1          50
3    GL065R13          32
4   GL078R100          27

Желаемый результат

       strain measurement     mutant
1     CK522R1          75      CK522
2 CN344attBR1          50  CN344attB
3    GL065R13          32      GL065
4   GL078R100          27      GL078

Воспроизводимые данные

structure(list(strain = structure(1:4, .Label = c("CK522R1", 
"CN344attBR1", "GL065R13", "GL078R100"), class = "factor"), measurement = c(75, 
50, 32, 27)), class = "data.frame", row.names = c(NA, -4L))

person TheSciGuy    schedule 06.12.2019    source источник


Ответы (1)


Из комментария db:

library(dplyr)
df %>% mutate(mutant=sub("R\\d+$", "",strain),replicate=regmatches(strain, regexpr("R\\d+$", strain)))
person ErrorJordan    schedule 06.12.2019
comment
Что делать, если я хочу создать новый столбец, содержащий удаленные символы? Например, сохранить R1 от CK522R1 - person TheSciGuy; 07.12.2019
comment
@TheSciGuy - я обновил свой ответ, чтобы предоставить вам дополнительный столбец. - person ErrorJordan; 07.12.2019
comment
Спасибо! Я пытался изучить регулярное выражение, но это сложная тема для меня! - person TheSciGuy; 07.12.2019
comment
Я сам постоянно захожу в StackOverflow за этим! - person ErrorJordan; 07.12.2019