我尝试从xlsx读取时出现内存不足错误

时间:2015-03-06 17:53:43

标签: r

我想从xlsx工作簿导入工作表,所以我尝试:

library(xlsx)
data<-read.xlsx("m.xlsx", sheetName ="me", stringsAsFactors = FALSE)  

并获得错误

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

如何导入此文件?

此xlsx工作簿包含500行和40列

1 个答案:

答案 0 :(得分:5)

您需要增加Java堆大小。您可以通过为rJava标记添加xlsx标记来为-Xmxoptions( java.parameters = "-Xmx4g" ) }中的R执行此操作,如下所示:

options( java.parameters = "-Xmx8g" )

将堆大小增加到4 GB

{{1}}

将堆大小增加到8 GB等。最好一次增加一点,直到问题消失。

请注意,在初始化JVM之前,即在加载程序包之前,您需要执行此操作。更多here