【问题标题】:Sorting a matrix by a vector with correct numeration通过具有正确计数的向量对矩阵进行排序
【发布时间】:2015-09-16 07:41:12
【问题描述】:

我希望通过向量对矩阵进行排序,它正在部分工作:我有一个矩阵 g(2 列 id 和 nobs),我按向量 id 排序。

我的代码是这个:

 g[order(id),]

排序没问题,但我最终得到了这个结果:

  id nobs
6 30  932
5 29  711
4 28  475
3 27  338
2 26  586
1 25  463

我正在寻找这样的输出:

  id nobs
1 30  932
2 29  711
3 28  475
4 27  338
5 26  586
6 25  463

编号为 1 到 6 的第一列是什么,我会影响它吗?

R 3.2.1,Windows 10

【问题讨论】:

  • 这些是初始未排序数据帧的行号。请参阅?rownames() 了解更改它们的可能性。
  • 是矩阵还是数据框?
  • @ColonelBeauvel 是的,你是对的。根据 OP,它是一个矩阵。不过,在这种情况下没有区别。

标签: r sorting matrix


【解决方案1】:

每行的第一个数字就是行的名称。如果您想/需要修复它,您可以使用以下内容(在订购后):

m <- g[order(id),]
rownames(m) <- 1:nrow(g)

它应该看起来像你想要的那样。

【讨论】:

  • 仅在一个班轮中`rownames&lt;-`(g[order(id),], 1:nrow(g))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-29
  • 2019-11-06
  • 1970-01-01
  • 2012-10-31
  • 2020-11-02
  • 2012-12-09
  • 1970-01-01
相关资源
最近更新 更多