Это расширение существующего вопроса: Convert table into matrix by column namesR - преобразование BIG таблицы в матрицу по именам столбцов
Я использую окончательный ответ: https://stackoverflow.com/a/2133898/1287275
Оригинальная матрица CSV файл содержит около 1,5М строк с три столбца ... индекс строки, индекс столбца и значение. Все числа являются длинными целыми числами. Основная матрица представляет собой разреженную матрицу размером около 220K x 220K со средним значением около 7 значений в строке.
Оригинал read.table работает просто отлично.
x <- read.table("https://stackoverflow.com/users/wallace/Hadoop_Local/reference/DiscoveryData6Mo.csv", header=TRUE);
Моя проблема возникает, когда я выполняю команду reshape.
reshape(x, idvar="page_id", timevar="reco", direction="wide")
CPU достигает 100%, и там он сидит вечно. Машина (mac) имеет больше памяти, чем используется R. Я не понимаю, почему так долго нужно строить разреженную матрицу.
Я использую пакет матрицы по умолчанию. Я ничего не установил. Я просто скачал R несколько дней назад, поэтому у меня должна быть последняя версия.
Предложения?
Спасибо, Уоллес
Попробуйте использовать 'sparseMatrix' из пакета' Matrix'. – flodel
Функция 'reshape' не предназначена для построения матрицы спарнов, независимо от того, какие жертвы вы делаете для _deus_ex_machina_. И нет «матричного» пакета. Если вы спрашиваете о пакете «Матрица», пожалуйста, напишите его правильно. –
http://stackoverflow.com/a/9617424/210673 имеет список различных способов сделать это. – Aaron