python3调用R的示例代码


Posted in Python onFebruary 23, 2018

由于工作需要,在做最优分箱的时候,始终写不出来高效的代码,所以就找到了R语言中的最优分箱的包,这个时候考虑到了在python中调用R语言,完美结合。在国内的中文网站搜了半天,搭建环境的时候一直出现” R_user not defined”这个错误,简直恼人,最后在Stack Overflow网站上找打了解决办法。

我的环境是:win7 ;

使用anaconda3 ;

(一)首先你要有个anaconda包;

这个就不多说了。

(二)你要有个R语言的软件

本人使用的微软开发的这个。当然你使用R官网的R语言软件,或者你使用RStudio问题都不大。

https://mran.revolutionanalytics.com/download

设置完成R与的环境变量

1.以后将R目录添加至path环境变量

path:D:\R\microsoft-r-open-3.4.2\bin\x64;

2. 将R.dll添加至path环境变量

path:D:\R\microsoft-r-open-3.4.2\bin\x64\R.dll;

(三)根据小伙伴的经验下载rpy2

要去非官方的地方下载一个whl文件。

http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2

请认准python的版本和64位的下载,下载以后,安装rpy2.whl , 把它放在D:\Anaconda3\Anaconda3\Lib\site-packages下面,反正就是你的anaconda的site-packages下面。

cmd中命令行,然后进入到刚刚那个路径,

C:\Users\Administrator>D:

D:\>cd D:\Anaconda3\Anaconda3\Lib\site-packa

D:\Anaconda3\Anaconda3\Lib\site-packages>pip install rpy2-2.8.6-cp36-cp36m-win_amd64.whl

最后会显示successful,你就成功啦;

(四)配置环境测试R与的代码是否可以运行

打开你的python,然后按照你的情况,敲上这些代码,试一试。

In [1]: import os

In [2]: os.environ['R_HOME'] = 'D:\R\microsoft-r-open-3.4.2'

In [3]: os.environ['R_USER'] = 'D:\Anaconda3\Anaconda3\Lib\site-packages\rpy2'

In [4]: import rpy2.robjects as robjects

In [5]: robjects.r('''
  ...:     # create a function `f`
  ...:     f <- function(r, verbose=FALSE) {
  ...:       if (verbose) {
  ...:         cat("I am calling f().\n")
  ...:       }
  ...:       2 * pi * r
  ...:     }
  ...:     # call the function `f` with argument value 3
  ...:     f(3)
  ...:     ''')
Out[5]: 
R object with classes: ('numeric',) mapped to:
<FloatVector - Python:0x000000000B06FD88 / R:0x000000000EFE65B8>
[18.849556]

(五)调用R的包

我们一般使用python来调用R语言,一般要去用python里面某个没有的特殊包之类的。所以现在我来调用smbinning包。smbinning包是数据分箱的时候能实现最优分段的一个包。

In [6]: from rpy2.robjects.packages import importr
In [7]: smbinning = importr('smbinning')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python计算圆周长、面积、球体体积并画出圆
Apr 08 Python
Python发送Email方法实例
Aug 21 Python
Python中列表和元组的相关语句和方法讲解
Aug 20 Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 Python
python3 遍历删除特定后缀名文件的方法
Apr 23 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
Aug 05 Python
python实现随机漫步算法
Aug 27 Python
python scp 批量同步文件的实现方法
Jan 03 Python
python多线程案例之多任务copy文件完整实例
Oct 29 Python
python实现同一局域网下传输图片
Mar 20 Python
pandas 像SQL一样使用WHERE IN查询条件说明
Jun 05 Python
Python利用myqr库创建自己的二维码
Nov 24 Python
python中kmeans聚类实现代码
Feb 23 #Python
python实现SOM算法
Feb 23 #Python
python实现k-means聚类算法
Feb 23 #Python
python写一个md5解密器示例
Feb 23 #Python
Python机器学习之K-Means聚类实现详解
Feb 22 #Python
python实现远程通过网络邮件控制计算机重启或关机
Feb 22 #Python
python实现微信发送邮件关闭电脑功能
Feb 22 #Python
You might like
咖啡历史、消费和行业趋势
2021/03/03 咖啡文化
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
Javascript 中的类和闭包
2010/01/08 Javascript
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
使用BootStrapValidator完成前端输入验证
2016/09/28 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
python 正则式 概述及常用字符
2009/05/07 Python
Python读取环境变量的方法和自定义类分享
2014/11/22 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
python函数的5种参数详解
2017/02/24 Python
python爬取哈尔滨天气信息
2018/07/14 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
《第一朵杏花》教学反思
2014/04/16 职场文书
体育运动会广播稿
2014/10/05 职场文书
2014全年工作总结
2014/11/27 职场文书
个人承诺书格式范文
2015/04/29 职场文书
学生党支部工作总结2015
2015/05/26 职场文书
小学教育见习总结
2015/06/23 职场文书
pycharm代码删除恢复的方法
2021/06/26 Python
无线电通信名词解释
2022/02/18 无线电