使用rpy2将2d numpy数组保存为R文件格式

使用rpy2将2d numpy数组保存为R文件格式,第1张

概述这是一个初学者的问题,但是如何使用rpy2将2d numpy数组保存到(压缩)R格式的文件中?为了清楚起见,我想将它保存在rpy2中,然后使用R读取它.我想避免使用csv,因为数据量会很大. 看起来你想要 save command.我会使用 pandas R interface并做类似以下的事情. import numpy as npfrom rpy2.robjects import rimp 这是一个初学者的问题,但是如何使用rpy2将2d numpy数组保存到(压缩)R格式的文件中?为了清楚起见,我想将它保存在rpy2中,然后使用R读取它.我想避免使用csv,因为数据量会很大.解决方法 看起来你想要 save command.我会使用 pandas R interface并做类似以下的事情.

import numpy as npfrom rpy2.robjects import rimport pandas.rpy.common as comfrom pandas import DataFramea = np.array([range(5),range(5)])df = DataFrame(a)df = com.convert_to_r_dataframe(df)r.assign("foo",df)r("save(foo,file='here.gzip',compress=TRUE)")

但是,可能会有更优雅的方式.我愿意接受更好的建议.以上,在R中将使用:

> load("here.gzip")> foo  X0 X1 X2 X3 X40  0  1  2  3  41  0  1  2  3  4

您可以绕过使用pandas并使用rpy2中的numpy2ri.有类似的东西:

from rpy2.robjects import rfrom rpy2.robjects.numpy2ri import numpy2ria = np.array([[i*2147483647**2 for i in range(5)],range(5)],dtype="uint64")a = np.array(a,dtype="float64") # <- convert to double precision numeric since R doesn't have unsigned intsro = numpy2ri(a)r.assign("bar",ro)r("save(bar,file='another.gzip',compress=TRUE)")

在R中:

> load("another.gzip")> bar     [,1]         [,2]         [,3]         [,4]         [,5][1,]    0 4.611686e+18 9.223372e+18 1.383506e+19 1.844674e+19[2,]    0 1.000000e+00 2.000000e+00 3.000000e+00 4.000000e+00
总结

以上是内存溢出为你收集整理的使用rpy2将2d numpy数组保存为R文件格式全部内容,希望文章能够帮你解决使用rpy2将2d numpy数组保存为R文件格式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1194856.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存