我正在从 java 将一个非常大的数据集加载到 R 中。我创建了一个使用 rJava 的 jri 调用 R 的 Java 程序。该程序已被打包成一个可执行的 jar 文件,并正在从终端 (linux) 调用。数据位于 50 列 x 1370 万行的区域中。单独的 R 可以毫无问题地处理这个问题。但是,当我从 Java 程序运行它时,我收到 Java OutofMemory Heap 错误。
问题是当我用它工作的一半行运行它时,R 应该只将每个变量的名称(总共 50 个)发送回 java,而不管有多少行。这是我正在使用的代码:
re.eval("names(data<-read.csv(file="data.csv", head=TRUE, sep=","));
我的理解是 re.eval 函数,计算 R 中的表达式并将结果发送回 R。有没有办法让你评估函数而不将结果返回给 java?
我之前问过一个类似的问题,这里是链接: Evaluating expressions called from Java in R. Out of Memory Error: Java Heap