Передача данных из фрагмента 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 вам придется сохранить данные в файловой системе в одном куске и прочитать их обратно в другом.

http://rmarkdown.rstudio.com/authoring_knitr_engines.html

Обновление 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.

Другие вопросы по тегам