使用reticulate在R中调用python

1 介绍

该包提供了一套全面的工具,可以实现R与python的相互切换:

  • 从R以多种方式调用Python,包括R Markdown,获取Python脚本,导入Python模块,以及在R会话中以交互方式使用Python。

  • R和Python对象之间的转换(例如,在R和Pandas数据框之间,或在R矩阵和NumPy数组之间)。

  • 灵活地绑定到不同版本的Python,包括虚拟环境和Conda环境。

Reticulate在R中嵌入Python,实现无缝,高性能的互操作性。不仅可以在R studio中调用python,还支持指定python版本,conda环境导入你想要的模块实现R与python的合作

2 函数介绍

#加载包
library(reticulate)

#查看是否安装python
py_available()
[1] TRUE

#查看python路径
Sys.which("python")
"D:\\ProgramData\\Anaconda21\\python.exe" 
##这里我使用的conda,所以指定conda中的python

#创建conda环境
conda_create(envname='r-reticulate',conda = "auto",packages = "python")
##envname指定创建环境的名称,conda指定conda可执行文件的路径,packages指定要安装或删除的包名称

#指定python路径
use_python('/your path/',required = T)

#指定环境路径
use_virtualenv("/your path/",required = T)

#安装模块
py_install("packages", envname = "r-reticulate", method="auto")

conda_install(envname = NULL, packages, forge = TRUE, pip = FALSE,pip_ignore_installed = TRUE, conda = "auto", python_version = NULL)
##使用conda安装,也可也使用pip参数指定pip安装,还可以指定python版本,conda环境名称,路径以及其他功能

#查看模块是否安装成功
py_module_available("packages")
##返回T or F

或者我们可以在cmd或者Unix终端首先建立好conda环境,一个python2一个python3互不干扰

conda create -n r-reticulate python=2/3

之后在安装模块时只需要调用特定的conda环境就可以进行安装

use_condaenv("r-reticulate")
conda_install(envname = 'r-reticulate', 'packages', forge = TRUE, pip = T)

reticulate不仅可以方便在R中安装并调用python模块,还支持交互使用python

repl_python()
##进入python命令,可以在R studio中交互使用python

当调用Python时,R数据类型会自动转换为它们等效的Python类型。 当值从Python返回到R时,它们会被转换回R类型。

数据类型互通

你可能感兴趣的:(使用reticulate在R中调用python)