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实现的简单抽奖系统实例
May 22 Python
Python语法快速入门指南
Oct 12 Python
浅谈python为什么不需要三目运算符和switch
Jun 17 Python
Python处理PDF及生成多层PDF实例代码
Apr 24 Python
matplotlib简介,安装和简单实例代码
Dec 26 Python
python操作oracle的完整教程分享
Jan 30 Python
Python2和Python3中urllib库中urlencode的使用注意事项
Nov 26 Python
详解Python学习之安装pandas
Apr 16 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
利用matplotlib为图片上添加触发事件进行交互
Apr 23 Python
如何解决安装python3.6.1失败
Jul 01 Python
超详细Python解释器新手安装教程
May 10 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函数array_merge用法一例(合并同类数组)
2013/02/03 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
jQuery焦点图轮播效果实现方法
2016/12/19 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
简述pm2常用命令集合及配置文件说明
2019/05/30 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
[00:53]2015国际邀请赛 中国区预选赛一触即发
2015/05/14 DOTA
python网络编程之文件下载实例分析
2015/05/20 Python
python实现类之间的方法互相调用
2018/04/29 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
素食餐饮项目创业计划书
2014/02/02 职场文书
学生生病请假条范文
2014/02/16 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
企业出纳岗位职责
2014/03/12 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
授权委托书公证
2014/09/14 职场文书
销售人才自我评价范文
2014/09/27 职场文书
工作检讨书怎么写
2014/10/10 职场文书
2019思想汇报范文
2019/05/21 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript
总结Java对象被序列化的两种方法
2021/06/30 Java/Android