Возможны следующие варианты:
x <- c("cats,dogs,birds,cows", "cats,dogs,birds")
sapply(strsplit(x, ",", fixed = TRUE),
function(x) paste0(tools::toTitleCase(x), collapse = ","))
[1] "Cats,Dogs,Birds,Cows" "Cats,Dogs,Birds"
И есть также удобная библиотека с именем snakecase
:
to_upper_camel_case(x, sep_out = ",")
[1] "Cats,Dogs,Birds,Cows" "Cats,Dogs,Birds"