【问题标题】:Create a matrix in R by changing the order of vector通过改变向量的顺序在 R 中创建一个矩阵
【发布时间】:2013-04-02 23:10:05
【问题描述】:

我是 R 的新用户。我在 R 中有两个向量,我想将这些向量放在一个矩阵中,如下所示:

    x = c(1, 2, 3, 5, 4)
    y = c(1.1, 2.3, 4.5, 6.7, 5.5)
    > m
         [,1] [,2]
   [1,]    1  1.1
   [2,]    2  2.3
   [3,]    3  4.5
   [4,]    5  5.5
   [5,]    4  6.7

我如何在 R 中做到这一点?

【问题讨论】:

  • 如何根据第一个向量更改第二个向量的顺序?
  • 澄清一下,你想加入xy,使用x 作为y 的值的索引吗?即 - 其中x5,取5th 值y

标签: r matrix indexing


【解决方案1】:

您可以通过以下方式到达那里:

cbind(x,y[x])


     x    
[1,] 1 1.1
[2,] 2 2.3
[3,] 3 4.5
[4,] 5 5.5
[5,] 4 6.7

【讨论】:

  • (+1) 啊哈,所以确实给出了正确的值。不错的收获!
【解决方案2】:

如果 x 向量不是连续的,您仍然可以通过以下方式获得成功:

cbind(x, y[order(x)] )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多