python3調用R的示例代碼
由于工作需要,在做最優(yōu)分箱的時候,始終寫不出來高效的代碼,所以就找到了R語言中的最優(yōu)分箱的包,這個時候考慮到了在python中調用R語言,完美結合。在國內的中文網站搜了半天,搭建環(huán)境的時候一直出現” R_user not defined”這個錯誤,簡直惱人,最后在Stack Overflow網站上找打了解決辦法。
我的環(huán)境是:win7 ;
使用anaconda3 ;
(一)首先你要有個anaconda包;
這個就不多說了。
(二)你要有個R語言的軟件
本人使用的微軟開發(fā)的這個。當然你使用R官網的R語言軟件,或者你使用RStudio問題都不大。
https://mran.revolutionanalytics.com/download
設置完成R與的環(huán)境變量
1.以后將R目錄添加至path環(huán)境變量
path:D:\R\microsoft-r-open-3.4.2\bin\x64;
2. 將R.dll添加至path環(huán)境變量
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,你就成功啦;
(四)配置環(huán)境測試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包是數據分箱的時候能實現最優(yōu)分段的一個包。
In [6]: from rpy2.robjects.packages import importr
In [7]: smbinning = importr('smbinning')
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
基于K.image_data_format() == ''channels_first'' 的理解
這篇文章主要介紹了基于K.image_data_format() == 'channels_first' 的理解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python使用pyinstaller實現學生管理系統(tǒng)流程
pyinstaller是一個非常簡單的打包python的py文件的庫,下面這篇文章主要給大家介紹了關于Python?Pyinstaller庫安裝步驟以及使用方法的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-02-02
Python結合OpenCV和Pyzbar實現實時攝像頭識別二維碼
這篇文章主要為大家詳細介紹了如何使用Python編程語言結合OpenCV和Pyzbar庫來實時攝像頭識別二維碼,文中的示例代碼講解詳細,需要的可以參考下2024-01-01

