R matlab包:为什么repmat不一致?

时间:2013-05-03 13:42:50

标签: r matlab package

我有一个关于R的matlab包的问题。这就是我得到的

library(matlab)
a = matrix(1:4,2,2)
repmat(a,3,1)
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    1    2
[4,]    3    4
[5,]    1    2
[6,]    3    4

这是我的期望。沿第一维复制三次。但

b = matrix(1:6,2,3)
b
    [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

repmat(b,3,1)
      [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5    6
[4,]    1    2
[5,]    3    4
[6,]    5    6
[7,]    1    2
[8,]    3    4
[9,]    5    6

这不一致。我想要一个6乘3矩阵作为

获得的矩阵
rbind(b,rbind(b,b))
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
[3,]    1    3    5
[4,]    2    4    6
[5,]    1    3    5
[6,]    2    4    6

1 个答案:

答案 0 :(得分:3)

它似乎只是在进行堆叠之前转置矩阵。您可以在将矩阵发送到repmat

之前调换矩阵
> repmat(t(b), 3, 1)
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
[3,]    1    3    5
[4,]    2    4    6
[5,]    1    3    5
[6,]    2    4    6