Python V.S R語言?數(shù)據(jù)分析與挖掘該選哪一個?

什么是R語言?

R語言,一種自由軟件編程語言與操作環(huán)境,主要用于統(tǒng)計分析、繪圖、數(shù)據(jù)挖掘。R本來是由來自新西蘭奧克蘭大學(xué)的羅斯·伊哈卡和羅伯特·杰特曼開發(fā)(也因此稱為R),現(xiàn)在由“R開發(fā)核心團(tuán)隊”負(fù)責(zé)開發(fā)。R基于S語言的一個GNU計劃項目,所以也可以當(dāng)作S語言的一種實現(xiàn),通常用S語言編寫的代碼都可以不作修改的在R環(huán)境下運行。R的語法是來自Scheme。

R的源代碼可自由下載使用,亦有已編譯的可執(zhí)行文件版本可以下載,可在多種平臺下運行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。R主要是以命令行操作,同時有人開發(fā)了幾種圖形用戶界面。

R的功能能夠通過由用戶撰寫的包增強。增加的功能有特殊的統(tǒng)計技術(shù)、繪圖功能,以及編程接口和數(shù)據(jù)輸出/輸入功能。這些軟件包是由R語言、LaTeX、Java及最常用C語言和Fortran撰寫。下載的可執(zhí)行文件版本會連同一批核心功能的軟件包,而根據(jù)CRAN紀(jì)錄有過千種不同的軟件包。其中有幾款較為常用,例如用于經(jīng)濟(jì)計量、財經(jīng)分析、人文科學(xué)研究以及人工智能。

Python與R語言的共同特點

Python和R在數(shù)據(jù)分析和數(shù)據(jù)挖掘方面都有比較專業(yè)和全面的模塊,很多常用的功能,比如矩陣運算、向量運算等都有比較高級的用法

Python和R兩門語言有多平臺適應(yīng)性,linux、window都可以使用,并且代碼可移植性強

Python和R比較貼近MATLAB以及minitab等常用的數(shù)學(xué)工具

Python與R語言的區(qū)別

數(shù)據(jù)結(jié)構(gòu)方面,由于是從科學(xué)計算的角度出發(fā),R中的數(shù)據(jù)結(jié)構(gòu)非常的簡單,主要包括向量(一維)、多維數(shù)組(二維時為矩陣)、列表(非結(jié)構(gòu)化數(shù)據(jù))、數(shù)據(jù)框(結(jié)構(gòu)化數(shù)據(jù))。而 Python 則包含更豐富的數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)數(shù)據(jù)更精準(zhǔn)的訪問和內(nèi)存控制,多維數(shù)組(可讀寫、有序)、元組(只讀、有序)、集合(唯一、無序)、字典(Key-Value)等等。

Python與R相比速度要快。Python可以直接處理上G的數(shù)據(jù);R不行,R分析數(shù)據(jù)時需要先通過數(shù)據(jù)庫把大數(shù)據(jù)轉(zhuǎn)化為小數(shù)據(jù)(通過groupby)才能交給R做分析,因此R不可能直接分析行為詳單,只能分析統(tǒng)計結(jié)果。

Python是一套比較平衡的語言,各方面都可以,無論是對其他語言的調(diào)用,和數(shù)據(jù)源的連接、讀取,對系統(tǒng)的操作,還是正則表達(dá)和文字處理,Python都有著明顯優(yōu)勢。 而R是在統(tǒng)計方面比較突出。

Python與R語言的應(yīng)用場景

應(yīng)用Python的場景

1、網(wǎng)絡(luò)爬蟲與網(wǎng)頁抓取

Python 的 beautifulsoup 和 Scrapy 更加成熟、功能更強大,結(jié)合django-scrapy我們可以很快的構(gòu)建一個定制化的爬蟲管理系統(tǒng)。

2、內(nèi)容管理系統(tǒng)

Python 只用 sqlachemy 通過ORM的方式,一個包就解決了多種資料庫連接的問題,且在生產(chǎn)環(huán)境中廣泛使用?;贒jango,Python可以快速通過ORM建立資料庫、后臺管理系統(tǒng),而R中的 Shiny 的鑒權(quán)功能暫時還需要付費使用。

3、API的構(gòu)建

通過Flask、Tornado等標(biāo)準(zhǔn)的網(wǎng)絡(luò)處理庫,Python也可以快速實現(xiàn)輕量級的API,而R則較為復(fù)雜。

應(yīng)用R語言的場景

1、統(tǒng)計分析

盡管 Python 里Scipy、Pandasstatsmodels提供了一系列統(tǒng)計工具 ,R 本身是專門為統(tǒng)計分析應(yīng)用建立的,所以擁有更多此類工具。

2、互動式面板

R 的 shiny 和 shiny dashboard 可以較快地構(gòu)建定制可視化頁面。速度更快,所需代碼更少。

總的來說,Python 的 pandas 借鑒了R的dataframes,R 中的 rvest 則參考了 Python的BeautifulSoup,兩種語言在一定程度上存在互補性,通常,我們認(rèn)為 Python 比 R 在計算機編程、網(wǎng)絡(luò)爬蟲上更有優(yōu)勢,而 R 在統(tǒng)計分析上是一種更高效的獨立數(shù)據(jù)分析工具。所以說,同時學(xué)會Python和R這兩把刷子才是數(shù)據(jù)科學(xué)的王道。

-----------------------------

本文由Python中文社區(qū)編輯,未經(jīng)允許,不得商業(yè)轉(zhuǎn)載,更多內(nèi)容請關(guān)注

微信公眾號:Python中文社區(qū)

Python中文社區(qū)2000人免費超級QQ群:152745094

Python高級技術(shù)交流群:273186166

----------------------------

作者主頁

Python中文社區(qū)知乎專欄

各專業(yè)技術(shù)方向QQ群:

Python數(shù)據(jù)分析與挖掘:539956362

Python網(wǎng)絡(luò)爬蟲:206241755

PythonWeb開發(fā):577672548

Python量化交易策略:264204289

Python自然語言處理:570364809

--------------------------

史上最全Python學(xué)習(xí)免費資源下載匯總:

Python開發(fā)基礎(chǔ)教學(xué)視頻

http://pan.baidu.com/s/1dEAlfSP

密碼:請關(guān)注微信公眾號“Python中文社區(qū)”后回復(fù)“視頻”二字獲取

Python就業(yè)培訓(xùn)視頻三套教程打包匯總下載

https://pan.baidu.com/s/1gfFicU3

密碼:請關(guān)注微信公眾號“Python中文社區(qū)”后回復(fù)“培訓(xùn)”二字獲取

Python學(xué)習(xí)資料PDF電子書大合集

http://pan.baidu.com/s/1bpuqex5

密碼:請關(guān)注微信公眾號“Python中文社區(qū)”后回復(fù)“資料”二字獲取

Python量化交易學(xué)習(xí)資料大全匯總打包下載

http://pan.baidu.com/s/1pKFXuWV

密碼:請關(guān)注微信公眾號“Python中文社區(qū)”后回復(fù)“量化”二字獲取

Python學(xué)習(xí)思維腦圖大全匯總打包

http://pan.baidu.com/s/1qYH6Tek

密碼:請關(guān)注微信公眾號“Python中文社區(qū)”后回復(fù)“思維”二字獲取


微信公眾號:Python中文社區(qū)


歡迎微信掃碼關(guān)注Python中文社區(qū)

Python中文社區(qū)2000人超級QQ交流群:


歡迎加入Python中文社區(qū)QQ群
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容