R和Python语言之间相互调
对于生物信息分析工程师而言,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语言之间相互调相关推荐
- 数据分析工具SAS、R、Python三者之间的选择
数据分析工具SAS和R的比较是数据分析界最大的争议,由于Python的简易和实用性近两年也逐渐得到了分析界的重视,现把SAS.R和Python放到一起从数据分析角度来比较这三个工具的应用情况. 首先对 ...
- r与python的区别和联系-Python和R语言的区别?
Python和R语言的区别 Python和R语言的 数据挖掘技术日趋成熟和,随着互联网以及大批海量数据来,之前传统的依靠spss.SAS等可视化工具实现数据挖掘建模已经越来越不能满足日常需求,依据美国 ...
- R与SPSS、SAS相比较_Python 在数据分析工作中的地位与R语言、SAS、SPSS 比较如何?
转自:http://m.elecfans.com/article/611407.html 统计分析的软件和程序分析 能够用来做统计分析的软件和程序很多,目前应用比较广泛的包括:SPSS, SAS.R语 ...
- Python语言学习之字母R开头函数使用集锦:random/range/replace/reshape用法之详细攻略
Python语言学习之字母R开头函数使用集锦:random/range/replace/reshape用法之详细攻略 random/range/replace/reshape用法 1.random用法 ...
- python语言采用严格的缩进来体现语句的逻辑关系_Python语言通过( )来体现语句之间的逻辑关系...
Python语言通过( )来体现语句之间的逻辑关系 答:缩进 我们要坚定不移地走中国特色社会主义道路 答:√ 即在应用文正文的结尾处点名文章主题,也被称为"卒章显志" 答:篇末点题 ...
- 学校(School)主要有3大角色:学校(School),讲师(Teacher),学员(Student)。请用Python语言简要实现这些类及及其属性,以及它们之间的关系。
学校(School)主要有3大角色:学校(School),讲师(Teacher),学员(Student). 学校可以注册学员,统计有多少学员 讲师负责讲课 学生听课,提问,学习,交学费 Teacher ...
- 内存(Display)、显示器(Monitor)和计算机(Computer)均属于一种产品(Product),其中计算机需要显示器和内存。请用Python语言简要实现这些类及它们之间的关系。
内存(Display).显示器(Monitor)和计算机(Computer)均属于一种产品(Product),其中计算机需要显示器和内存.请用Python语言简要实现这些类及它们之间的关系. clas ...
- matlab和python的语言_四大机器学习编程语言对比:R、Python、MATLAB、Octave
本文作者是一位机器学习工程师,他比较了四种机器学习编程语言(工具):R.Python.MATLAB 和 OCTAVE.作者列出了这些语言(工具)的优缺点,希望对想开始学习它们的人有用. 图源:Pixa ...
- R语言和python语言的区别在什么地方,各自的应用场景是什么
R语言和Python语言都是广泛使用的数据分析和科学计算语言,但它们有一些不同之处. R语言是一种专门用于数据分析和统计建模的编程语言.它提供了许多内置的数据结构和函数,可以方便地进行数据处理.可视化 ...
最新文章
- email util demo
- JavaScript学习知识点归纳
- opencv python 官方文档里的“sa”关键字是什么意思?(see also)
- Python Demo 02 蒙特卡罗方法输出e
- 快速安装puppeteer (跳过安装Chromium)
- Silverlight使用DataGrid的模板列(DataGridTemplateColumn)实现类似TreeListView控件的效果
- vs2015+opencv3.2.0配置的一些小事情
- psql sql语法
- 重磅!Google推出了Python最牛X的编辑器....
- 微信停机断网可充话费;苹果正研发可折叠屏幕 iPad;Rust 1.36.0 发布 | 极客头条...
- java数据读取容量,spring batch使用reader读数据的内存容量问题详解
- 开放平台及其技术架构
- 1138 Postorder Traversal
- coalesce函数的用法
- matlab元胞带索引的数组,Matlab-元胞数组的索引
- Unity下计步器Pedometer算法的实现
- Null value appeared in non-nullable field java.lang.NullPointerException
- 实例:用C#.NET手把手教你做微信公众号开发(21)--使用微信支付线上收款:H5方式
- PHP基础-表单数据
- 网上零食商城基于SSM
热门文章
- java tofixed_toFixed
- c++ 11 std::recursive_timed_mutex递归锁定的互斥,并实现有时限锁定
- mysql 数据库连接超时时间查询、修改
- el-table表头换行、el-table-column单元格换行
- 如何禁止WordPress站点前端显示管理工具栏?附3种方法
- PS 色阶调整之算法公式原理详解及 Python 实现(色阶原理)
- AE文件输出格式不支持
- php ci框架 hook,CodeIgniter框架钩子机制实现方法【hooks类】
- Mongo文档增删改查超大全
- html5e插件,前端vscode必备插件,给你更好的编程体验!