使用rpy2在Python中保存RData工作区

时间:2014-09-23 00:48:38

标签: python r rpy2

另一个rpy2相关问题,涉及将弃用的rpy代码转换为rpy2等价物。在我的python脚本中,我有一个for循环语句,只需在一系列矩阵中传递输入。最后,我将它保存到.RData工作区,再次加载并循环2次。

在rpy中,保存文件写成:

#Save resulting RDATA workspace (.RDATA file)
rpy.r.save_image()

我尝试过,但没有成功

import rpy2.robjects as ro 
from rpy2robjects import r

ro.r.save_image()

另外,我有另一个有这个的python脚本,我也试过使用ro.r,没有运气:

#Write out success variable rpy.r("success = TRUE") rpy.r("save(success,file='success.RData')")

如果有人知道如何翻译上述“rpy.r”的话。 rpy2等价的陈述,我将很感激指导。

1 个答案:

答案 0 :(得分:1)

如果继续使用rpy2加载保存的对象,你可以使用Python的pickle(相当于R的加载/保存 - 请参阅http://pymotw.com/2/pickle/): http://rpy.sourceforge.net/rpy2/doc-2.4/html/robjects_serialization.html

否则尝试:

from rpy2.robjects.packages import importr
base = importr('base')
base.save_image(<arguments here...>)