Передача данных из фрагмента Python в среду R в Rnotebook
У меня есть некоторые данные, предоставленные мне в файле полки Python, и я хочу передать их R для печати. мой код для извлечения выглядит так:
Попробуйте выполнить этот чанк, нажав кнопку " Выполнить" внутри чанка или поместив в него курсор и нажав Ctrl + Shift + Enter.
```{python}
import numpy as np
from numpy import ma, array
import shelve
MODEL = "May2016"
d = shelve.open('fits_shelve_' + MODEL)
hilldata = d['hilldata']
allchi = d['allchi']
aa = d['aa']
rr = d['rr']
names = d['names']
weight = d['weight']
weightc = d['weightc']
dl = d['dl']
vi = d['activatorM']
activatorM = d['activatorM']
activatorR = d['activatorR']
d.close()
```
Теперь я хотел бы передать эти объекты R. Есть ли способ сделать это в Rnotebook? Я знаю, что нечто подобное возможно с кусками SQL.
2 ответа
Я думаю, что для взаимодействия Python/R вам придется сохранить данные в файловой системе в одном куске и прочитать их обратно в другом.
Обновление 2023 года
Вы можете передавать переменные в блоки Python и R и обратно, используя объект интерфейса R (называемыйr
). Когда вы используете Python внутри R, создается объект интерфейса R, в котором хранятся переменные среды из R, но самое интересное то, что вы также можете добавлять к нему переменные среды из Python. В приведенном ниже примере я передаю переменную из Python в R, а затем из R в Python.
```{python}
my_py_var = "This variable came from python"
r.my_py_var = my_py_var
```
```{r}
print(my_py_var)
my_r_var = "This variable came from R"
```
```{python}
print(r.my_r_var)
```
Я использую версию R 4.3.1, версию Python 3.9.18, версию reticulate 1.32.0 и версию Rstudio «Desert Sunflower» (b51c81cc, 25 сентября 2023 г.) для CentOS 7.