我正在使用RCaller对Java application中的数据帧执行一些分析。更具体地说,我想使用Coarsened Exact Matching的CEM库运行R。
就CEM而言,如果找到匹配项,则返回一些有关计算的数据。否则(没有找到匹配)它就失败了。
当我从Java application调用Java application方法时,如果CEM在R中失败,RCaller会自动打印到我的Java application's console上,这是我添加到RCode实例中的所有代码。
有办法防止这种印刷吗?我的意思是,我不想在没有找到匹配的情况下继续前进,而不会在我的控制台上打印消息。
提前感谢任何能帮忙的人。
发布于 2016-02-25 12:08:22
处理此问题的方法有两种:
RCaller正在使用java.util.logging.Logger,因此您需要添加一个logback.xml - file来禁用logger的输出。R中使用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,请在suppressWarnings(<method-call>)中使用您的method call
也可以将warning - block添加到tryCatch - block
https://stackoverflow.com/questions/35626373
复制相似问题