如何在 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 中执行其他常见排序操作:

如何在R中按字母顺序对值进行排序
如何在 R 中按日期对数据框进行排序
R中如何按多列排序

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注