I have a following data frame
a = data.frame(a=c(1,2,3,4,5,6,7),b=c(1,2,3,10,12,21,4),c=c(1,2,10,11,\"X\",\"Y\",3)) > a a b c 1 1 1 1 2 2 2 2 3 3
Sticking in base you could make a function yourself:
a = data.frame(a=c(1,2,3,4,5,6,7),b=c(1,2,3,10,12,21,4),c=c(1,2,10,11,"X","Y",3)) SORTER_DEVICE <- function(x) { c(sort(as.numeric(na.omit(gsub("[a-zA-Z]", NA, x)))), sort(na.omit(gsub("[0-9]", NA, x)))) } data.frame(apply(a, 2, SORTER_DEVICE))