python rpy2时间序列_python-Rpy2,pyrserve和PypeR如何比较?

RPy提供了一种从Python访问R的简单有效的方法。 它既坚固又非常   便于在Python和R之间进行频繁的交互操作。此软件包允许   Python程序将基本数据类型的Python对象传递给R函数,并返回   生成Python对象。 对于Python和R频繁交互的情况,此类功能使其成为有吸引力的解决方案。 但是,此软件包仍然有如下所列的限制。

性能:

对于大型数据集或计算密集型而言,RPy可能表现不佳  职责。生成Python不可避免地会浪费大量时间和内存  R数据的副本,因为在每次会话中RPy都会转换返回的数据  R表达式的值转换为基本类型或NumPy数组的Python对象。 RPy2,一个  最近开发的RPy分支,使用Python对象引用R对象而不是  将它们复制回Python对象。此策略避免了频繁的数据转换  并提高速度。但是,内存消耗仍然是一个问题。 [...]  当我们实施WebArray(Xia等人,2005)时,这是一种用于微阵列数据分析的在线平台,如果通过RPy(而非通过R的命令行用户界面)运行R,则一项作业会消耗大约四分之一的计算时间。因此,我们决定在后续开发中通过管道在Python中运行R,例如WebArrayDB(Xia et al.2009),其性能保持与独立运行R时相同的性能。我们不知道造成这种性能差异的确切原因,但是我们注意到RPy直接使用R的共享库来运行R脚本。相反,通过管道运行R意味着直接运行R解释器。

记忆:

R因其不经济地使用内存而受到谴责。 大型机使用的内存   删除大小为R的对象后,这些对象很少释放。 有时唯一   从R释放内存的一种方法是退出R。RPy模块将R包装在Python对象中。   但是,即使删除了Python对象,R库也将保留在内存中。 其他   换句话说,在主机Python脚本终止之前,不能释放R使用的内存。

可移植性:

作为带有用C编写的扩展的模块,必须编译RPy源包。   在POSIX(Unix的便携式操作系统接口)上具有特定的R版本   系统,并且R必须在启用共享库的情况下进行编译。 还有,二进制   Windows发行版绑定到不同版本的Windows的特定组合   Python / R,因此用户经常很难找到   用户的软件环境。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值