
写在前面
Rstudio中像下图这样直接创建Python脚本后,Rstudio便可以把代码直接交给Python命令解释器来处理。
或者说,大家也可以在写Rmarkdown时直接把代码块改成这样:
这样也可以在代码块中执行Python命令:
print('I am Python')## I am Python但很多情况下我们需要R语言(R语言基础学习手册)和Python(生信Python速查手册)之间更高的交互性,例如上面我们在Rstudio中写Python脚本、利用Rmarkdown植入Python代码块、在R中调用Python包、在R和Python之间传递对象或数据框、灵活调用各版本的Python等等。这些应用对于单细胞或空转领域(空间转录组学习手册合辑)的同学尤为重要,这里给大家推荐一个神包Reticulate,能够让大家在R语言中实现向Python的无缝切换。


Reticulate的使用
Reticulate的使用# 可以直接从r-cran上安装 if(!require(reticulate))install.packages("reticulate")## 载入需要的程辑包:reticulate## Warning: 程辑包'reticulate'是用R版本4.3.3 来建造的library(reticulate)packageVersion('reticulate')# 看一下版本## [1] '1.35.0'Python路径与环境如果是Linux,可以如此设置reticulate调用的Python路径:
use_python("/usr/local/bin/python")如果是Windows,那么需要加上python程序的.exe后缀名:
use_python("C:/Users/Administrator/Documents/.virtualenvs/r-reticulate/Scripts/python.exe")当然,你也可以像conda那样创建虚拟环境来使用Python,默认的Python环境为
# 创建名为TF_GPU的虚拟环境:virtualenv_create('TF_GPU')# 激活并使用虚拟环境:use_virtualenv('TF_GPU') # 删除对应虚拟环境:virtualenv_remove('TF_GPU')# 查看虚拟环境:virtualenv_list()## [1] "r-reticulate" "TF_GPU"reticulate甚至能够直接帮你配置conda环境:
# 安装conda环境:reticulate::install_miniconda() # 创建名为my_conda的conda虚拟环境:conda_create('TF_GPU',python_version =3.9)# 指定python版本# 激活并使用虚拟环境:use_condaenv('TF_GPU')# 利用conda环境安装python包"tensorflow":conda_install(packages ='tensorflow-gpu')你可以通过这种方式来查看当前reticulate下的Python配置信息:
reticulate::py_config()## python: C:/Users/Administrator/AppData/Local/r-miniconda/envs/TF_GPU/python.exe## libpython: C:/Users/Administrator/AppData/Local/r-miniconda/envs/TF_GPU/python39.dll## pythonhome: C:/Users/Administrator/AppData/Local/r-miniconda/envs/TF_GPU## version: 3.9.18 | packaged by conda-forge | (main, Dec 23 2023, 16:29:04) [MSC v.1929 64 bit (AMD64)]## Architecture: 64bit## numpy: [NOT FOUND]## ## NOTE: Python version was forced by RETICULATE_PYTHON_FALLBACKreticulate中Python的使用你可以在Rmarkdown的代码框中直接写Python的原生代码:
也可以像下面这样通过R来编译Python代码,例如导入os包:
os <-import("os")需要注意的是,在R中直接用Python,需要把原来包名.函数名的形式换为包名$函数名的形式:
os$getcwd()# 在python中应该是os.getcwd()## [1] "H:\\公众号\\2024\\free\\如何在R语言中调用Python"

rmd文件
链接:https://pan.baidu.com/s/1ZPOBiy1uk4_CA-AOTeDgag?pwd=5p6x


https://github.com/rstudio/reticulate

如何联系我们



