RConnection中的voidEval和parseAndEval有什么不同?

时间:2017-02-09 11:15:08

标签: java r

我看到了用于执行R函数调用并返回响应的方法。 我们将带有架构的查询传递给parseAndEval并将Rscript个文件传递给voidEval。 转换org.rosuda.REngine.RList

parseAndEval响应

代码:

  RConnection rConn = new RConnectionManager().getRConnection();
  rConn.voidEval(scriptPath);
  RList rFunctionResponse = rConn.parseAndEval(query).asList();

我得到了"eval failed, request status: error code: 127"

的例外情况

如何修复它并解释两者之间的不同之处。

1 个答案:

答案 0 :(得分:1)

<强> voidEval

public void voidEval(java.lang.String cmd)
              throws RserveException
  

评估给定的命令,但不获取结果(对于有用)   任务操作)

     

<强>参数:

     

cmd - 命令/表达式字符串

     

<强>抛出:

     

RserveException

<强> parseAndEval

    public REXP parseAndEval(java.lang.String cmd) throws   REngineException,
     REXPMismatchException    
convenince method equivalent to eval(parse(text, false), where, resolve);

<强>参数:

  

text - to parse

     

其中 - 要评估的环境

     

解决 - 是否解决结果引用

     

<强>返回:

     

结果

     

<强>抛出:

     

REngineException REXPMismatchException

您需要添加更多详细信息或代码,以检查此错误发生的原因以及在哪一行。