MemoryError в R при чтении .xlsx
Я использую следующий R-код (который использует параметр Java для увеличения памяти):
library(xlsx)
options(java.parameters = "-Xmx1g")
library(XLConnect)
NiVe <- read.xlsx("version1.xlsx",1)
Файл version1.xlsx
имеет размер 13 МБ. Я получаю следующую ошибку:
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
java.lang.OutOfMemoryError: Java heap space
Может кто-нибудь помочь?
Ответы
Ответ 1
Попробуйте увеличить размер кучи java (достаточно), используя:
options(java.parameters = "-Xmx1000m")
Если вы используете 32-битное R, убедитесь, что вы также используете 32-разрядную Java и если вы используете 64-битный R, убедитесь, что вы также используете 64-битную Java. Если вы получаете сообщение о куче Java-кучи, указывающее, что оно не в памяти см. этот пост.
этот поток может помочь вам использовать Garbage Collection.
Справка:
exchanging_data_between_r_and_ms_windows_apps_excel_etc
stats-rosuda-devel_001621
Ответ 2
Вы должны убедиться, что вы устанавливаете параметры Java до, какие-либо JVM инициализируются, то есть перед загрузкой пакетов XLConnect или xlsx. Обратите внимание: в вашем случае вы используете функцию read.xlsx, которая не является функцией XLConnect, поэтому пакет XLConnect не требуется. Альтернативой XLConnect является функция readWorksheetFromFile.
Ответ 3
Попробуйте следующее:
Может быть, это может сработать. Это сработало для меня
1) при загрузке файла xlsx используйте
download.file(fileURL, destfile = "./whatever", mode = "wb" )
2) Переключен в обычный R, а не R Studio,