RCaller:防止自动错误打印

RCaller: prevent automatic error printing

我正在使用 RCallerJava application 中的数据框执行一些分析。更具体地说,我想 运行 Coarsened Exact Matching 使用 RCEM 库。

CEM而言,它returns一些关于数学运算的数据,如果找到任何匹配的话。否则(未找到匹配项)失败。

当我从我的 Java application 调用 runAndReturnResult 方法时,如果 CEMR 内失败,RCaller 会自动在我的 [=21= 上打印],我添加到 RCode 实例的所有代码。

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

在此先感谢任何可以提供帮助的人。

有两种处理方法:

  • RCaller 正在使用 java.util.logging.Logger,因此您需要添加一个 logback.xml - file 来禁用 logger.
  • 的输出
  • R 中使用 tryCatch({}) 这样您的 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 call 包裹在 suppressWarnings(<method-call>)

或者您也可以在 tryCatch - block

中添加一个 warning - block