2014-10-24 2 views
-1

У меня 87 векторов длины 4096. Например,Есть ли трюк для петли с cbind?

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

Я хотел бы объединить эти векторы в матрицу с каждым вектором, занимающим столбец. Поскольку cbinding их по отдельности отлично

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, что Безразлично» t допускает цикл или я что-то упускаю? Любые советы приветствуются.

Спасибо.

ответ

1

cbind нуждается в двух или более аргументах. Вы можете попробовать:

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

Работы. Огромное спасибо. – user1038055