R语言—java使用RConnection调用R语言程序 eval 127错误

  • Post author:
  • Post category:java


1、启动Rserve服务(64位)

(1)Rserve服务依赖rJava,启动Rserve前先安装rJava,即:install.packages(“rJava”);  library(“rJava”);

java和 rJava要对应,这里指32位对32位,64位对64位。

(2)在GUI里敲命令:

library(“Rserve”);

Rserve();

如果在未设置环境变量的情况下,也可在cmd命令窗口中启动,如果Rserve报错,可在cmd窗口中查看,但在GUI界面里不会有任何提示信息。

2、使用source时尽量避免R语言脚本路径里不要有中文,如果文件中有路径的地方,一定记得使用 / ,而不是 \ ,否则,Rserve直接异常退出。

RConnection connection = null;
try {
    connection = new RConnection();
    connection.eval("source('d://aa//aa.R')");
}
catch (Exception e) {
    logger.error(e.getMessage());
    e.printStackTrace();
    return;
}
finally {
    if (connection != null) {
        connection.close();
    }
}

3、我的是windows 10家庭版操作系统,在执行R程序时,文件内容的编码格式为ANSI,设置为UTF-8时会导致Rserve服务异常退出。



版权声明:本文为miaoshengwu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。