介绍1
reticulate
2 是用于Python和R之间协同操作的全套工具,在R
和Rstudio
中均可使用;要求Rstudio必须在1.2版本以上;
1 | install.packages("reticulate") |
特性
- reticulate 在R中支持多种方式调用python;
- 实现R和python对象之间的转换;
- 随意切换不同版本的python;
- R内使用
$
调用python对象; - python内使用
.
调用R对象; - 使用import函数导入python模块
import("os")
; - source_python()获取任何Python脚本;
- 使用repl_python()交互使用python;
范例
R
和python
对同一数据进行可视化,可视化图形包括scatterplot
,boxplot
,barplot
和heatmap
等
散点图
R代码
1 | library(dplyr) |
Python代码
1 | dat = r.iris # Python调用R内嵌数据使用r.data |
箱形图
R代码
1 | library(dplyr) |
Python代码
1 | dat = r.iris # Python调用R内嵌数据使用r.data |
条形图
R代码
1 | library(dplyr) |
Python代码
1 | dat = r.iris # Python调用R内嵌数据使用r.data |
热图
R代码
1 | library(dplyr) |
Python代码
1 | import pandas as pd |
心得
初次使用reticulate
的感觉还不错,可以比较完美串联R和Python,尤其是在Rmarkdown文件内使用R和Python代码,但缺点也很明显:
- 运行Python cell没有详细报错信息;
- 粗略的报错提示行信息不以Rmd文件整体行作为开始;
- 无法兼容带有汉字的注释信息;
- 无法像R一样查看python环境下变量;
- 出错后有时无任何报错信息
根据visual studio code的最新python插件公布情况看,以后vsc可以完美兼容Jupyter notebook格式文件,因此如果想单独使用python但无较好交互编辑器,可以使用vsc的python插件读取ipynb文件3
引用
1. https://zhuanlan.zhihu.com/p/35049732 ↩
2. https://github.com/rstudio/reticulate ↩
3. https://code.visualstudio.com/docs/python/jupyter-support ↩
参考文章如引起任何侵权问题,可以与我联系,谢谢。