另一个与 rpy2 相关的问题,涉及将已弃用的 rpy 代码转换为其 rpy2 等效代码。在我的 python 脚本中,我有一个 for 循环语句,它只是在一系列矩阵之间传递输入。最后,我将其保存到 .RData 工作区,以便再次加载并循环两次。
在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,但没有成功:
#写出成功变量
rpy.r("成功 = TRUE")
rpy.r("保存(success,file='success.RData')")
如果有人知道如何翻译上面的“rpy.r”。将语句转换为 rpy2 等效项,我将不胜感激。
最佳答案
如果继续使用 rpy2 来加载保存的对象,您可以只使用 Python 的 pickling (相当于 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...>)
关于python - 使用 rpy2 在 Python 中保存 RData 工作区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25985206/