是否有一个循环使用cbind的技巧?

时间:2014-10-24 08:55:02

标签: r loops matrix vector cbind

我有87个长度为4096的向量。例如,

> head(d[[1]]$x)
[1] 1.676094 1.676323 1.676551 1.676780 1.677008 1.677237

我想将这些向量连接成一个矩阵,每个向量占用一列。因为单独绑定它们可以正常工作

Ds <- cbind(d[[1]]$x,d[[2]]$x,d[[3]]$x

我认为这也会起作用

matrix() -> Ds
for(i in 1:87){
    cbind(d[[i]]$x) -> Ds[[i]]
}

但我收到了错误

Error in Ds[[i]] <- cbind(d[[i]]$x) : 
  more elements supplied than there are to replace

cbind有什么特定的东西不允许循环或者我错过了什么吗?任何建议都表示赞赏。

感谢。

1 个答案:

答案 0 :(得分:1)

cbind需要两个或更多参数。你能尝试一下:

Ds<-c() 
for(i in 1:87){
     Ds<-cbind(Ds,d[[i]]$x) 
}