如何根据R中的一列对矩阵排序?
由于矩阵仅包含数值,因此也可以对矩阵进行排序。排序矩阵可能有多种原因,例如我们想将矩阵转换为数据帧,在矩阵计算之前需要对存储在矩阵中的数据进行排序,以使计算后的结果视图更加清晰,等等。根据一列对矩阵进行排序,我们可以使用订单函数。
例子
set.seed(123)M1 <-matrix(sample(1:100,20),ncol=2)
M1
输出结果
[,1] [,2][1,] 31 90
[2,] 79 69
[3,] 51 57
[4,] 14 9
[5,] 67 72
[6,] 42 26
[7,] 50 7
[8,] 43 95
[9,] 97 87
[10,] 25 36
示例
基于列1排序矩阵M1-
M1[order(M1[,1],decreasing=FALSE),]
输出结果
[,1] [,2][1,] 14 9
[2,] 25 36
[3,] 31 90
[4,] 42 26
[5,] 43 95
[6,] 50 7
[7,] 51 57
[8,] 67 72
[9,] 79 69
[10,] 97 87
示例
M1[order(M1[,1],decreasing=TRUE),]
输出结果
[,1] [,2][1,] 97 87
[2,] 79 69
[3,] 67 72
[4,] 51 57
[5,] 50 7
[6,] 43 95
[7,] 42 26
[8,] 31 90
[9,] 25 36
[10,] 14 9
示例
M2 <-matrix(sample(1:10,20,replace=TRUE),ncol=2)M2
输出结果
[,1] [,2][1,] 1 7
[2,] 7 5
[3,] 5 6
[4,] 10 9
[5,] 7 2
[6,] 9 5
[7,] 9 8
[8,] 10 2
[9,] 7 1
[10,] 5 9
基于列2排序矩阵M2-
示例
M2[order(M2[,2],decreasing=TRUE),]
输出结果
[,1] [,2][1,] 10 9
[2,] 5 9
[3,] 9 8
[4,] 1 7
[5,] 5 6
[6,] 7 5
[7,] 9 5
[8,] 7 2
[9,] 10 2
[10,] 7 1
示例
M2[order(M2[,2],decreasing=FALSE),]
输出结果
[,1] [,2][1,] 7 1
[2,] 7 2
[3,] 10 2
[4,] 7 5
[5,] 9 5
[6,] 5 6
[7,] 1 7
[8,] 9 8
[9,] 10 9
[10,] 5 9
示例
M3 <-matrix(sample(1:50,20),ncol=2)M3
输出结果
[,1] [,2][1,] 27 6
[2,] 25 8
[3,] 38 22
[4,] 21 48
[5,] 15 43
[6,] 41 17
[7,] 26 34
[8,] 31 4
[9,] 16 13
[10,] 30 5
基于列3排序矩阵M3-
示例
M3[order(M3[,2],decreasing=FALSE),]
输出结果
[,1] [,2][1,] 31 4
[2,] 30 5
[3,] 27 6
[4,] 25 8
[5,] 16 13
[6,] 41 17
[7,] 38 22
[8,] 26 34
[9,] 15 43
[10,] 21 48
示例
M3[order(M3[,2],decreasing=TRUE),]
输出结果
[,1] [,2][1,] 21 48
[2,] 15 43
[3,] 26 34
[4,] 38 22
[5,] 41 17
[6,] 16 13
[7,] 25 8
[8,] 27 6
[9,] 30 5
[10,] 31 4
以上是 如何根据R中的一列对矩阵排序? 的全部内容, 来源链接: utcz.com/z/326832.html