使用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类型。

数据类型互通
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文链接 《Python数据分析》(Python for Data Analysis, 2nd Edition)第...
    李绍俊阅读 8,814评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,385评论 0 10
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 3,155评论 1 3
  • 20180627 今天做数学作业没有吱吱哇哇的,情绪管理很好。 抓紧时间做了英语抄写,这叫会利用时间,会利用时间的...
    小西爱瓜阅读 71评论 0 0
  • 1、不要去做太过冒险的事 2、不要投资自己根本不懂得 3、永远不要羡慕别人 首先自己是是一个比较保守的,所以至今还...
    石头爱湉江阅读 263评论 0 0

友情链接更多精彩内容