R:用r中的另一个矩阵映射矩阵

时间:2018-04-23 16:43:33

标签: r matrix

我在map a matrix with another matrix中找到了同样的问题。但是,这是在Matlab中。如果我想用R中的另一个矩阵映射矩阵,如何在不使用循环的情况下轻松获取。例如,我有以下矩阵,

A = [ 1 4 3
      2 3 4 
      4 3 1 
      4 5 5 
      1 2 1]

 B = [3 3 2
      2 0 1
      1 1 5
      4 1 3
      5 2 0]

我的映射应该如下所示;

  R = [1 4 3
      2 3 4
      4 3 5
      4 1 3
      5 2 0]

结果R将取自A的值从[1,1]开始到[3,2]。然后剩余的值从B开始,从[3,3]到[5,3]。

2 个答案:

答案 0 :(得分:2)

简单如下:

R <- t(A)
R[9:15] <- t(B)[9:15]
t(R)
     [,1] [,2] [,3]
[1,]    1    4    3
[2,]    2    3    4
[3,]    4    3    5
[4,]    4    1    3
[5,]    5    2    0

样本数据

A <- matrix(c(1,4,3,2,3,4,4,3,1,4,5,5,1,2,1), nrow = 5, ncol = 3, byrow = TRUE)
B <- matrix(c(3,3,2,2,0,1,1,1,5,4,1,3,5,2,0), nrow = 5, ncol = 3, byrow = TRUE)

答案 1 :(得分:0)

与Djack的方法略有不同,我使用matrixbyrow = T,并将原始矩阵编入索引:

matrix(c(t(A)[1:8], t(B)[9:15]), byrow = T, ncol = 3)