rpy2:如何将向量从 Python 回调函数返回到 R?

亚伦·利佩莱斯

我正在尝试从 Python 调用 R 包中的函数。R 函数需要一个回调函数,它接受一个值向量,进行一些计算,并返回一个结果向量。

我能够让回调工作,但前提是它返回一个标量。所有返回多个值的尝试都会导致 rpy2 抛出 ValueError。

从 rpy2.robject 开始,我尝试了 FloatVectors 和 IntVectors。我还尝试将我的 Python 列表转换为 numpy 数组或 Pandas 数据帧,然后使用 rpy2 的接口来转换这些。没有工作。

明确地说,我能够成功地使用所有这些方法来创建可以从 Python 传递到 R 函数的参数列表的对象。仅当我尝试从 Python 回调返回向量时才会收到错误消息

我已经将问题提炼为一个简单的测试。这是接受然后调用回调函数的 R 代码:

Test <-
function(cb) {
    cb()
}

而且,这是我用来调用 R 代码的 Python 代码:

import rpy2.rinterface as ri
from rpy2 import robjects

robjects.r('source("Test.R")')
test = robjects.r['Test']

@ri.rternalize
def cb_test():

    return robjects.FloatVector([1.0, 2.0, 3.0])

test(cb_test)

预期结果:

FloatVector with 3 elements.
1.000000    2.000000    3.000000

实际结果:

<class 'ValueError'>: [1] 1 2 3

提前感谢任何能弄清楚我做错了什么的人。

高蒂尔

这个问题也可以简单地重现:

import rpy2.rinterface as ri
ri.initr()

@ri.rternalize
def cb_test():
    return ri.FloatSexpVector([1.0, 2.0, 3.0])

cb_test()

这似乎是一个问题,现在在这里跟踪:https : //bitbucket.org/rpy2/rpy2/issues/538/

编辑:代码存储库中有一个初始修复,并且通常会在周末发布 rpy2 的错误修复版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将Python函数与rpy2结合?

来自分类Dev

如何在Python代码中使用rpy2将R函数作为参数传递

来自分类Dev

如何将列表传递给rpy2中的R并返回结果

来自分类Dev

如何通过Rpy2(v3)在Python中使用R中的`hclust`函数?

来自分类Dev

使用 rpy2 从 Python 调用 R 函数

来自分类Dev

通过rpy2将列表从python传递到R

来自分类Dev

通过rpy2将列表从python传递到R

来自分类Dev

使用rpy2将Python变量传递给R

来自分类Dev

如何将“then”回调函数的结果返回到环回 4 控制器

来自分类Dev

如何将rpy2 ListVector(rpy2.robjects.vectors.ListVector)转换为python?

来自分类Dev

如何将多个列表从控制器操作返回到ajax成功回调函数

来自分类Dev

如何将rpy2指向现有的R安装?

来自分类Dev

如何将rpy2指向现有的R安装?

来自分类Dev

使用rpy2将.R文件采购到python时出现问题

来自分类Dev

使用 rpy2 将 Python 二进制数据转换为 R

来自分类Dev

在Python和Rpy2中使用R:如何ggplot2?

来自分类Dev

如何使用rpy2 api从python脚本正确获取R sessionInfo()?

来自分类Dev

我们如何在Node.js中将字符串从回调函数返回到根函数?

来自分类Dev

使用rpy2从python调用R脚本

来自分类Dev

使用rpy2从python动态调用R库

来自分类Dev

将值从Firebase JS回调方法(DAL)返回到另一个函数(控制器)

来自分类Dev

RPy2导入R源函数会产生错误

来自分类Dev

使用rpy2运行R函数时出错

来自分类Dev

在rpy2中绘制R函数曲线

来自分类Dev

具有多个输入参数的 Python RPy2 函数

来自分类Dev

将R示例函数与rpy2一起使用时发生意外行为吗?

来自分类Dev

Python - 如何从类调用外部函数然后返回到类

来自分类Dev

将逻辑回归从R迁移到rpy2

来自分类Dev

函数内的nodejs回调函数->如何返回结果

Related 相关文章

  1. 1

    如何将Python函数与rpy2结合?

  2. 2

    如何在Python代码中使用rpy2将R函数作为参数传递

  3. 3

    如何将列表传递给rpy2中的R并返回结果

  4. 4

    如何通过Rpy2(v3)在Python中使用R中的`hclust`函数?

  5. 5

    使用 rpy2 从 Python 调用 R 函数

  6. 6

    通过rpy2将列表从python传递到R

  7. 7

    通过rpy2将列表从python传递到R

  8. 8

    使用rpy2将Python变量传递给R

  9. 9

    如何将“then”回调函数的结果返回到环回 4 控制器

  10. 10

    如何将rpy2 ListVector(rpy2.robjects.vectors.ListVector)转换为python?

  11. 11

    如何将多个列表从控制器操作返回到ajax成功回调函数

  12. 12

    如何将rpy2指向现有的R安装?

  13. 13

    如何将rpy2指向现有的R安装?

  14. 14

    使用rpy2将.R文件采购到python时出现问题

  15. 15

    使用 rpy2 将 Python 二进制数据转换为 R

  16. 16

    在Python和Rpy2中使用R:如何ggplot2?

  17. 17

    如何使用rpy2 api从python脚本正确获取R sessionInfo()?

  18. 18

    我们如何在Node.js中将字符串从回调函数返回到根函数?

  19. 19

    使用rpy2从python调用R脚本

  20. 20

    使用rpy2从python动态调用R库

  21. 21

    将值从Firebase JS回调方法(DAL)返回到另一个函数(控制器)

  22. 22

    RPy2导入R源函数会产生错误

  23. 23

    使用rpy2运行R函数时出错

  24. 24

    在rpy2中绘制R函数曲线

  25. 25

    具有多个输入参数的 Python RPy2 函数

  26. 26

    将R示例函数与rpy2一起使用时发生意外行为吗?

  27. 27

    Python - 如何从类调用外部函数然后返回到类

  28. 28

    将逻辑回归从R迁移到rpy2

  29. 29

    函数内的nodejs回调函数->如何返回结果

热门标签

归档