R語(yǔ)言,一種自由軟件編程語(yǔ)言與操作環(huán)境,主要用于統(tǒng)計(jì)分析、繪圖、數(shù)據(jù)挖掘。R本來(lái)是由來(lái)自新西蘭奧克蘭大學(xué)的羅斯·伊哈卡和羅伯特·杰特曼開(kāi)發(fā)(也因此稱為R),現(xiàn)在由“R開(kāi)發(fā)核心團(tuán)隊(duì)”負(fù)責(zé)開(kāi)發(fā)。R基于S語(yǔ)言的一個(gè)GNU計(jì)劃項(xiàng)目,所以也可以當(dāng)作S語(yǔ)言的一種實(shí)現(xiàn),通常用S語(yǔ)言編寫(xiě)的代碼都可以不作修改的在R環(huán)境下運(yùn)行。R的語(yǔ)法是來(lái)自Scheme。(推薦學(xué)習(xí):Python視頻教程)
R的源代碼可自由下載使用,亦有已編譯的可執(zhí)行文件版本可以下載,可在多種平臺(tái)下運(yùn)行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。R主要是以命令行操作,同時(shí)有人開(kāi)發(fā)了幾種圖形用戶界面。
R的功能能夠通過(guò)由用戶撰寫(xiě)的包增強(qiáng)。增加的功能有特殊的統(tǒng)計(jì)技術(shù)、繪圖功能,以及編程接口和數(shù)據(jù)輸出/輸入功能。這些軟件包是由R語(yǔ)言、LaTeX、Java及最常用C語(yǔ)言和Fortran撰寫(xiě)。下載的可執(zhí)行文件版本會(huì)連同一批核心功能的軟件包,而根據(jù)CRAN紀(jì)錄有過(guò)千種不同的軟件包。其中有幾款較為常用,例如用于經(jīng)濟(jì)計(jì)量、財(cái)經(jīng)分析、人文科學(xué)研究以及人工智能。
Python與R語(yǔ)言的共同特點(diǎn)
Python和R在數(shù)據(jù)分析和數(shù)據(jù)挖掘方面都有比較專業(yè)和全面的模塊,很多常用的功能,比如矩陣運(yùn)算、向量運(yùn)算等都有比較高級(jí)的用法
Python和R兩門語(yǔ)言有多平臺(tái)適應(yīng)性,linux、window都可以使用,并且代碼可移植性強(qiáng)
Python和R比較貼近MATLAB以及minitab等常用的數(shù)學(xué)工具
Python與R語(yǔ)言的區(qū)別
數(shù)據(jù)結(jié)構(gòu)方面,由于是從科學(xué)計(jì)算的角度出發(fā),R中的數(shù)據(jù)結(jié)構(gòu)非常的簡(jiǎn)單,主要包括向量(一維)、多維數(shù)組(二維時(shí)為矩陣)、列表(非結(jié)構(gòu)化數(shù)據(jù))、數(shù)據(jù)框(結(jié)構(gòu)化數(shù)據(jù))。而 Python 則包含更豐富的數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)數(shù)據(jù)更精準(zhǔn)的訪問(wèn)和內(nèi)存控制,多維數(shù)組(可讀寫(xiě)、有序)、元組(只讀、有序)、集合(唯一、無(wú)序)、字典(Key-Value)等等。
Python與R相比速度要快。Python可以直接處理上G的數(shù)據(jù);R不行,R分析數(shù)據(jù)時(shí)需要先通過(guò)數(shù)據(jù)庫(kù)把大數(shù)據(jù)轉(zhuǎn)化為小數(shù)據(jù)(通過(guò)groupby)才能交給R做分析,因此R不可能直接分析行為詳單,只能分析統(tǒng)計(jì)結(jié)果。
Python是一套比較平衡的語(yǔ)言,各方面都可以,無(wú)論是對(duì)其他語(yǔ)言的調(diào)用,和數(shù)據(jù)源的連接、讀取,對(duì)系統(tǒng)的操作,還是正則表達(dá)和文字處理,Python都有著明顯優(yōu)勢(shì)。 而R是在統(tǒng)計(jì)方面比較突出。
Python的pandas借鑒了R的dataframes,R中的rvest則參考了Python的BeautifulSoup,兩種語(yǔ)言在一定程度上存在互補(bǔ)性,通常,我們認(rèn)為Python比R在計(jì)算機(jī)編程、網(wǎng)絡(luò)爬蟲(chóng)上更有優(yōu)勢(shì),而 R 在統(tǒng)計(jì)分析上是一種更高效的獨(dú)立數(shù)據(jù)分析工具。所以說(shuō),同時(shí)學(xué)會(huì)Python和R這兩把刷子才是數(shù)據(jù)科學(xué)的王道。
更多Python相關(guān)技術(shù)文章,請(qǐng)?jiān)L問(wèn)Python教程欄目進(jìn)行學(xué)習(xí)!
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com