我正在使用以下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
有人可以帮忙吗?
答案 0 :(得分:18)
尝试使用:
options(java.parameters = "-Xmx1000m")
如果您使用32位R,请确保您还使用32位Java和 如果你使用64位R,请确保你也使用64位Java。如果 你得到一个Java堆空间消息,表明它是内存不足 见this post。
this thread可以帮助您使用垃圾收集。
<强>参考:强>
exchanging_data_between_r_and_ms_windows_apps_excel_etc
stats-rosuda-devel_001621
答案 1 :(得分:7)
您应确保在任何JVM初始化之前设置Java参数,即在加载XLConnect或xlsx软件包之前。请注意,在您的情况下,您使用的是 read.xlsx 函数,该函数不是XLConnect函数,因此不需要XLConnect包。 XLConnect替代方案是函数 readWorksheetFromFile 。
答案 2 :(得分:0)
试试这个: - 可能这可行。它对我有用
1)下载xlsx文件时,请使用此文件 download.file(fileURL,destfile =&#34; ./ what&#34;,mode =&#34; wb&#34;)
2)切换到常规R,而不是R Studio,