java - RCaller:防止自动错误打印

标签 java r rcaller

我正在使用 RCaller 对我的 Java 应用程序 中的数据帧执行一些分析。更具体地说,我想使用 RCEM 库运行 Coarsened Exact Matching

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

当我从 Java 应用程序 调用 runAndReturnResult 方法时,如果 CEMR 内失败,RCaller 自动在我的 Java 应用程序的控制台 上打印我添加到 RCode 实例的所有代码。

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

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

最佳答案

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

  • 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

关于java - RCaller:防止自动错误打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35626373/

相关文章:

java - 如何使用 Rcaller 将数据库表从 java 转移到 R?

Java RCaller 重用一个函数

java - SwingX AutoCompleteDecorator JTextField 错误

java - NetBeans 和 JDialog 如何重用代码?

用于反序列化具有可变小数秒数的日期的 Java 日期模式?

将数字向量舍入为整数,同时保留它们的总和

r - 将 "true"/"false"值的数据帧列转换为 1 或 0 并分配给数据帧

报告矩阵中各列的相同值

java - 在 Java 中使用 JaCop 优化函数

java - 不同类数组单例实例中 Find And Delete 方法中数组的全局索引