【问题标题】:Rserve: pyServe not able to call basic R functionsRserve:pyServe 无法调用基本的 R 函数
【发布时间】:2020-10-22 03:44:58
【问题描述】:

我从 python 调用 Rserve,它运行基本操作,但如果我将基本函数调用为 min 则不是

import pyRserve

conn = pyRserve.connect()

cars = [1, 2, 3]
conn.r.x = cars
print(conn.eval('x'))
print(conn.eval('min(x)'))

结果是:

[1, 2, 3]
Traceback (most recent call last):
  File "test3.py", line 9, in <module>
    print(conn.eval('min(x)'))
  File "C:\Users\acastro\.windows-build-tools\python27\lib\site-packages\pyRserve\rconn.py", line 78, in decoCheckIfClosed
    return func(self, *args, **kw)
  File "C:\Users\acastro\.windows-build-tools\python27\lib\site-packages\pyRserve\rconn.py", line 191, in eval
    raise REvalError(errorMsg)
pyRserve.rexceptions.REvalError: Error in min(x) : invalid 'type' (list) of argument

你知道问题出在哪里吗? 谢谢

【问题讨论】:

    标签: r rserve pyrserve


    【解决方案1】:

    你应该试试min(unlist(x))

    如果列表很简单,你可以试试 as.data.frame(x)。

    对于一些更复杂的列表,* 有很多其他的答案。

    【讨论】:

    • 谢谢,我猜一个python数组被转换为R中的一个列表,你知道如何将它设置为数据框吗?
    最近更新 更多