Мы можем создать функцию, удалить все нецифровые символы, разделить и вернуть число с максимальным количеством.
common <- function(x) {
names(which.max(table(strsplit(gsub('\\D', '', x), "")[[1]])))
}
common(123333)
#[1] "3"
common('I am 29. Born in 1990')
#[1] "9"
Мы также можем использовать str_extract_all
здесь:
common <- function(x) {
names(which.max(table(stringr::str_extract_all(x, '\\d')[[1]])))
}