[英]How to suppress error messages in 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, 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' object is unsubscriptable
下標,聲稱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
請注意,第一行說r
引用了模塊rpy2
。 這應該為您提供提示有關發生了什么問題。 找到麻煩的模塊的名稱后,檢查導入語句以查看r
如何重新分配給該模塊。
例如,如果您有
from rpy2.robjects import r
...
import rpy2 as r
然后第二個import語句將覆蓋第一個import語句,此后,名稱r
引用模塊rpy2
而不是rpy2.robjects.r
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.