Подтвердить что ты не робот

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

Может кто-нибудь помочь?

4b9b3361

Ответ 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,