天天看點

為什麼R是你下一個要學的程式設計語言?

為什麼R是你下一個要學的程式設計語言?

對于那些對r語言還不熟悉的朋友,我先來做一個簡單的介紹。首先,r是非常吸引人的一門語言。如今它已成為求職履歷上讓人眼前一亮的一門技能,部分原因是r語言的使用人數大大提升。如今它正被各種各樣的專家們使用,包括軟體開發、商業分析、統計報告和科學研究。你很有可能在工作中接觸到r語言,你還可能會考慮學習和使用這門語言。

如果你需要證明,沒有比一些反映r的增長的獨立排名更好的了。r語言闖入近幾年流行程式設計語言tiobe指數的前20名;2015年, ieee将r列在2015年十大程式設計語言的第6位。另外,随着資料密集型工作的增加,對處理、資料挖掘和可視化的工具,如r的需求也大大增加。

商業中的r語言

r源自90年代s程式設計語言的一個開源版本。從那之後,r得到了許多公司的支援,其中最有名的是rstudio和revolution analytics,這兩家公司建立了與r語言相關的工具、程式包和服務。但是r的應用并不僅限于這些專業公司;r還得到了一些運轉最大的關系資料庫的大型公司的支援。比如其中之一的oracle公司,已将r導入其産品。今年初,微軟(microsoft)收購了revolution analytics,并且在其sqlserver 2016中放入了r語言。sqlserver的管理者和.net的開發人員如今随手便可使用r,r已同時和他們的标準平台工具一起被安裝了。

為什麼R是你下一個要學的程式設計語言?

高等教育中的r語言

這是一個有趣的事實:r起源于學院派,紐西蘭奧克蘭大學的ross ihaka和robert gentleman建立了它。它已經被許多研究所學生課程廣泛采納,其中包括密集的統計研究。r也已經在大規模開放網上課程(moocs)中被使用,比如coursera 上的資料科學課程(data science program)和在pluralsight上的課程裡(包括我自己的r和rstudio課程)。選修涉及資料運算的研究所學生課程很容易遇到r,像許多其它技術一樣,在學校的介紹導緻其自然地被行業廣泛采納。在高等教育中r的存在也确認了它在商業環境中的需求。

r是有利可圖的

誠然,技術是有趣的,但是,我們中的大多數人享受着技術帶來的樂趣,也要憑借技術謀生。幸運的是,r不僅用起來很愉快,并且對于從業者來說,商業上對r語言的高需求往往等同于高薪。在去年的骰子科技薪酬調查(the dice technology salary survey)中,r被視為一項擷取最高薪資的技能。最新的o’reilly資料科學家薪酬調查(o’reilly data science salary survey)也将r列為最高薪的資料科學家使用的技能之一。

r擁有多元的社群

r社群是多元的,擁有很多具有獨特專業背景的使用者。這其中包括研究人員、科學家、統計學家、商業分析人員和專業程式員等。綜合的r檔案網絡(cran)維護來自不同背景的社群成員所建立的程式包。現有的程式包用來進行股票市場分析、建立地圖、高通量基因組分析和自然語言處理。這僅僅是冰山一角,截至發稿時,在cran上有7000多個可用程式包。此外,部落格聚合網站r-bloggers,作為一個消息樞紐服務于r社群。

r有趣

當然,r有趣!最初,我被r吸引的原因是它用幾行代碼生成圖表和圖的強大能力。其它語言需要幾百行的代碼才可以完成的任務,r隻需要簡單的幾行。雖然它比其它熱門的語言古怪,但是它具有專門面向資料分析的強大功能。比如,如果你在r中運作以下程式片段:

> plot(iris)

下面是顯示結果:

為什麼R是你下一個要學的程式設計語言?

程式運作結果在下面的操作中:

· 鸢尾資料集是r中被人熟知的預設資料集。不需要任何特殊操作加載或包含它。該資料集包括150個萼片長度、寬度和花瓣的長度、寬度的測量記錄,它們分别來自3種鸢尾(巴西鸢尾,變色鸢尾,和維吉尼亞鸢尾)的50朵花。這對其它r程式包來說很常見,包括資料集新功能的初步測試。

· plot()函數有很強的适應性。它可以接收各種形式的資料,并據此做出一張合理的圖表。它還有許多選項對表示結果有影響。在上述的情況下,資料集中的每個變量都輸出成相對所有其它變量的圖表。其結果是一個散點圖矩陣,給出了每對變量之間分布的說明。例如,一看就知道花瓣長度比萼片寬度更可能提供一個明确的說明:給定的記錄屬于什麼物種。

一圖勝千言,而r隻需10個字元便可創造出這表現力驚人的圖。

很值得學習r語言,它的成長和成熟已經使其被廣泛地接受,同時供學習的資源很多。如今,随着微軟加快步伐,把r打包在更多産品中。你可以期待在今後的歲月裡聽到更多r的消息。

原文釋出時間為:2015-10-06

本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号

繼續閱讀