Если я правильно понимаю ваш вопрос, вы можете захотеть что-то вроде этого:
R> X <- matrix(c(1:10, (1:10)^2), 10, 2, byrow=FALSE)
R> rank <- seq(10,1,by=-1) # simple decreasing rank
R> X
[,1] [,2]
[1,] 1 1
[2,] 2 4
[3,] 3 9
[4,] 4 16
[5,] 5 25
[6,] 6 36
[7,] 7 49
[8,] 8 64
[9,] 9 81
[10,] 10 100
R> X[rank,]
[,1] [,2]
[1,] 10 100
[2,] 9 81
[3,] 8 64
[4,] 7 49
[5,] 6 36
[6,] 5 25
[7,] 4 16
[8,] 3 9
[9,] 2 4
[10,] 1 1
R>
Я не уверен, хотите ли вы изменить порядок каждого столбца матрицы независимо. Для меня это не имеет особого смысла, так как мы обычно храним матрицы с строками на наблюдение и столбцами для переменных - так что вы захотите сохранить строки вместе.
Но у вас может быть другая потребность, и то, что я сделал здесь для всей матрицы, можно сделать таким же образом столбец за столбцом с отдельными назначениями.