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对Json的解析
Feb 14 Python
使用python实现接口的方法
Jul 07 Python
PyCharm在win10的64位系统安装实例
Nov 26 Python
Python Web程序部署到Ubuntu服务器上的方法
Feb 22 Python
Python+Django搭建自己的blog网站
Mar 13 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
python实现一个简单的ping工具方法
Jan 31 Python
python TF-IDF算法实现文本关键词提取
May 29 Python
Python函数参数匹配模型通用规则keyword-only参数详解
Jun 10 Python
python urllib爬虫模块使用解析
Sep 05 Python
Python @property使用方法解析
Sep 17 Python
Python爬取爱奇艺电影信息代码实例
Nov 26 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
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
简单谈谈favicon
2015/06/10 PHP
php文件缓存方法总结
2016/03/16 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
bootstrap table实例详解
2017/01/06 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
电气自动化自荐信
2013/10/10 职场文书
班级聚会策划书
2014/01/16 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
2014年办公室人员工作总结
2014/12/09 职场文书
大学生暑假实习总结
2015/07/13 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书