Python调用R语言实例讲解

 更新时间:2021年03月16日 10:34:25   作者:蔡军帅  
这篇文章主要介绍了Python调用R语言实例讲解,文中介绍的非常详细,有需要的同学可以研究下

网络上经常看到有人问数据分析是学习Python好还是R语言好,还有一些争论Python好还是R好的文章。每次看到这样的文章我都会想到李舰和肖凯的《数据科学中的R语言》,书中一直强调,工具不分好坏,重要的是解决问题的思路,就算是简单的excel,也能应付数据分析中的大部分问题。再者Python和R本来就没有什么好对比的,一门是计算机工程语言,一门是统计语言,只有将两者结合起来,才能发挥更大的威力,不是吗,对于数据分析的人来说,难道不是两样都要掌握的吗?

rpy2是Python调用R程序的模块,旨在方便Python调用R中的相关函数,而不需要先将数据写入txt再传给R来分析,从而可以做到全流程自动化。在pandas 0.18的模块中也添加了rpy2的支持,进而更方便沟通了Python和R的数据流转,构建数据分析的生态系统。

rpy2的安装还是比较麻烦的,试了很多方法,百度了很多网页最终安装成功,做些笔记备忘。

我的安装环境是:

  • win7_64bit
  • python3.5_64位,使用的是Anaconda发行版。Anaconda发行版集成了很多Python的有用的数据分析模块,其使用界面和MATLAB很相似,用起来很方便,而且还很方便虚拟出不同版本的Python环境,对那些既想用python2.7,又想用python3.x的同学来说是很好的选择。
  • R使用的是Revolution R Open 3.2.3_64bit,这是Revolution R现在已经被微软收购了,改为MRO。MRO和CRAN的R没有什么区别,只是改进了多进程并行计算的性能,比原生的R确实有一定的性能提升。当然需要MRO网站上对应的数学计算库Math Library,这个在Revolution R Open的下载界面有。1.下载并安装MRO

1.下载并安装MRO

安装对应的并行数学计算库(可选)。下载地址是:
https://mran.revolutionanalytics.com/download/

2.下载安装Anaconda

下载地址是:
https://www.continuum.io/downloads

3.配置R的环境变量

这是比较重要的一般,很多安装失败的原因就是没有很好配置环境变量。
1. 将R目录添加至path环境变量
path:D:\Program Files\Microsoft\MRO\R-3.2.3\bin\x64;
2. 将R.dll添加至path环境变量
path:D:\Program Files\Microsoft\MRO\R-3.2.3\bin\x64\R.dll;
3. 设置R_HOME环境变量
R_HOME:D:\Program Files\Microsoft\MRO\R-3.2.3
4. 设置R_USER环境变量
R_USER:Administrator
R_USER就是你电脑的用户名,如果没有设置过用户名就是Administrator,可以通过cmd命令行输入net user查看。

4.下载非官方版本的rpy2

为什么要下载非官方版本的rpy2我也不知道,反正我使用pip install ryp2没有成功,缺少对应的编译环境,百度出来的网页很多都是说使用非官方版本的rpy2.
下载地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 这是python下包的专用地址
需要下载版本和平台都相对应的whl包,我下的是rpy2-2.9.4-cp36-cp36m-win_amd64.whl,然后使用pip install rpy2-2.9.4-cp36-cp36m-win_amd64.whl安装即可。

5.python调用R

参考让R与Python共舞python中调用R

import rpy2.robjects as robjects
# 此时,有三种方法调用R对象
# 第一种
robjects.r['pi']
# 第二种
robjects.r('pi')
# 这种方法从某种程度上讲是万能的,因为可以将任意大小和长度的R代码写成一个python字符串,之后通过robjects.r('Rcode')调用执行
第三种
robjects.r.pi
# 这种方法对于名称中有“点号”的变量会出问题,比如data.frame/read.csv等,所以推荐使用第一种方法
# creat an R function
robjects.r('''
   f <- function(r){pi * r}
   ''')
robjects.r['f'](3)

# internal function in R
robjects.r['ls']()

# another internal function
l = robjects.r['letters']
len(l)
robjects.r['paste'](l, collapse = '-')

# an alternative way of getting 'paste' function in R
# eval the R code
coder = 'paste(%s, collapse = "-")' % (l.r_repr())
robjects.r(coder)

6.pandas调用R

具体参考pandas官方文档–rpy2 / R interface

7.pandas和R的函数对比

具体参考pandas官方文档–Comparison with R / R libraries
列出了实现相同功能的pandas和R的代码,很有启发性。
同时也说明,有想法,用什么工具实现都无所谓,纠结要选python还是R确实是舍本逐末了。如果时间不够,精通其中的一门语言,另一门语言能够掌握简单的使用,也就够了。

以后有事时间再详细写写pandas调用R的部分,以它们之间数据来回传输的原理和注意事项。

我把下载的包放到了d盘的programdata

到此这篇关于Python调用R语言实例讲解的文章就介绍到这了,更多相关Python调用R语言内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • R语言基本运算的示例代码

    R语言基本运算的示例代码

    这篇文章主要介绍了R语言基本运算的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言ggplot2之图例的设置

    R语言ggplot2之图例的设置

    这篇文章主要介绍了R语言ggplot2之图例的设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言实现各种数据可视化的超详细教程

    R语言实现各种数据可视化的超详细教程

    Python语言越来越流行,尤其是在机器学习与深度学习等领域,但是R语言在数据分析与可视化方面仍然具有绝对的优势,下面这篇文章主要给大家介绍了关于R语言实现各种数据可视化的超详细教程,需要的朋友可以参考下
    2022-11-11
  • R语言常用两种并行方法之snowfall详解

    R语言常用两种并行方法之snowfall详解

    这篇文章主要为大家介绍了R语言常用两种并行方法之snowfall详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2021-11-11
  • R语言实现导出矩阵

    R语言实现导出矩阵

    这篇文章主要介绍了R语言实现导出矩阵,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • pycharm实现R语言运行环境安装配置的实现步骤

    pycharm实现R语言运行环境安装配置的实现步骤

    大多数人仍然使用RStudio进行R语言开发。与RStudio相比,PyCharm具有更多的优势,本文主要介绍了pycharm运行R语言脚本的实现步骤,文中通过图文介绍的非常详细,感兴趣的可以了解一下
    2023-10-10
  • R语言dplyr包之高效数据处理函数(filter、group_by、mutate、summarise)详解

    R语言dplyr包之高效数据处理函数(filter、group_by、mutate、summarise)详解

    这篇文章主要介绍了R语言dplyr包之高效数据处理函数(filter、group_by、mutate、summarise)的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • R语言matrix生成矩阵的方法

    R语言matrix生成矩阵的方法

    这篇文章主要介绍了R语言matrix生成矩阵的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言ggplot2设置图例(legend)的操作大全

    R语言ggplot2设置图例(legend)的操作大全

    ggplot2是一个绘制可视化图形的R包,汲取了R语言基础绘图系统(graphics)和l attice包的优点,下面这篇文章主要给大家介绍了关于R语言ggplot2设置图例(legend)的操作大全,需要的朋友可以参考下
    2022-07-07
  • R语言读取csv文件出错的解决方案

    R语言读取csv文件出错的解决方案

    这篇文章主要介绍了R语言读取csv文件出错的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04

最新评论