Python 如何抑制rpy2中的错误消息
以下代码不起作用。似乎R警告消息引发了一个python错误Python 如何抑制rpy2中的错误消息,python,numpy,rpy2,Python,Numpy,Rpy2,以下代码不起作用。似乎R警告消息引发了一个python错误 # enable use of python objects in rpy2 import rpy2.robjects.numpy2ri import numpy as np from rpy2.robjects import r # create an example array a = np.array([[5,2,5],[3,7,8]]) # this line leads to a warning message, whic
# enable use of python objects in rpy2
import rpy2.robjects.numpy2ri
import numpy as np
from rpy2.robjects import r
# create an example array
a = np.array([[5,2,5],[3,7,8]])
# this line leads to a warning message, which in turn raises an
# error message if run within a script.
result = r['chisq.test'](a)
在ipython中运行该代码示例是可行的,但是,在脚本中运行它会引发errorTypeError:“module”对象不可订阅。我想这是由于警告信息
避免此问题的最佳方法是什么?
提前谢谢 将打印语句放在错误之前:
print(r)
result = r['chisq.test'](a)
错误消息TypeError:“module”对象不可订阅
声称r
正在引用模块。当您使用print语句运行脚本时,您将看到如下内容
<module 'rpy2' from '/usr/lib/python2.6/dist-packages/rpy2/__init__.pyc'>
Traceback (most recent call last):
File "/home/unutbu/pybin/test.py", line 14, in <module>
result = r['chisq.test'](a)
TypeError: 'module' object is unsubscriptable
然后第二条import语句覆盖第一条,名称
r
随后引用模块rpy2
,而不是rpy2.robjects.r
谢谢你为我指明了正确的方向。我更改了导入语句,现在代码正确运行了。@Björn:没问题!很高兴这有帮助。
from rpy2.robjects import r
...
import rpy2 as r