所以我试图将一些数据从 R 包导入 python 以测试我编写的其他一些 python-rpy2 函数。特别是,我在 R 中使用 SpatialEpi
包和 pennLC
数据集。
所以我能够导入 rpy2 包并正确连接到该包。但是,我不确定如何访问包中的数据。
import rpy2.robjects as robjects
from rpy2.robjects.packages import importr
spep = importr("SpatialEpi")
但是,我似乎无法访问
pennLC
包中的数据对象 SpatialEpi
来测试该功能。等效的 R 命令是:data(pennLC)
有什么建议么。
最佳答案
在 R 中,执行 data("foo")
可以在工作区中创建任意数量的对象。在 rpy2
中,事物包含在环境中。这使它更干净。
from rpy2.robjects.packages import importr, data
spep = importr("SpatialEpi")
pennLC_data = data(spep).fetch('pennLC')
pennLC_data
是一个 Environment
(将其视为命名空间)。列出获取的内容:
pennLC_data.keys()
要获取所需的数据对象:
pennLC_data['pennLC'] # guessing here, it might be a different name
关于python - rpy2 (version 2.3.10) - 从 R 包导入数据到 python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23326651/