pyRserve sapply в среде R не работает должным образом
Я установил RServe в R и pyRserve в Python. Оба работают отлично. Я следовал за документацией 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, но он все еще получает ту же ошибку. Знаете ли вы, если это изменение спецификации, или есть ли другой способ сделать это?
Спасибо!
1 ответ
Решение
Это поздний ответ, но, возможно, он все еще может помочь другим.
В pyRserve действительно была ошибка с предоставлением функций R в качестве аргументов для вызовов функций. Это было исправлено в V 0.8.1 и теперь должно работать как положено.