cbind一个向量在R中多次
我有一个向量,我想用这个向量作为新矩阵中的列重复n次 i、 我有一个向量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是列数/重复数。这里另一个明显的替代方法是
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))