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中使用platform模块获取系统信息的用法教程
Jul 08 Python
详解Python在七牛云平台的应用(一)
Dec 05 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
Python中实现单例模式的n种方式和原理
Nov 14 Python
Python反爬虫技术之防止IP地址被封杀的讲解
Jan 09 Python
PyCharm 设置SciView工具窗口的方法
Jan 15 Python
JupyterNotebook设置Python环境的方法步骤
Dec 03 Python
python实现文法左递归的消除方法
May 22 Python
python和php哪个容易学
Jun 19 Python
python安装sklearn模块的方法详解
Nov 28 Python
python mongo 向数据中的数组类型新增数据操作
Dec 05 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 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脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
基于jQuery的星级评分插件
2011/08/12 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
浅谈Jquery核心函数
2015/06/18 Javascript
jquery实现删除一个元素后面的所有元素功能
2015/12/21 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
vue组件父子间通信详解(三)
2017/11/07 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
Vue数据双向绑定原理实例解析
2020/05/15 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
阿尔卡特(中国)的面试题目
2014/08/20 面试题
师范毕业生求职自荐信
2013/09/25 职场文书
采购文员岗位职责
2013/11/20 职场文书
专科应届生求职信
2013/11/24 职场文书
酒店拾金不昧表扬信
2014/01/18 职场文书
六查六看剖析材料
2014/02/15 职场文书
工作决心书范文
2014/03/11 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
导游词之南京中山陵
2019/11/27 职场文书
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript