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 排列组合之itertools
Mar 20 Python
python通过floor函数舍弃小数位的方法
Mar 17 Python
使用Python的Zato发送AMQP消息的教程
Apr 16 Python
Python验证文件是否可读写代码分享
Dec 11 Python
TensorFLow用Saver保存和恢复变量
Mar 10 Python
Django实现全文检索的方法(支持中文)
May 14 Python
Python获取系统所有进程PID及进程名称的方法示例
May 24 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
Jun 24 Python
对pandas通过索引提取dataframe的行方法详解
Feb 01 Python
Python 实现域名解析为ip的方法
Feb 14 Python
Python使用微信接入图灵机器人过程解析
Nov 04 Python
matplotlib 三维图表绘制方法简介
Sep 20 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中使用正则表达式进行查找替换
2013/06/13 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
php动态变量定义及使用
2015/06/10 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
起点页面传值js,有空研究学习下
2010/01/25 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
Windows上node.js的多版本管理工具用法实例分析
2019/11/06 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
js实现网页随机验证码
2020/10/19 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
Python数据持久化存储实现方法分析
2019/12/21 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
市场开发与营销专业求职信
2013/12/31 职场文书
公司新员工的演讲稿注意事项
2014/01/01 职场文书
电脑饰品店的创业计划书
2014/01/21 职场文书
班级活动总结格式
2014/08/30 职场文书
学生偷窃检讨书
2014/09/25 职场文书
董事长助理岗位职责
2015/02/11 职场文书
运动会宣传稿50字
2015/07/23 职场文书
Python turtle编写简单的球类小游戏
2022/03/31 Python
Flink 侧流输出源码示例解析
2022/09/23 Servers