如何将R变量传递给Python?
在jupyter记事本中,我使用%reload_ext rpy2.ipython在一个注释中使用R和Python。我知道如何通过%%R -i xxx在单元中将python变量xxx传递给R,从而将python变量传递给R,但是如何将R变量传递回python呢?技术上有可能吗?
发布于 2019-04-25 11:48:54
下面的木星魔术代码演示了如何使用R计算1+2+3并将结果保存在变量rvar中,然后将其传递给rvar。选项-o rvar指定变量rvar是output环境所必需的。
%R -o rvar rvar=1+2+3在另一个单元格上,可以使用Python操作该变量:
print(rvar) # [1] 6
print(rvar[0]) # 6.0对于更复杂的例子,有多个输出变量:
%%R -o X -o sdx -o xbar
X=c(1,4,5,7);
sdx=sd(X);
xbar=mean(X)在(Python)木星笔记本中,输出是X、sdx和xbar。您可以通过运行代码来检查它们:
print('X:', X)
print('X[1]:', X[1])
print('sdx:', sdx)
print('xbar:', xbar)有关R magic的更多信息可以找到这里。
或者,您可以使用%Rpull和%Rget从rpy2获取对象。
编辑
正如@lgautier在评论中暗示的那样,更新参考链接。
https://stackoverflow.com/questions/55841165
复制相似问题