用向量值替换矩阵值

时间:2017-03-21 18:04:11

标签: r matrix vector replace

matrix:
      [,1] [,2] [,3]
[1,]    1    5    9
[2,]    2    6   10
[3,]    3    7   11
[4,]    4    8   12

vector = c("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l")

如何替换我得到的值:

      [,1] [,2] [,3]
[1,]    a    e    i
[2,]    b    f    j
[3,]    c    g    k
[4,]    d    h    l

注意:我已经使用了泛型向量,但是我将使用更大的各种数据集来做这个,所以我不会像以下那样:

matrix(letters[1:12],4,3)

2 个答案:

答案 0 :(得分:1)

如果matrix只包含这样的整数,那么您可以执行以下操作

mat <- matrix(sample(seq(12), 12), nrow = 4)
vec <- letters[1:12]

mat[] <- vec[mat[]]

答案 1 :(得分:0)

由于您未保留矩阵的任何原始值,以下内容将起作用

> matrix_name <- matrix(data = your_vector, 
                       nrow = 4,
                       ncol = 3,
                       byrow = FALSE)