如何在 r 中对矩阵进行排序(附示例)
您可以使用以下方法按 R 中的特定列对矩阵进行排序:
方法一:通过增加一列对矩阵进行排序
sorted_matrix <- my_matrix[order(my_matrix[, 1]), ]
方法2:按减少一列对矩阵进行排序
sorted_matrix <- my_matrix[order(my_matrix[, 1], decreasing= TRUE ), ]
以下示例通过以下矩阵展示了如何在实践中使用每种方法:
#create matrix my_matrix <- matrix(c(5, 4, 2, 2, 7, 9, 12, 10, 15, 4, 6, 3), ncol= 2 ) #view matrix my_matrix [,1] [,2] [1,] 5 12 [2,] 4 10 [3,] 2 15 [4,] 2 4 [5,] 7 6 [6,] 9 3
示例 1:通过增加一列对矩阵进行排序
下面的代码展示了如何通过在第一列的基础上增加值来对矩阵进行排序:
#sort matrix by first column increasing
sorted_matrix <- my_matrix[order(my_matrix[, 1]), ]
#view sorted matrix
sorted_matrix
[,1] [,2]
[1,] 2 15
[2,] 2 4
[3,] 4 10
[4,] 5 12
[5,] 7 6
[6,] 9 3
请注意,矩阵现在是根据第一列按递增值排序的。
我们可以通过将1更改为2来根据第二列增加值来轻松排序:
#sort matrix by second column increasing
sorted_matrix <- my_matrix[order(my_matrix[, 2]), ]
#view sorted matrix
sorted_matrix
[,1] [,2]
[1,] 9 3
[2,] 2 4
[3,] 7 6
[4,] 4 10
[5,] 5 12
[6,] 2 15
矩阵现在根据第二列按递增值排序。
示例 2:通过减少一列对矩阵进行排序
以下代码展示了如何根据第一列按递减值对矩阵进行排序:
#sort matrix by first column decreasing
sorted_matrix <- my_matrix[order(my_matrix[, 1], decreasing= TRUE ), ]
#view sorted matrix
sorted_matrix
[,1] [,2]
[1,] 2 15
[2,] 2 4
[3,] 4 10
[4,] 5 12
[5,] 7 6
[6,] 9 3
请注意,矩阵现在根据第一列按递减值排序。
相关: R 中 Sort()、Order() 和 Rank() 的完整指南
其他资源
以下教程解释了如何在 R 中执行其他常见排序操作: