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函数执行前后增加额外的行为
Oct 20 Python
ubuntu安装mysql pycharm sublime
Feb 20 Python
python判断一个集合是否为另一个集合的子集方法
May 04 Python
如何优雅地改进Django中的模板碎片缓存详解
Jul 04 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
pandas 对group进行聚合的例子
Dec 27 Python
Python @property原理解析和用法实例
Feb 11 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
Jun 02 Python
python thrift 实现 单端口多服务的过程
Jun 08 Python
Python必须了解的35个关键词
Jul 16 Python
Django缓存Cache使用详解
Nov 30 Python
Windows安装Anaconda3的方法及使用过程详解
Jun 11 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脚本加密专家php解密算法
2020/09/13 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
JavaScript Cookie 直接浏览网站分网址
2009/12/08 Javascript
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
js 上传图片预览问题
2010/12/06 Javascript
深入理解Javascript中的循环优化
2013/11/09 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
keras实现多种分类网络的方式
2020/06/11 Python
总裁岗位职责
2013/12/04 职场文书
大学生咖啡店创业计划书
2014/01/21 职场文书
出国考察邀请函
2014/01/21 职场文书
遗嘱公证书标准样本
2014/04/08 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
如何写好竞聘报告
2019/04/03 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python