当我使用RStudio时,我可以在运行函数时看到任何错误或警告。
但是当我使用rpy2时,如何捕获警告(允许代码运行)和错误(停止代码),以便我可以在python中以编程方式解析消息?
答案 0 :(得分:2)
在R-3.0(当前未发布)之前,默认情况下会向控制台输出警告。 从R-3-0开始,它们不再被打印,因为R开发人员使之前使用的C函数隐藏(并且太忙而无法记录原因并告诉我们是否可以返回该功能)。
要将警告作为rpy2对象获取,您可以执行以下操作:
from rpy2.robjects.packages import importr
base = importr('base')
# do things that generate R warnings
base.warnings()
评估R代码时发生的错误会引发rpy2.rinterface.RRuntimeError
。抓住那些。