我在R中安装了RServe,在Python中安装了pyRserve。两人都干得很好。我遵循了https://pythonhosted.org/pyRserve/manual.html文档,一切都很顺利。但是,当我试图运行与sapply相关的示例时,我会得到以下错误:
>>> conn = pyRserve.connect()
>>> conn.r.sapply(numpy.array([-1,2,3]), conn.r.abs)
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2827, in run_code
exec code_obj in self.user_global_ns, self.user_ns
File "<ipython-input-68-8dcf5b40049c>", line 1, in <module>
conn.r.sapply(numpy.array([1, 2, 3]), conn.ref.abs)
File "/usr/lib/python2.7/site-packages/pyRserve-0.7.3-py2.7.egg/pyRserve/rconn.py", line 301, in __call__
return self._rconn.callFunc(self._name, *args, **kw)
File "/usr/lib/python2.7/site-packages/pyRserve-0.7.3-py2.7.egg/pyRserve/rconn.py", line 47, in decoCheckIfClosed
return func(self, *args, **kw)
File "/usr/lib/python2.7/site-packages/pyRserve-0.7.3-py2.7.egg/pyRserve/rconn.py", line 190, in callFunc
argName = arg.name
File "/usr/lib/python2.7/site-packages/pyRserve-0.7.3-py2.7.egg/pyRserve/rconn.py", line 333, in __getattr__
'defined in Rserve' % concatName)
NameError: no such variable or function "abs.name" defined in Rserve我试过使用conn.ref.abs,但仍然会出现相同的错误。您知道这是否是规格的更改,还是有其他方法可以做到这一点?
谢谢!
发布于 2014-07-17 18:08:17
这是一个迟答,但也许它仍然可以帮助别人。
在pyRserve中确实存在一个错误,即提供R函数作为函数调用的参数。这已在第0.8.1版中得到修正,现在应能如预期那样工作。
https://stackoverflow.com/questions/21998992
复制相似问题