cbind一个向量在R中多次

cbind一个向量在R中多次,r,R,我有一个向量,我想用这个向量作为新矩阵中的列重复n次 i、 我有一个向量 vec <- c(266, 130, 86, 69, 56, 39, 30, 44, 33, 43) vec [1] 266 130 86 69 56 39 30 44 33 43 我并不完全熟悉do.call,但您是否会使用该函数来实现这一点 R在创建矩阵时回收向量,因此可以使用: matrix( vec , length(vec) , n ) 其中,n是列数/重复数。这里另一个明显的替代方法是

我有一个向量,我想用这个向量作为新矩阵中的列重复n次

i、 我有一个向量

vec <- c(266, 130, 86, 69, 56, 39, 30, 44, 33, 43)
vec
[1] 266 130  86  69  56  39  30  44  33  43

我并不完全熟悉do.call,但您是否会使用该函数来实现这一点

R在创建矩阵时回收向量,因此可以使用:

matrix( vec , length(vec) , n )

其中,
n
是列数/重复数。

这里另一个明显的替代方法是使用
复制
(尽管
矩阵
应该更有效):

>vec复制(5,vec)
[,1] [,2] [,3] [,4] [,5]
[1,]  266  266  266  266  266
[2,]  130  130  130  130  130
[3,]   86   86   86   86   86
[4,]   69   69   69   69   69
[5,]   56   56   56   56   56
[6,]   39   39   39   39   39
[7,]   30   30   30   30   30
[8,]   44   44   44   44   44
[9,]   33   33   33   33   33
[10,]   43   43   43   43   43
或者,您可以采取更神秘(但可能更快)的方法,如:

`dim<-`(rep(vec, 5), c(length(vec), 5))
`dim
> vec <- scan()
1: 266 130  86  69  56  39  30  44  33  43
11: 
Read 10 items
> replicate(5, vec)
      [,1] [,2] [,3] [,4] [,5]
 [1,]  266  266  266  266  266
 [2,]  130  130  130  130  130
 [3,]   86   86   86   86   86
 [4,]   69   69   69   69   69
 [5,]   56   56   56   56   56
 [6,]   39   39   39   39   39
 [7,]   30   30   30   30   30
 [8,]   44   44   44   44   44
 [9,]   33   33   33   33   33
[10,]   43   43   43   43   43
`dim<-`(rep(vec, 5), c(length(vec), 5))