Вы можете удалить все символы, не являющиеся цифрами, используя \\D
.
Использование dplyr
library(dplyr)
df %>% mutate_all(~gsub('\\D', '', .))
# q2_3 q2_4 q2_5
#1 1 2 3
#2 4 5 6
Или в базе R:
df[] <- lapply(df, function(x) gsub('\\D', '', x))
данные
df <- structure(list(q2_3 = c("1A", "4D"), q2_4 = c("2B", "5E"), q2_5 = c("3C",
"6F")), class = "data.frame", row.names = c("1", "2"))