1

当我使用 RStudio 时,我可以在运行函数时看到任何错误或警告。

但是,当我使用 rpy2 时,如何捕获警告(允许代码运行)和错误(使代码停止),以便我可以在 python 中以编程方式解析消息?

4

1 回答 1

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. 抓住那些。

于 2013-03-19T22:02:09.807 回答