Матрица может содержать только один класс, который в этом случае будет символьным, поскольку у вас есть "A","B","C","D"
.
Так что, если вы все еще хотите упорядочить строки в матрице, вам нужно поместить первый столбец в поднабор, преобразовать его в числовой, использовать order
, а затем использовать их для переупорядочения строк.
m[order(as.numeric(m[, 1])), ]
# [,1] [,2]
#[1,] "1" "A"
#[2,] "3" "C"
#[3,] "118" "B"
#[4,] "220" "D"
Поскольку у вас есть данные со смешанными типами данных, почему бы не хранить их вместо данных?
x<-c(1,118,3,220)
y<-c("A","B","C","D")
df <- data.frame(x,y)
df[order(df[,1]),]
# x y
#1 1 A
#3 3 C
#2 118 B
#4 220 D