对于生物信息分析工程师而言,R和Python是很好的一对配套工具,常有人称左手R右手Python,它们有很多相似之处,二者也可以相互调用,编写脚本流程时非常方便。以下是R和Python相互调用的方法总结。

一、Python调用R

1. python模块rpy2

2. 安装方法:

(1)在Linux系统安装

pip install rpy2或者conda install rpy2(已经安装了Anaconda或Miniconda)

查看是否安装成功

# 进入python环境

python

# 导入模块

import rpy2

(2)在Window10系统安装

快捷键Win+R进入cmd,查看是否有pip工具:pip -V

如果有直接pip install rpy2

3. 使用方法

# 导入python模块:rpy2

import rpy2.robjects as robjects

# 用python语句调用R代码

robjects.r("r_script")

# 用python语句调用R脚本

robjects.r.source("plotting.R")

python调用R脚本,举例如下:

#!/usr/bin/python
import rpy2.robjects as robjects
robjects.r("getwd()")
robjects.r.source("plotting_v5.R")
robjects.r("sessionInfo()")

二、R调用Python

1. R包:reticulate

2. 安装方法

(1)在Linux中

# 输入R,进入R命令控制台

R

# 执行安装函数

Install.packages("reticulate")

# 检查是否安装成功

library("reticulate")

(2)在window中

打开R或Rstudio软件

输入命令控制台以下脚本:install.packages("reticulate")

安装完成后,导入该R包

library("reticulate")

3. 使用方法

(1)导入R包

library(reticulate)

(2)Python Packages

py_install("pandas")

(3)导入Python模块

difflib <- import("difflib") difflib$ndiff(foo, bar)

filecmp <- import("filecmp") filecmp$cmp(dir1, dir2)

(4)执行命令脚本

source_python('add.py')

(5)脚本执行

py_run_file("script.py")

py_run_string("x = 10")

(6)获取帮助

os <- import("os")

py_help(os$chdir)

R包reticulate的功能比较多,本次只涉及点皮毛,详细内容请查看rpy2和reticulate的官方帮助文档,rpy2模块适合python简单调用R函数语句和脚本,reticulate包适合R调用Python模块、语句等等,二者组合更强大。

R和Python语言之间相互调相关推荐

  1. 数据分析工具SAS、R、Python三者之间的选择

    数据分析工具SAS和R的比较是数据分析界最大的争议,由于Python的简易和实用性近两年也逐渐得到了分析界的重视,现把SAS.R和Python放到一起从数据分析角度来比较这三个工具的应用情况. 首先对 ...

  2. r与python的区别和联系-Python和R语言的区别?

    Python和R语言的区别 Python和R语言的 数据挖掘技术日趋成熟和,随着互联网以及大批海量数据来,之前传统的依靠spss.SAS等可视化工具实现数据挖掘建模已经越来越不能满足日常需求,依据美国 ...

  3. R与SPSS、SAS相比较_Python 在数据分析工作中的地位与R语言、SAS、SPSS 比较如何?

    转自:http://m.elecfans.com/article/611407.html 统计分析的软件和程序分析 能够用来做统计分析的软件和程序很多,目前应用比较广泛的包括:SPSS, SAS.R语 ...

  4. Python语言学习之字母R开头函数使用集锦:random/range/replace/reshape用法之详细攻略

    Python语言学习之字母R开头函数使用集锦:random/range/replace/reshape用法之详细攻略 random/range/replace/reshape用法 1.random用法 ...

  5. python语言采用严格的缩进来体现语句的逻辑关系_Python语言通过( )来体现语句之间的逻辑关系...

    Python语言通过( )来体现语句之间的逻辑关系 答:缩进 我们要坚定不移地走中国特色社会主义道路 答:√ 即在应用文正文的结尾处点名文章主题,也被称为"卒章显志" 答:篇末点题 ...

  6. 学校(School)主要有3大角色:学校(School),讲师(Teacher),学员(Student)。请用Python语言简要实现这些类及及其属性,以及它们之间的关系。

    学校(School)主要有3大角色:学校(School),讲师(Teacher),学员(Student). 学校可以注册学员,统计有多少学员 讲师负责讲课 学生听课,提问,学习,交学费 Teacher ...

  7. 内存(Display)、显示器(Monitor)和计算机(Computer)均属于一种产品(Product),其中计算机需要显示器和内存。请用Python语言简要实现这些类及它们之间的关系。

    内存(Display).显示器(Monitor)和计算机(Computer)均属于一种产品(Product),其中计算机需要显示器和内存.请用Python语言简要实现这些类及它们之间的关系. clas ...

  8. matlab和python的语言_四大机器学习编程语言对比:R、Python、MATLAB、Octave

    本文作者是一位机器学习工程师,他比较了四种机器学习编程语言(工具):R.Python.MATLAB 和 OCTAVE.作者列出了这些语言(工具)的优缺点,希望对想开始学习它们的人有用. 图源:Pixa ...

  9. R语言和python语言的区别在什么地方,各自的应用场景是什么

    R语言和Python语言都是广泛使用的数据分析和科学计算语言,但它们有一些不同之处. R语言是一种专门用于数据分析和统计建模的编程语言.它提供了许多内置的数据结构和函数,可以方便地进行数据处理.可视化 ...

最新文章

  1. email util demo
  2. JavaScript学习知识点归纳
  3. opencv python 官方文档里的“sa”关键字是什么意思?(see also)
  4. Python Demo 02 蒙特卡罗方法输出e
  5. 快速安装puppeteer (跳过安装Chromium)
  6. Silverlight使用DataGrid的模板列(DataGridTemplateColumn)实现类似TreeListView控件的效果
  7. vs2015+opencv3.2.0配置的一些小事情
  8. psql sql语法
  9. 重磅!Google推出了Python最牛X的编辑器....
  10. 微信停机断网可充话费;苹果正研发可折叠屏幕 iPad;Rust 1.36.0 发布 | 极客头条...
  11. java数据读取容量,spring batch使用reader读数据的内存容量问题详解
  12. 开放平台及其技术架构
  13. 1138 Postorder Traversal
  14. coalesce函数的用法
  15. matlab元胞带索引的数组,Matlab-元胞数组的索引
  16. Unity下计步器Pedometer算法的实现
  17. Null value appeared in non-nullable field java.lang.NullPointerException
  18. 实例:用C#.NET手把手教你做微信公众号开发(21)--使用微信支付线上收款:H5方式
  19. PHP基础-表单数据
  20. 网上零食商城基于SSM

热门文章

  1. java tofixed_toFixed
  2. c++ 11 std::recursive_timed_mutex递归锁定的互斥,并实现有时限锁定
  3. mysql 数据库连接超时时间查询、修改
  4. el-table表头换行、el-table-column单元格换行
  5. 如何禁止WordPress站点前端显示管理工具栏?附3种方法
  6. PS 色阶调整之算法公式原理详解及 Python 实现(色阶原理)
  7. AE文件输出格式不支持
  8. php ci框架 hook,CodeIgniter框架钩子机制实现方法【hooks类】
  9. Mongo文档增删改查超大全
  10. html5e插件,前端vscode必备插件,给你更好的编程体验!