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遍历 truple list dictionary的几种方法总结
Sep 11 Python
用Python3创建httpServer的简单方法
Jun 04 Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 Python
自定义django admin model表单提交的例子
Aug 23 Python
python实现图片上添加图片
Nov 26 Python
Python字典生成式、集合生成式、生成器用法实例分析
Jan 07 Python
python实现与redis交互操作详解
Apr 21 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 Python
python 装饰器的实际作用有哪些
Sep 07 Python
python上下文管理的使用场景实例讲解
Mar 03 Python
Matlab如何实现矩阵复制扩充
Jun 02 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
如何分别全角和半角以避免乱码
2006/10/09 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
php 文件缓存函数
2011/10/08 PHP
5种PHP创建数组的实例代码分享
2014/01/17 PHP
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
php删除二维数组中的重复值方法
2018/03/12 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
JS代码触发事件代码实例
2020/01/02 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
python读取并写入mat文件的方法
2019/07/12 Python
python并发爬虫实用工具tomorrow实用解析
2019/09/25 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
2016/12/15 HTML / CSS
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
优秀演讲稿范文
2013/12/29 职场文书
房地产项目策划书
2014/02/05 职场文书
汽车机修工岗位职责
2014/03/06 职场文书
储备店长岗位职责
2015/04/14 职场文书
2015年助理政工师工作总结
2015/05/26 职场文书
关于国庆节的广播稿
2015/08/19 职场文书