的MemoryError中的R而read.xlsx(MemoryError in R while r

2019-07-31 23:54发布

我使用下述R代码(即利用Java参数来增加存储器以及):

library(xlsx)
options(java.parameters = "-Xmx1g")
library(XLConnect)
NiVe <- read.xlsx("version1.xlsx",1)

version1.xlsx文件的大小13 MB。 我得到以下错误:

Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
  java.lang.OutOfMemoryError: Java heap space

有人能帮忙吗?

Answer 1:

试着增加Java堆大小(足够的),通过使用:

options(java.parameters = "-Xmx1000m")

如果您使用的是32位R确保您还使用32位Java,如果你正在使用64位R确保您还使用64位Java。 如果你表示它是内存不足的看到Java堆空间信息这一职位 。

这个线程可以帮助你,使用垃圾收集。

参考:
exchanging_data_between_r_and_ms_windows_apps_excel_etc
统计-rosuda-devel_001621



Answer 2:

你应该确保你设置Java参数之前的任何JVM被初始化,即无论是XLConnect之前或XLSX包被加载。 请注意,在你的情况下,你使用的是read.xlsx函数,而不是一个XLConnect功能,因此不需要XLConnect包。 所述XLConnect替代方案是功能readWorksheetFromFile。



Answer 3:

试试这个: - 可能是这可以工作。 它的工作对我来说

1)下载XLSX文件时,使用此download.file(fileURL,destfile = “./不管”,模式= “WB”)

2)切换到定期R,不属于R Studio中,



文章来源: MemoryError in R while read.xlsx