Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何抑制rpy2中的错误消息_Python_Numpy_Rpy2 - Fatal编程技术网

Python 如何抑制rpy2中的错误消息

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

以下代码不起作用。似乎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, 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