[英]How to access a matrix in an .Rdata file in Python using rpy2
我有许多已保存的R数据集 (尽管它们有.R
扩展名)。 我可以使用R(使用load("fname.R")
然后输入文件名fname
来访问其中一个带有R的矩阵fname.R
。
但是,我想在Python中使用这个矩阵。 我可以使用rpy2
来导入数据,但我也有兴趣操纵这些数据。 如何将其转换为Python矩阵?
您可以在另外两个Stack Overflow问题/答案中找到解决方案: 这显示了如何从RData文件加载变量 , 这显示了如何将R矩阵转换为numpy数组 。
结合起来,解决方案看起来像这样:
import rpy2.robjects as robjects
import numpy as np
# load your file
robjects.r['load']('fname.RData')
# retrieve the matrix that was loaded from the file
matrix = robjects.r['fname']
# turn the R matrix into a numpy array
a = np.array(matrix)
print a
例如,如果你开始在R中运行以下代码:
fname <- matrix(1:9, nrow = 3)
save(fname, file = "fname.RData")
上面的Python代码将打印:
[[1 4 7]
[2 5 8]
[3 6 9]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.