繁体   English   中英

Rserve异常“评估失败,请求状态:错误代码:127”

[英]Rserve Exception “eval failed, request status: error code: 127”

我试图使用Rserve从Java执行一些r代码:

try {
    RConnection conn = new RConnection();
    conn.eval("write.csv(PoS, file = 'C:/test/PoS.csv',row.names=FALSE)");
} catch (REngineException eR) {
    System.err.println("Exception: "+ eR);
    throw new TestException("syntax error on eval on R code");        
} catch(Exception e){
    e.printStackTrace();
    throw new TestException("parseAndEval did not generate an exception on syntax error" );    
}

我收到评估失败的错误。 但是我可以在R中成功执行Rcode:

write.csv(PoS, file = 'C:/test/PoS.csv',row.names=FALSE)

我确定Rserve()已在R端启动,并且其他语句如

conn.eval("iris");

是可能的。

我已经解决了这个问题。 每次我建立新的Rconnection时,都需要重新加载矩阵PoS ,或者将其保存在默认的工作区映像中。

要获取正确的错误消息,请使用此代替简单的eval

REXP rResponseObject = rServeConnection.parseAndEval("try(eval("+R_COMMAND_OR_SOURCE_FILE_PATH+"),silent=TRUE)");
 if (rResponseObject.inherits("try-error")) { 
LOGGER.error("R Serve Eval Exception : "+rResponseObject.asString()); 
}

该记录器打印从R引发的确切错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM