Проблема с read.xlsx в R - PullRequest
       75

Проблема с read.xlsx в R

0 голосов
/ 03 августа 2020

В настоящее время я пытаюсь использовать R для чтения (большого, 8,3 МБ) файла .xlsx в матрицу. Я пытаюсь сделать это с помощью файла read.xlsx в пакете xlsx. https://cran.r-project.org/web/packages/xlsx/index.html

Теперь я пытаюсь прочитать содержимое одного из листов в файле с помощью следующей команды:

sheetname<-read.xlsx("/Users/jinkinsonsmith/Downloads/Re _Introduction/filename.xlsx",sheetName='sheetname')

Похоже, эта команда должен работать с точки зрения чтения содержимого листа "имя листа" в xlsx файле "имя файла" в вектор "имя листа". Однако вместо этого я получаю следующее сообщение об ошибке:

Ошибка в .jcall («RJavaTools», «Ljava / lang / Object;», «invokeMethod», cl,: java .lang .OutOfMemoryError: Java пространство кучи

Похоже, я не первый, кто получает это сообщение об ошибке (пример: Как бороться с "java .lang.OutOfMemoryError : Java heap space "error? ), но даже после прочтения другого сообщения, на которое я только что указал, мне все еще не ясно, что мне делать, чтобы исправить эту ошибку. У моего MacBook Pro уже давно были проблемы с нехваткой дискового пространства и требуя от меня удалить кучу файлов, так что это может быть виновником, но также очевидно, что у меня слишком много сохраненных ссылок на объекты в R, которые я больше не использую и которые занимают слишком много места . В последнем случае я не знаю, как бы удалить ненужные ссылки.

1 Ответ

0 голосов
/ 20 августа 2020

Используя следующую строку кода перед тем, как вы загружаете любой другой пакет, я мог бы решить подобные проблемы, подобные этой. Я уже описал это здесь .

options(java.parameters = c("-XX:+UseConcMarkSweepGC", "-Xmx8192m"))
library(xlsx)

Пожалуйста, добавьте эту строку и перезапустите, так как другие пакеты могут загружать некоторые java вещи сами по себе, и параметры должны быть установлены перед загрузкой любого Java .

Как правило, эта опция изменяет тип сборки мусора, что иногда вызывает проблемы в настройках по умолчанию, а также увеличивает объем памяти до 8 ГБ.

...