Эффективное размещение массива в r, igraph - PullRequest
0 голосов

Я хочу создать 2 матрицы с одинаковыми размерами матрицы смежности графа, который у меня есть. Проблема в том, что граф слишком большой.Вот мой код:

AjM<-as_adjacency_matrix(g,attr = "weight")
dim(AjM)

77500 77500

Alpha<-array(0,dim(AjM))

Ошибка: не удается выделить вектор размером 44,6 ГБ . AjM имеет размер 18,8 МБ.Как я могу это сделать? (У меня есть 64-битная машина с оперативной памятью 12 ГБ)

1 Ответ

0 голосов
/ 19 мая 2018

Обратите внимание, что as_adjacency_matrix имеет аргумент sparse.Предполагая, что ваша матрица имеет менее 77500 * 77500/2 ребер, установка sparse=TRUE может значительно уменьшить размер получаемой матрицы смежности.Чтобы использовать эту опцию, у вас должен быть установлен пакет Matrix.

...