python3调用R的示例代码
作者:lingan_Hong 发布时间:2021-05-01 21:53:59
由于工作需要,在做最优分箱的时候,始终写不出来高效的代码,所以就找到了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')
来源:http://blog.csdn.net/lingan_Hong/article/details/78902590
猜你喜欢
- 前言我们知道当文件不存在的时候,open()方法的写模式与追加模式都会新建文件,但是对文件进行判断的场景还有很多,比如,在爬虫下载图片的时候
- 一、下载PyCharm下载最新版PyCharm,官方地址:https://www.jetbrains.com/pycharm/downloa
- Terminal终端命令行Shell设置解决方案File --> Settings --> Tools --> Termi
- 在批评Python的讨论中,常常说起Python多线程是多么的难用。还有人对 global interpreter lock(也被亲切的称为
- Vue项目遇到要表单验证了吧,对我来说表单验证是个很纠(dan)结(teng)的内容,各种判断凌乱到飞起。往常使用jquery的valida
- python画图时linestyle,color和loc参数的设置本人没有看过专门介绍matplotlib的书籍,所以一直以来对一些画图的风
- import randomdef genrand(small, big) : return small
- 我们对 DataFrame 进行选择,大抵从这三个层次考虑:行列、区域、单元格。其对应使用的方法如下:一. 行,列 --> df[]二
- 由于研究关系需要自己手动给卷积层初始化权值,但是好像博客上提到的相关文章比较少(大部分都只提到使用nn.init里的按照一定分布初始化方法)
- NicEdit的Javascript集成到任何网站在几秒钟内作出的任何元素/区块编辑或转换标准textareas来丰富文本编辑。 How t
- 什么是模式前阵子准备期末考试,劳神又伤身的,实在闲不得空来更新文章,今天和大家说说javascript中的设计模式。首先呢,我们需要知道的是
- 用pytesseract识别图片中的数字Win 平台 使用步骤一、安装包。二、找个图片,运行如下识别程序。示例程序:import pytes
- 一、正则表达式 re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串
- 一,用临时表作为数组 create function f_split(@c varchar(2000),@split varchar(2))
- 前言JSON是一种轻量级的数据交换格式。易于阅读和编写。 golang 提供了 encoding/json 包来操作JSON数据。1. 结构
- 0. 前言机器学习是人工智能的子集,它为计算机以及其它具有计算能力的系统提供自动预测或决策的能力,诸如虚拟助理、车牌识别系统、智能推荐系统等
- CSS网页布局应该避免滥用div元素一直是我们倡导的,以合适的HTML标签组织文档是CSS网页布局的基础。页面中div与span元素的使用是
- 1、需求分析首先我们打开地图搜索“鸿星尔克”:复制该链接到浏览器,发现这是一个json格式的数据集。
- GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一
- close方法可以释放一个连接的资源,但是不是立即释放,如果想立即释放,那么在close之前使用shutdown方法shut_rd() --