在jupyter笔记本中共享R和Python之间的变量

问题描述 投票:2回答:1

如何将R变量传递给Python?

在jupyternotebook中,我使用%reload_ext rpy2.ipython在一个注释中使用R和Python。我知道如何通过使用%%R -i xxx将python变量xxx传递给单元格中的R来将python变量传递给R,但是如何将R变量传递回python?技术上可能吗?

r jupyter-notebook python-3.6 rpy2
1个回答
3
投票

以下Jupyter魔法代码演示了使用R计算1 + 2 + 3并将结果保存在变量rvar中,然后将其传递给Python。选项-o rvar指定变量rvaroutput到Python环境所必需的。

%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)Jupyter笔记本中,你得到Xsdxxbar作为输出。您可以通过运行代码来检查它们:

print('X:', X)
print('X[1]:', X[1])
print('sdx:', sdx)
print('xbar:', xbar)

有关R magic的更多信息,请访问here

或者,您可以使用%Rpull%Rgetrpy2获取对象。

© www.soinside.com 2019 - 2024. All rights reserved.