Пакет stringi
пригодится из-за его stri_reverse
-функции:
dat <- read.table(header = TRUE, text = "Name,Number
PETER,15401
SAMMY,68475", sep = ",")
dat$new <- paste0(substr(stringi::stri_reverse(dat$Number), 1, 1),
substr(dat$Name, 1, 3),
substr(stringi::stri_reverse(dat$Number), 2, 2))
dat
#> Name Number new
#> 1 PETER 15401 1PET0
#> 2 SAMMY 68475 5SAM7
Использование dplyr
:
library(dplyr)
read.table(header = TRUE, text = "Name,Number
PETER,15401
SAMMY,68475", sep = ",") %>%
mutate(new = paste0(substr(stringi::stri_reverse(Number), 1, 1),
substr(Name, 1, 3),
substr(stringi::stri_reverse(Number), 2, 2)))
#> Name Number new
#> 1 PETER 15401 1PET0
#> 2 SAMMY 68475 5SAM7