如何根据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

回到顶部