Совместное использование переменных между R и Python в jupyternotebook - PullRequest
2 голосов
/ 25 апреля 2019

Как передать переменную R в Python?

В jupyternotebook я использую %reload_ext rpy2.ipython, чтобы использовать R и Python в одной заметке.Я знаю, как передать переменную python в R с помощью %%R -i xxx, чтобы передать переменную python xxx в R в ячейке, но как передать переменную R обратно в python?Это возможно технически?

1 Ответ

3 голосов
/ 25 апреля 2019

Следующий магический код Jupyter демонстрирует использование R для вычисления 1 + 2 + 3 и сохранения результата в переменной rvar, а затем передачи его в Python. Опция -o rvar указывает, что переменная rvar требуется как output для среды 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 вы получаете X, sdx и xbar в качестве выходных данных. Вы можете проверить их, запустив код:

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

Более подробную информацию о R magic можно найти здесь .

Кроме того, вы можете использовать %Rpull и %Rget, чтобы получить объект из rpy2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...