我使用带有rpy2(V2.9.1)的Jupyter笔记本(python3内核)从Python运行R中的命令。我可以在R之间传递值,但我的问题是我不知道如何从R返回的变量中提取所需的信息。 我有以下代码:
%Rpush blood
%%R
library("mice")
memory.limit(56000)
imp <- mice(blood, seed = 23109)
%Rpull imp
print(imp)
[out]<rpy2.rinterface.ListSexpVector - Python:0x00000178FC1BDA20 / R:0x00000178BCF236F0>
imp是一个包含21个元素的列表。我希望能够通过名称访问元素。根据这篇文章:rpy2 access R named list items by name, low-level interface例如,我应该能够做到以下几点:
m = imp.rx('m')
或者
m = imp[imp.names.index('m')]
这两个都会给出错误消息“'rpy2”。rinterface.listsepvector文件'对象没有属性'rx'(第二种情况下为'names')。但是上面引用的post使用的是ListSexpVector。有办法吗?你知道吗
我读了这篇文章后意识到:How to get data from R to pandas问题出在%Rpull上。%Rpull不会以Python友好的形式返回对象,而使用
然后,和问题中列出的其他操作一样,按预期工作。你知道吗
相关问题 更多 >
编程相关推荐