




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
?本文介紹了如何從R調(diào)用或運(yùn)行python。這兩種工具都有自己的優(yōu)點(diǎn)和缺點(diǎn)。使用這兩個(gè)工具中最好的包和功能并將其組合起來總是一個(gè)好主意。在數(shù)據(jù)科學(xué)領(lǐng)域,這些工具在使用方面擁有良好的市場份額。R主要以數(shù)據(jù)分析、統(tǒng)計(jì)建模和可視化而聞名。而Python在深度學(xué)習(xí)和自然語言處理方面很受歡迎。
在最近的KDnuggetsAnalytics軟件調(diào)查民意調(diào)查中,Python和R被評(píng)為數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域的前2位工具。如果你真的想提升你在數(shù)據(jù)科學(xué)領(lǐng)域的職業(yè)生涯,這些就是你需要關(guān)注的語言。
RStudio開發(fā)了一個(gè)名為reticulate
的包,它提供了運(yùn)行R中的Python包和函數(shù)的媒介。
安裝和加載Reticulate包運(yùn)行以下命令以安裝此軟件包并將其導(dǎo)入到您的系統(tǒng)中。#安裝網(wǎng)狀包
install.packages("reticulate")
#加載網(wǎng)狀包
庫(reticulate)#Installreticulatepackage
install.packages("reticulate")
#Loadreticulatepackage
library(reticulate)檢查您的系統(tǒng)上是否可以使用Pythonpy_available()它返回TRUE/FALSE。如果為TRUE,則表示您的系統(tǒng)上已安裝python。
在R中導(dǎo)入python模塊
您可以使用函數(shù)import()導(dǎo)入特定的包或模塊。os<-import("os")
os$getcwd()上面的程序返回工作目錄。[1]“C:\\Users\\DELL\\Documents”
您可以使用os
包中的listdir()函數(shù)來查看工作目錄中的所有文件
os$listdir()[1]".conda"".gitignore"".httr-oauth"[4]".matplotlib"".RData"".RDataTmp"[7]".Rhistory""1.pdf""12.pdf"[10]"122.pdf""124.pdf""13.pdf"[13]"1403.2805.pdf""2.pdf""3.pdf"[16]"AIR.xlsx""app.r""Apps"[19]"articles.csv""Attrition_Telecom.xlsx""AUC.R"
安裝Python包
第1步:創(chuàng)建新環(huán)境最簡單的方法是指定python安裝程序的文件位置,其中python可執(zhí)行文件存在。如果您使用AnacondaPython,您可以找到Anaconda3文件夾,并且python.exe必須位于該文件夾下。圖書館(網(wǎng)狀)use_python('C:\\Users\\DELL\\Anaconda3\\python.exe',required=T)py_可用(真)library(reticulate)use_python('C:\\Users\\DELL\\Anaconda3\\python.exe',required=T)py_available(TRUE)如果您使用Python(不使用Anaconda),您可以像這樣指定路徑:use_python(Sys.which('python3'),required=T)現(xiàn)在你可以使用命令安裝你想要的python包了shell()。shell("pipinstallnumpy")另一種創(chuàng)建環(huán)境的方法是conda_create()conda_create("r-reticulate")在conda環(huán)境中安裝包c(diǎn)onda_install(“r-reticulate”,“numpy”)由于numpy已經(jīng)安裝,所以不需要再次安裝。上面的例子只是為了演示。
第2步:加載包numpy<-import("numpy")使用numpy數(shù)組
讓我們創(chuàng)建一個(gè)示例numpy數(shù)組y<-array(1:4,c(2,2))
x<-
numpy$array(y)[,1][,2][1,]13[2,]24
轉(zhuǎn)置上面的數(shù)組numpy$transpose(x)[,1][,2][1,]12[2,]34
特征值和特征向量numpy$linalg$eig(x)[[1]][1]-0.37228135.3722813[[2]][,1][,2][1,]-0.9093767-0.5657675[2,]0.4159736-0.8245648
數(shù)學(xué)函數(shù)numpy$sqrt(x)
numpy$exp(x)
RMarkdown中的Python引擎您還可以使用RMarkdown,它允許使用reticulate包運(yùn)行Python代碼。在運(yùn)行Pythonchunk之前,您需要加載reticulate庫并設(shè)置python(如下所示)。```{r設(shè)置,include=FALSE}圖書館(網(wǎng)狀)use_python('C:\\Users\\DELL\\Anaconda3\\python.exe',required=T)py_可用(真)```````{rsetup,include=FALSE}library(reticulate)use_python('C:\\Users\\DELL\\Anaconda3\\python.exe',required=T)py_available(TRUE)```Python代碼塊通過```{python}
啟用。```{python}importpandaspandasdf=pd.read_csv("C:/Users/DELL/deals.csv")pandasdf.head()```?編輯如何直接執(zhí)行Python代碼您可以將python代碼按原樣放入函數(shù)中py_run_string()。您可以訪問使用創(chuàng)建的對(duì)象py$objectname。例如,下面的代碼創(chuàng)建pandas數(shù)據(jù)框。您可以使用py$pandasdf訪問它py_run_string("將pandas導(dǎo)入為pd;pandasdf=pd.read_csv('C:/Users/DELL/deals.csv');")py_run_string("importpandasaspd;pandasdf=pd.read_csv('C:/Users/DELL/deals.csv');")您還可以使用函數(shù)直接運(yùn)行python文件py_run_file()py_run_file(“樣本文件.py”)py_run_file("samplefile.py")交互地使用Python您可以在R會(huì)話中創(chuàng)建交互式Python控制臺(tái)。您在Python中創(chuàng)建的對(duì)象可用于您的R會(huì)話(反之亦然)。通過使用repl_python()函數(shù),您可以使其具有交互性。下載下面程序中使用的\o"數(shù)據(jù)集。"數(shù)據(jù)集。repl_python()#加載Pandas包將pandas導(dǎo)入為pd#導(dǎo)入數(shù)據(jù)集旅行=pd.read_excel("AIR.xlsx")
#行數(shù)和列數(shù)
Travel.shape
#選擇隨機(jī)數(shù)。行數(shù)
Travel.sample(n=10)
#分組
Travel.groupby("Year").AIR.mean()
#過濾
t=Travel.loc[(travel.Month>=6)&(travel.Year>=1955),:]
#返回R
退出repl_python()#LoadPandaspackageimportpandasaspd#ImportingDatasettravel=pd.read_excel("AIR.xlsx")
#Numberofrowsandcolumns
travel.shape
#Selectrandomno.ofrows
travel.sample(n=10)
#GroupBy
travel.groupby("Year").AIR.mean()
#Filter
t=travel.loc[(travel.Month>=6)&(travel.Year>=1955),:]
#ReturntoR
exit注意:需要輸入exit
才能返回R環(huán)境。?編輯從R運(yùn)行Python
如何從R訪問在python中創(chuàng)建的對(duì)象
您可以使用py
對(duì)象
來訪問在python中創(chuàng)建的對(duì)象。摘要(py$t)summary(py$t)在本例中,我使用R的summary()函數(shù)并訪問在python中創(chuàng)建的數(shù)據(jù)幀t。同樣,您可以使用ggplot2包創(chuàng)建線圖。#使用ggplot2庫的折線圖
(ggplot2)
ggplot(py$t,aes(AIR,Year))+geom_line()#Linechartusingggplot2
library(ggplot2)
ggplot(py$t,aes(AIR,Year))+geom_line()如何從Python訪問在R中創(chuàng)建的對(duì)象您可以使用r對(duì)象來完成此任務(wù)。
1.讓我們?cè)赗中創(chuàng)建一個(gè)對(duì)象mydata=head(汽車,n=15)mydata=head(cars,n=15)2.在PythonREPL中使用R創(chuàng)建的對(duì)象repl_python()
將pandas導(dǎo)入為pd
r。mydata.describe()
pd.isnull(
r.mydata.speed
)
退出repl_python()
importpandasaspd
r.mydata.describe()
pd.isnull(r.mydata.speed)
exit使用sklearn包構(gòu)建邏輯回歸模型sklearn包是Python中最流行的機(jī)器學(xué)習(xí)包之一。它支持各種統(tǒng)計(jì)和機(jī)器學(xué)習(xí)算法。repl_python()#加載庫從sklearn導(dǎo)入數(shù)據(jù)集從sklearn.linear_model導(dǎo)入LogisticRegression#加載鳶尾花數(shù)據(jù)集iris=datasets.load_iris()#開發(fā)logit模型模型=邏輯回歸()model.fit(iris.data,iris.target)#評(píng)分實(shí)際=iris.target預(yù)測=model.predict(iris.data)#性能指標(biāo)打?。╩etrics.classification_report(實(shí)際,預(yù)測))打印(metrics.confusion_matrix(實(shí)際,預(yù)測))repl_python()#Loadlibrariesfromsklearnimportdatasetsfromsklearn.linear_modelimportLogisticRegression#loadtheirisdatasetsiris=datasets.load_iris()#Developinglogitmodelmodel=LogisticRegression()model.fit(iris.data,iris.target)#Scoringactual=iris.targetpredicted=model.predict(iris.data)#PerformanceMetricsprint(metrics.classification_report(actual,predicted))print(metrics.confusion_matrix(actual,predicted))
其他有用的功能
查看python的配置
運(yùn)行py_config()命令
來查找系統(tǒng)上安裝的python版本。它還顯示有關(guān)anaconda和numpy的詳細(xì)信息。py_config()python:C:\Users\DELL\ANACON~1\python.exelibpython:C:/Users/DELL/ANACON~1/python36
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車位使用權(quán)轉(zhuǎn)移合同協(xié)議
- 房地產(chǎn)開發(fā)合同書
- 標(biāo)準(zhǔn)車位租賃合同模板
- 土地征收補(bǔ)償合同實(shí)施細(xì)則
- 品牌代理合作合同權(quán)利轉(zhuǎn)讓協(xié)議
- 醫(yī)用耗材供應(yīng)合同
- 腎上腺皮質(zhì)激素及其相關(guān)藥物的臨床藥理學(xué)課件
- 文化展覽客戶需求挖掘考核試卷
- 拖拉機(jī)品牌建設(shè)與傳播考核試卷
- 機(jī)床制造業(yè)生產(chǎn)效率提升與精益生產(chǎn)考核試卷
- 2025人教版一年級(jí)下冊(cè)數(shù)學(xué)教學(xué)進(jìn)度表
- DeepSeek教案寫作指令
- 休學(xué)復(fù)學(xué)申請(qǐng)書
- 北京2025年02月北京市地質(zhì)礦產(chǎn)勘查院所屬事業(yè)單位公開招考工作人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- DeepSeek零基礎(chǔ)到精通手冊(cè)(保姆級(jí)教程)
- 瓷磚鋪貼勞務(wù)承包協(xié)議書
- 2025年四川司法警官職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 新建污水處理廠工程EPC總承包投標(biāo)方案(技術(shù)標(biāo))
- 《宏觀經(jīng)濟(jì)管理研究》課件
- 蘇教版五年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)教案設(shè)計(jì)
- GB/T 36548-2024電化學(xué)儲(chǔ)能電站接入電網(wǎng)測試規(guī)程
評(píng)論
0/150
提交評(píng)論