Другой вариант предотвращения подмножества / разделения строки - преобразовать строку в целочисленный вектор, чтобы изменить порядок, чтобы мы могли использовать stringr::str_to_title
.
library(stringr)
library(dplyr)
mycap <- function(mystr = "") {
mystr %>% utf8ToInt %>% rev %>% intToUtf8 %>% str_to_title %>% utf8ToInt %>% rev %>% intToUtf8
}
mycap("MarsuPial")
#[1] "marsupiaL"
mycap("dummy")
#[1] "dummY"
Или другой быстрый вариант - использовать stringi::stri_reverse
и stringi::stri_trans_totitle
library(stringi)
mycap <- function(mystr = "") stri_reverse(stri_trans_totitle(stri_reverse(mystr)))