0

RCaller用来对我的Java application. 更具体地说,我想Coarsened Exact Matching使用.CEMR

CEM目前而言,如果找到任何匹配项,它会返回一些有关数学运算的数据。否则(未找到匹配项)它会失败。

当我从 my 调用该runAndReturnResult方法时Java application,如果CEM在内部失败RRCaller则会在 my 上自动打印Java application's console我添加到RCode实例中的所有代码。

有没有办法防止这种打印?我的意思是,我想忽略找不到匹配项的情况并继续前进,而不在控制台上打印消息。

提前感谢任何可以提供帮助的人。

4

1 回答 1

1

有两种方法可以处理这个问题:

  • RCaller正在使用java.util.logging.Logger,因此您需要添加一个logback.xml - file用于禁用logger.
  • tryCatch({})在里面使用,R 这样你R code就不会中断 -> 不会在Java.

我会推荐第二种解决方案。

更新:

你必须添加一个error - block

mat <- tryCatch({
   cem(treatment = "c_CLUSTER", data = df, drop = dp))
 }, error = function(e) {
    NULL # or do something else
 }, finally = {
 })

如果你想忽略所有的warnings,把你method callsuppressWarnings(<method-call>)

或者您也可以warning - blocktryCatch - block

于 2016-02-25T12:08:22.383 回答