Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复制矩阵列并放在R中的原始列旁边_R_Matrix_Replicate - Fatal编程技术网

复制矩阵列并放在R中的原始列旁边

复制矩阵列并放在R中的原始列旁边,r,matrix,replicate,R,Matrix,Replicate,如果我有一个矩阵,说: > mat1=matrix(1:12, ncol=3) > mat1 [,1] [,2] [,3] [1,] 1 5 9 [2,] 2 6 10 [3,] 3 7 11 [4,] 4 8 12 如何复制每个列并将其放在原始列旁边,使其看起来像这样: [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 1 5 5 9

如果我有一个矩阵,说:

> mat1=matrix(1:12, ncol=3)
> mat1
     [,1] [,2] [,3]
[1,]    1    5    9
[2,]    2    6   10
[3,]    3    7   11
[4,]    4    8   12
如何复制每个列并将其放在原始列旁边,使其看起来像这样:

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

我相信这很简单,但我看不出来!非常感谢。

重新订购简单的cbind可能是最容易的:

cbind(mat, mat)[,order(rep(1:ncol(mat), times=2))]

试试这个:

mat1=matrix(1:12, ncol=3)
mat1[,rep(1:ncol(mat1),each=2)]
##      [,1] [,2] [,3] [,4] [,5] [,6]
## [1,]    1    1    5    5    9    9
## [2,]    2    2    6    6   10   10
## [3,]    3    3    7    7   11   11
## [4,]    4    4    8    8   12   12
看看我的。对于这个问题来说,这有点过分了,但仍然很有趣:-)
mat1=matrix(1:12, ncol=3)
mat1[,rep(1:ncol(mat1),each=2)]
##      [,1] [,2] [,3] [,4] [,5] [,6]
## [1,]    1    1    5    5    9    9
## [2,]    2    2    6    6   10   10
## [3,]    3    3    7    7   11   11
## [4,]    4    4    8    8   12   12