当前位置: 首页 > 面试题库 >

Rpy2,pyrserve和PypeR如何比较?

拓拔泓
2023-03-14
问题内容

我想从Python程序中访问R。我知道Rpy2,pyrserve和PypeR。

这三种选择的优缺点是什么?


问题答案:

我比其他人更了解这三个,但按问题中给出的顺序:

rpy2:

  • Python和R之间的C级接口(R作为嵌入式进程运行)
  • 暴露给Python的R对象,无需复制数据
  • 相反,Python的numpy数组可以暴露给R而无需创建副本
  • 低级接口(靠近R C-API)和高级接口(为方便起见)
  • 可以对向量和数组进行就地修改
  • R回调函数可以在Python中实现
  • 可能具有带有Python标签的匿名R对象
  • 可以进行Python酸洗
  • 通过其控制台完全自定义R的行为(因此可以实现完整的R GUI)
  • 支持有限的MSWindows

皮尔斯(Purserve):

  • 本机Python代码(将/应/可与CPython,Jython,IronPython一起使用)
  • 使用R的Rserve
  • 远程计算和RServe相关的优点和不便之处

pyper:

  • 本机Python代码(将/应该/可能与CPython,Jython,IronPython一起使用)
  • 使用管道使Python与R通信(具有与之相关的优点和不便之处)

编辑: Windows对rpy2的支持



 类似资料:
  • 问题内容: 首先,我不是要在这里发动战争。我非常了解Jersey,但是很少使用httpclient。 jersey-client和Apache的httpclient之间的主要区别是什么?在哪些方面比另一方面更好?哪里有比较好的图表?较大的文件(例如2048 MB)中,哪一个效果更好? 非常感谢您的评论! 问题答案: 这两件事可能不应该直接比较。Jersey是REST客户端,具有完整的JAX-RS实

  • 问题内容: 以下代码应在rpy2中创建一个热图 但是,它导致以下错误 从文档中,我了解到r.heatmap期望使用“数字矩阵”。如何将np.array转换为所需的数据类型? 问题答案: 您需要添加 请参阅rpy2文档的numpy部分(此处为旧版2.x版本)中的更多内容 在2.2.x之前,仅导入即可。 仅此导入就足以将numpy对象自动转换为rpy2对象。 为什么将其作为可选导入,而它却可以包含在函

  • 问题内容: 我做了一个非常简单的基准测试程序,该程序可以使用4种不同的语言计算出高达10,000,000的所有素数。 (2.97秒)-node.js(javascript)(4.4.5) (6.96秒)-c(c99) (6.91秒)-Java(1.7) (45.5秒)-python(2.7) 以上平均每次运行3次,用户时间 Node.js到目前为止运行最快。这使我感到困惑,原因有两个: 在这种情况

  • 问题内容: 我很难理解两者之间的相互作用以及两者之间的界线。它们重叠吗?它们之间是否有冗余? 我知道两者都有相关的批注,但是我还没有找到简短说明的完整列表。不知道这是否有助于弄清它们之间的差异或重叠之处。 真的只是糊涂了。我(认为我)相当了解EJB,我想很难确切地了解CDI给表带来了什么,以及它如何取代或增强EJB已经提供的功能。 问题答案: CDI: 关于依赖注入。这意味着您可以在任何地方注入接

  • 我试图检查两个日期是否相等,然后根据该日期分组另一个结果。 我能够使用如下例所示的字符串进行聚合。这是我能做的最多的事情了。 如何声明表达式以检查creationDates是否相等?我真的很纠结。我可以使用JavaScript实现这一点,但我不知道如何使用Mongo实现这一点。

  • 问题内容: 我有一个需要在字段上排序的对象列表,例如“分数”。我不加思索地编写了一个实现Comparator的新类,该类可以完成任务并且可以工作。 现在回头看一下,我想知道是否应该让我的类实现Comparable,而不是创建一个实现Comparator的新类。分数是订购对象的唯一字段。 我做的可接受的做法是什么? 正确的方法是“首先让类实现Comparable(用于自然排序),如果需要替代字段比较