Мне нужно выполнить простую двухэтапную регрессию наименьших квадратов для больших матриц данных.Это просто требует некоторых команд crossprod()
и solve()
, но матрицы имеют размеры 100 000 на 5000 матриц.Насколько я понимаю, что удержание такой матрицы в памяти заняло бы чуть меньше 4 ГБ памяти.К сожалению, моя 64-разрядная машина Win7 имеет только 8 ГБ оперативной памяти.Когда я пытаюсь манипулировать соответствующими матрицами, я получаю обычное сообщение «невозможно выделить вектор размера».
Я рассмотрел несколько вариантов, таких как пакеты ff
и bigmemory
.Однако базовые функции R для матричных операций, которые мне нужны, поддерживают только обычный тип объекта матрицы, а не тип bigmatrix
.
Кажется, что возможно расширить код с biglm()
, ноУ меня плотный график работы над этим проектом, поэтому я хотел проверить со всеми вами, чтобы увидеть, существует ли готовое решение для подобных проблем.Извинения, если это было обращено ранее (я не мог найти это), или если вопрос слишком общий.