作者:JJ Allaire
翻译:黄小伟,先后从事游戏、社交及金融数据研究及应用相关工作,目前就职网易杭州
一. 基础介绍
CRAN已于2018年3月21日收录reticulat包(1.6版本),它包含了用于Python和R之间协同操作的全套工具,在R和Rstudio中均可使用。主要包括:
1)在R中支持多种方式调用Python。包括R Markdown、加载Python脚本、导入Python模块以及在R会话中交互式地使用Python。
2)实现R和Python对象之间的转换(例如R和Python数据框、R矩阵与NumPy数组之间)。
3)灵活绑定到不同版本的Python,包括虚拟环境和Conda环境。
在R会话中嵌入了Python会话,从而实现了无缝的、高性能的互操作性。如果你是使用Python进行某些工作的R开发人员或使用两种语言的数据科学团队的成员,那么reticulate包可以极大地简化你的工作流程!
二. 操作说明
1. reticulate包安装
install.packages("reticulate")
library("reticulate")
2. R Markdown中应用Python
reticulate包含一个用于R Markdown的Python引擎,具有以下功能:
1)可在R会话中嵌入的单个Python会话中,运行Python块。同时Python块之间的共享变量/状态。
2)可打印Python输出,包括matplotlib的图形输出。
3)可使用py对象访问R中Python块中创建的对象。
4)使用r对象从Python中访问在R块中创建的对象。
同时,内置了许多用于Python对象类型转换的方法,包括NumPy数组和Pandas数据框。 例如,你可以使用Pandas读取和操作数据,然后使用ggplot2轻松绘制Pandas数据框: