读取时内存 R 中的错误.xlsx

2022-09-04 07:39:04

我正在使用以下R代码(也利用Java参数来增加内存):

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

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

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 堆空间消息,指示它已内存不足,请参阅此帖子

这个线程可能会帮助你,使用垃圾回收。

参考资料:
exchanging_data_between_r_and_ms_windows_apps_excel_etc
统计-罗苏达-devel_001621


答案 2

您应该确保在初始化任何 JVM 之前(即在加载 XLConnect 或 xlsx 包之前)设置 Java 参数。请注意,在您的情况下,您使用的是读取.xlsx功能,该功能不是XLConnect功能,因此不需要XLConnect包。XLConnect 的替代方法是 readWorksheetFromFile 函数


推荐