gpt4 book ai didi

java - 从 java 运行 rscript 不显示任何结果

转载 作者:行者123 更新时间:2023-12-02 03:38:08 26 4
gpt4 key购买 nike

我正在使用 Rserve 从 java 调用 r 脚本。程序运行并终止,但没有输出我想要的内容。在我的 R 脚本中,我有多个打印语句,因此理论上当我的 java 程序运行时它应该打印这些语句。但我的java程序正在打印我的rscript的路径而不是实际的r脚本内容。

我应该做什么?我如何知道我的脚本是否正确运行?

R 脚本:

library(Rserve)
Rserve()
print(323325)
print("Hellow world this is an R script")
print("R script ran successfully")
print("Running")

Java程序:

public static void main(String[] args) throws REXPMismatchException, REngineException{

RConnection c = new RConnection();
//REXP rengine = c.eval("R.version.string");
//rengine = c.eval("source('./src/main/resources/Script/DB.R')");
//System.out.println(rengine.asString());



REXP rResponseObject = c.parseAndEval("try(eval('./src/main/resources/Script/DB.R'),silent=TRUE)");
System.out.println(rResponseObject.asString());
if (rResponseObject.inherits("try-error")) {
System.err.println("Error: " + rResponseObject.asString());
}


}

实际输出:

./src/main/resources/Script/DB.R

期望的输出:

[1] "Hellow world this is an R script" [1] "R script ran successfully" [1] "Running"

最佳答案

eval 计算表达式。 './src/main/resources/Script/DB.R' 是一个常量字符串,其计算结果为自身。

您可能想要的是源代码

关于java - 从 java 运行 rscript 不显示任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44253190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com