數據挖掘技術日趨成熟和復雜,隨著互聯網發展以及大批海量數據的到來,之前傳統的依靠spss、SAS等可視化工具實現數據挖掘建模已經越來越不能滿足日常需求,依據美國對數據科學家(data scientist)的要求,想成為一名真正的數據科學家,編程實現算法以及編程實現建模已經是必要條件;目前很多從事數據挖掘工作的人,大多都是出身非計算機專業,本身對編程基礎比較低,所以找到一門快速上手而又高效的編程語言是至關重要的,好的工具和編程語言可以起到事半功倍的效果。
目前在數據挖掘算法方面用的最多的編程語言有:Java、C++、C、Python、R等等
R語言作為統計界第一語言(軟件),很多時候與我們號稱分析界第一語言的Python老是被人拿起來對比,所以今天專門做了一個表格,簡介一下R語言與Python語言的對比情況。
首先還是我Python神圖壓鎮:

首先介紹一下R語言吧:
有個小段子,說為什么要叫R語言呢?就是因為兩位創始人的名字,都是以"R"開頭的,所以,干脆一拍即合,就叫R語言吧……

R語言有很多的特點……當然,看這張圖,是不是覺得很眼熟啊,沒錯,如果看過以前那篇“Python大法好”的文章的同學,發現,R語言怎么和Python的特性這么相似捏?

其實R也有很多自己特性,下面是它最顯著的幾個特性:
1、就是命令模式。Python雖然也支持命令模式,但是相對來說,更偏向于流程控制語句,也就是可以寫一堆語句,然后執行。R本身基本上不需要用到流程控制(當然,它也支持流程控制)。
2、就是交互性。這樣是命令模式的一個特點,敲回車,出結果。但是又不像SPSS那種用鼠標扎針的交互方式(在鍵盤上運指如飛逼格瞬間提升很多……好萊塢大片里面,高手黑客都是不用鼠標的,當然,這樣很合理,SSH或者Telent到遠程服務器上,怎么鼠標?)
3、也是R語言最大的特點,統計學特性……好吧R語言與其他所有計算機語言最大的本質區別,就是它是一門統計學家發明的語言(其他語言,基本上都是碼農發明的,當然,也有數學家發明的),那么就有很多神奇特點。
比如:賦值的時候,不用等號(=),用的是指向(<-),帶來的問題就是要寫a<-5
這種語句,就需要a<(-5)這樣寫。
比如對象下面的屬性,不用點(.),而是用刀樂($)。當然,點也能用,但是又帶來各種問題,比如R語言的變量命名法則不用遵循匈牙利法則……可以用中文啊有木有:

最反人類(反(程序)猿類)的設計,就是它的數組下標從1開始啊有木有??!所有的程序語言都是從0開始的有木有?。。?/p>
最后就是內存問題:R語言被要求把所有數據都加載到內存里面去進行運行……我賣噶??!現在動輒GB沒事就TB就數據,作死要不要做得這么徹底?(當然,現在Spark也支持R了……這是一個好消息,大家都是內存計算,難兄難弟啊)
最后貼出我Python大法與R大法的對比圖:

詳細指標項如下:
Python程序猿經常說的一句話:別看我們運行慢,但是我們寫得快啊……但是這個對比R就沒優勢了,R的代碼量比Python更少……當然,是比R能夠完成的任務的情況下。
實際上這種對比并沒有太大的意義,比較硬要說R是一種語言,還不如說它更像是一個分析工具,是一個軟件……而Python是一個支持大型軟件工程項目的開發語言(不信,你用R寫個web網站我看看……Python就可以。)

總結
以上就是本文關于Python與R語言的簡要對比的全部內容,希望對大家有所幫助。
新聞熱點
疑難解答