[英]cbind a vector multiple times in R
我有一個向量,我想使用該向量作為新矩陣中的列重復 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
我想生產n次
vec1 vec1
266 266
130 130
86 86
69 69
56 56
39 39
30 30
44 44
33 33
43 43 .....
我對 do.call 並不完全熟悉,但是您會使用該功能來實現這一目標嗎?
R 在創建矩陣時回收向量,因此您可以使用:
matrix( vec , length(vec) , n )
其中n
是列數/重復數。
另一個明顯的替代方法是使用replicate
(盡管matrix
應該更有效):
> 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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.