我正在尝试将 .xlsx 文件加载到 R 中,该文件只有一张表,大小约为 31 MB。
我运行以下内容
options( java.parameters = "-Xmx6g" )
require(xlsx)
yt = read.xlsx("big_spreadsheet.xlsx",1)
我什么也没得到。我的系统监控程序显示分配的内存慢慢填满,然后一直保持满状态。我没有让它运行几个小时,但十分钟应该足够了,特别是当我可以刚刚加载到 Numbers 中(我在 Mavericks 上)并将其保存为 CSV 时。
是的,我的内存远远超过 6 GB。 2 GB 似乎不够,并产生错误:
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
java.lang.OutOfMemoryError: Java heap space
但是,我确实犯了一个错误,让 rJava
包安装它自己的 Java 版本。我事后下载了 JDK 8,但我不知道如何检查它是否正在使用。
那么为什么需要 6 GB RAM 才能加载 31 MB 文件(无法加载)?我能以某种方式解决这个问题吗?
最佳答案
我从来没有让它发挥作用。我最近一直在使用readxl
用于读取 Excel 电子表格的包,它没有 Java 依赖性,并且似乎工作得很好。
关于read.xlsx 需要很长的时间和大量的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25002212/