【问题标题】:Sort matrix by colnames from another matrix按来自另一个矩阵的列名对矩阵进行排序
【发布时间】:2019-01-05 21:45:55
【问题描述】:

我有两个具有相同维度的矩阵,它们都具有与 colnames 相同的股票名称,但顺序不同!

我想按矩阵“B”的列名对矩阵“A”进行排序。

所以 A 的 colnames 和相应的 value 应该与 B 的 colnames 的顺序相同。

我该怎么做?

示例:

亲切的问候

【问题讨论】:

  • 比任何其他标签更重要的是,始终添加r。否则你的问题很可能会被忽视。此外,这样的图片很少有帮助,您应该提供可以复制和直接使用的代码块。

标签: r sorting dataframe matrix


【解决方案1】:

你在 R 术语中的例子是

A <- matrix(c(1, 4, 2), nrow = 1)
colnames(A) <- c("B", "D", "E")
A
#      B D E
# [1,] 1 4 2

B <- matrix(c(2, 5, 1), nrow = 1)
colnames(B) <- c("E", "B", "D")
B
#      E B D
# [1,] 2 5 1

那么我们可以简单地将A 的列按照与B 中相同的顺序进行子集化:

A[, colnames(B)]
# E B D 
# 2 1 4 

【讨论】:

  • 天啊!感谢您对标签的建议!这太容易了。我只是用另一个矩阵中的列名子集矩阵,它就起作用了。非常感谢!
  • @J.Pop,没问题。我在您的其他问题中添加了r 标签。用文字替换图片也将立即增加您获得快速答案的机会。另请注意,您已经可以对答案进行投票:stackoverflow.com/help/someone-answers
猜你喜欢
  • 2019-03-28
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 2018-04-09
  • 1970-01-01
  • 1970-01-01
  • 2019-02-20
  • 1970-01-01
相关资源
最近更新 更多