Не часто, но всё же бывает такое, что одного R вам будет недостаточно, и необходимо перетащить какой то модуль, функцию или объект из другого языка программирования, например Python.
За годы использования R с такой задачей я столкнулся пока всего раз.
Итак, если вам необходимо использовать возможности Python внутри R вам поможет пакет
reticulate
.
С его помощью вы можете:
1. Выполнять скрипты, или целые файлы с Python кодом.
2. Устанавливать пакеты.
3. Конверировать Python объекты в R и наоборот.
4. В общем полноценно использовать возможности Python внутри R.
Как это делать:
1. Подлючаем
reticulate
2. Указываем интерпретатор Python с помощью
use_python("C:\\ProgramData\\Anaconda3\\python.exe")
3. Выполняем код Python одним из возможных способов:
3.1. Из файла через
py_run_file("C:\\my_develop_workshop\\python\\mycode.py")
3.2. Строку кода через
py_run_string()
3.3. Получить результат выполнения выражения
py_eval("r.mtcars.sum(axis=0)")
4. Использовать все созданные в ходе выполнения Python кода объекты, извлекая их из скрытого списка
py
, пример
py$myobject.myfunction()
.
5. Либо конвертировать из в R объекты с помощью
myfunction <- py_to_r(py$myobject$myfunction)