Таким образом, у меня есть список с элементами, которые являются целочисленными векторами переменной длины ... Это может быть воспроизведено как этотКак добавить все элементы списка эффективно в R
N<-1000
x<-list()
for(i in 1:N){
x[[i]]<-1:sample.int(10,1)
}
Но в моем случае У меня есть список с миллионом элементов, N=1.000.000
.
Мне нужно, чтобы добавить все элементы списка, чтобы создать уникальный вектор. Я пробовал следующие методы: все они очень медленные и на самом деле никогда не заканчиваются, потому что добавление в R действительно неэффективно.
library(abind)
abind(x)
также это:
y<-integer()
for(i in 1:length(x)){
y<-append(y,x[[i]])
}
Что вы предлагаете? У вектора будет около 10 миллионов значений ... так что, возможно, R просто не может справиться с этим на обычном компьютере, и единственным решением является разбиение списка на разные части?
Вы пробовали 'unlist (х, use.names = FALSE)'. 'unlist' является достаточно быстрым, но если количество элементов списка слишком велико, то расщепление процесса может быть лучше – akrun
omg ... как я могу забыть о существовании списка ... спасибо – Felipe