当我使用 RStudio 时,我可以在运行函数时看到任何错误或警告。
但是,当我使用 rpy2 时,如何捕获警告(允许代码运行)和错误(使代码停止),以便我可以在 python 中以编程方式解析消息?
当我使用 RStudio 时,我可以在运行函数时看到任何错误或警告。
但是,当我使用 rpy2 时,如何捕获警告(允许代码运行)和错误(使代码停止),以便我可以在 python 中以编程方式解析消息?
在 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
. 抓住那些。