什么是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、Pandas、statsmodels提供了一系列統(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
----------------------------
各專業(yè)技術(shù)方向QQ群:
Python數(shù)據(jù)分析與挖掘:539956362
Python網(wǎng)絡(luò)爬蟲:206241755
PythonWeb開發(fā):577672548
Python量化交易策略:264204289
Python自然語言處理:570364809
--------------------------
史上最全Python學(xué)習(xí)免費資源下載匯總:
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)”二字獲取
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ù)“量化”二字獲取
http://pan.baidu.com/s/1qYH6Tek
密碼:請關(guān)注微信公眾號“Python中文社區(qū)”后回復(fù)“思維”二字獲取
微信公眾號:Python中文社區(qū)

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