繁体   English   中英

如何使用rpy2在Python中访问.Rdata文件中的矩阵

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM