复制矩阵列并放在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