使用向量按列对大型R矩阵进行排序

约翰逊

我有一个很大的R矩阵,我想按一列对所有数据进行排序,但是该列需要以一种奇怪的方式进行排序(即,不能升序或降序)。这是一个例子:

test=matrix(data=c("A","B","C","D","E","E","F","F","F",1,2,2,3,4,5,6,6,6),ncol=2)
> test
      [,1] [,2]
 [1,] "A"  "1" 
 [2,] "B"  "2" 
 [3,] "C"  "2" 
 [4,] "D"  "3" 
 [5,] "E"  "4" 
 [6,] "E"  "5" 
 [7,] "F"  "6" 
 [8,] "F"  "6" 
 [9,] "F"  "6" 

现在,我需要使用向量按第2列对矩阵进行排序:

x = c(3,4,5,6,1,2)

我知道我需要使用order函数,因为我也想使其他列中的数据也保持正确的顺序。

尼古拉

不知道我是否正确回答了问题,但是您可以尝试:

test[order(match(test[,2],x)),]      
#     [,1] [,2]
# [1,] "D"  "3" 
# [2,] "E"  "4" 
# [3,] "E"  "5" 
# [4,] "F"  "6" 
# [5,] "F"  "6" 
# [6,] "F"  "6" 
# [7,] "A"  "1" 
# [8,] "B"  "2" 
# [9,] "C"  "2" 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 R 按列“模式”对矩阵进行排序

如何在MATLAB中按其他向量的顺序对矩阵的列进行排序?

正确按向量排序矩阵

使用 R 对 A 行的 A 元素和矩阵的 A 列进行排序

Basic R:使用逻辑向量按列对DF进行子集

朱莉娅:按另一个向量中的值对矩阵的列进行排序(就位...)?

对与矩阵的行和列相对应的对向量进行排序

当您不知道列数时,使用所有列按顺序对矩阵进行排序

按矩阵的列对列表中的值进行排序

numpy按循环逐列对矩阵进行排序

如何按R中属性的顺序对向量进行排序?

R:按名称对命名向量中的元素进行排序

按R中的虚部对复数向量进行排序

在R中:如何按行名索引对矩阵进行排序?

R中按列对元素进行排序

对大型矩阵重新排序或按列对值确定的特定顺序提取行

按值对大型词典进行排序

PHP按值对大型数组进行排序

使用C / C ++中的用户定义函数对大型向量进行排序

Matlab:如何使用另一个向量按其列之一对结构进行排序

使用R中的命名向量按列和行对表进行子集

使用R中的样本按列和行对矩阵进行采样

在R中对具有可变列数的矩阵进行排序

向量对按对元素差异进行排序

按行方式对矩阵行进行排序

R:按矩阵的第一列进行拆分

如何使用多列向量对data.table进行排序

基于矩阵的排序对向量进行排序时的分割错误

对 R 中的点矩阵进行排序以获得用于在 xy 图上绘制线的顺序向量