為什么要學R語言
R軟件是一款集成了數(shù)據(jù)操作、統(tǒng)計和可視化功能的優(yōu)秀的開源軟件。R軟件具備高效的數(shù)據(jù)處理和存儲功能,擅長數(shù)據(jù)矩陣操作,提供了大量適用于數(shù)據(jù)分析的工具,支持各種數(shù)據(jù)可視化輸出。R軟件的一大優(yōu)勢是分析人員可利用簡單的R程序語言描述處理過程,以構(gòu)建強大的分析功能。此外,R軟件具備良好可擴展性,來自世界各地開源社區(qū)的研究者為其提供了各種豐富的工具包。由于R軟件能結(jié)合各種挖掘算法,有效地簡化數(shù)據(jù)分析過程,適用于數(shù)據(jù)挖掘領域。
R語言的前世今生
R是統(tǒng)計領域廣泛使用的誕生于1980年左右的S語言的一個分支??梢哉J為R是S語言的一種實現(xiàn)。而S語言是由AT&T貝爾實驗室開發(fā)的一種用來進行數(shù)據(jù)探索、統(tǒng)計分析和作圖的解釋型語言。最初S語言的實現(xiàn)版本主要是S-PLUS。S-PLUS是一個商業(yè)軟件,它基于S語言,并由MathSoft公司的統(tǒng)計科學部進一步完善。后來新西蘭奧克蘭大學的RobertGentleman和RossIhaka及其他志愿人員開發(fā)了一個R系統(tǒng)。由“R開發(fā)核心團隊”負責開發(fā)。R可以看作貝爾實驗室開發(fā)的S語言的一種實現(xiàn)。當然,S語言也是S-Plus的基礎。所以,兩者在程序語法上可以說是幾乎一樣的,可能只是在函數(shù)方面有細微差別,程序十分容易地就能移植到一程序中,而很多一的程序只要稍加修改也能運用于R。
R語言存在即合理
(一)免費開源
目前存在各種挖掘軟件,主流的商用挖掘工具比如Unica、SAS/EM、InsightfulMiner、IBMIM、Matlab和SPSS等,這些軟件特點是面向通用挖掘問題,功能較為完善,具備較好的性能。但一般都存在可擴展性不強、成本較高等缺點。開源軟件能有效克服這些缺點,比較著名的包括Weka、YALE、KNIME、Orange和R等。R軟件是一款集成了數(shù)據(jù)操作、統(tǒng)計和可視化功能的優(yōu)秀的開源軟件。,來自世界各地開源社區(qū)的研究者為其提供了各種豐富的工具包。由于R軟件能結(jié)合各種挖掘算法,有效地簡化數(shù)據(jù)分析過程,適用于數(shù)據(jù)挖掘領域。
(二)易學、方便
很多人第一門編程語言就是令人咋舌的C語言,因為它注重細節(jié),可以訓練人的編程思維??墒?,對于很多研究人員,他們的側(cè)重點就在理論、思想上,讓他們用C語言編寫自己好不容易證明出來的算法,簡直比登天還難。那么有沒有哪一門編程語言把數(shù)據(jù)科學家從繁重的編程里解脫出來,把焦點移向理論研究呢。這時候,Matlab語言出現(xiàn)了,Matlab以其強大的向量化和矩陣計算,解決了這個問題。如果說Matlab語言的出現(xiàn)可以解決這個問題,那么這個語言的出現(xiàn)就把解決這個問題高度推向了頂峰,那就是R語言。學過R語言的人都知道,它簡單易學,解釋型的語句,一看就會,通俗易懂。包里內(nèi)置模型所需的數(shù)據(jù)集,可能有時候一行命令就能完成從數(shù)據(jù)到模型構(gòu)建,再到結(jié)果可視化輸出的過程,極大地方便了數(shù)據(jù)科學家地研究。而且學會后還可以根據(jù)現(xiàn)有的包的函數(shù)編寫出更適合自己的函數(shù)模塊,體現(xiàn)出R語言的強大的可擴展性。
(三)功能強大
作為第二個向量式編程語言(Matlab是第一個),R是一套完整的數(shù)據(jù)處理、計算和制圖軟件系統(tǒng)。其功能包括:數(shù)據(jù)存儲和處理系統(tǒng);數(shù)組運算工具(其向量、矩陣運算方面功能尤其強大);完整連貫的統(tǒng)計分析工具;優(yōu)秀的統(tǒng)計制圖功能;簡便而強大的編程語言:可操縱數(shù)據(jù)的輸入和輸出,可實現(xiàn)分支、循環(huán),用戶可自定義功能。
R語言流行指數(shù)
R編程語言被廣泛應用在統(tǒng)計和科學領域,在云計算領域處于領先地位。在Redmond最近發(fā)布的編程語言排名中,把R列為排在第13位。IEEESpectrum推出的最流行的編程語言排行榜中,R語言在數(shù)據(jù)語言中位列第三TiobeSoftware的資料顯示,今年1月份,R成為排在第18位的用戶最多的編程語言,1年前它僅排在第44位。PYPL(編程語言流行指數(shù))依據(jù)Google上關于語言教程的搜索頻率進行統(tǒng)計。從全球搜索引擎流行度來看,R語言排名第9。
R語言在當下的廣泛應用
醫(yī)療
醫(yī)療重有一種分析叫做生存資料Metaeta分析,生存分析(survivalanalysis)是將患者的結(jié)局和生存時間結(jié)合起來分析的一類統(tǒng)計方法 。
R軟件中用于Meta分析的程序包主要包括Meta、rmeta和metafor等。該程序包可用于分析二分類資料、連續(xù)性資料,也可以用于相關系數(shù)、生存分析數(shù)據(jù)等。生存資料的Meta分析越來越普遍,獲取到HR及其95%CI等指標后,如何計算合并HR是關鍵的一步。生存資料的Meta分析越來越多。從原始文獻計算出風險比(HR)及其95%可信區(qū)間,實際頻數(shù)和理論頻數(shù)的差值(O-E)及其標準差后,可以使用R軟件計算合并HR,從而計算出不同年齡段的病人的存活率。RevMan軟件簡單易學,但存在一定的局限;R軟件功能強大,靈活多樣,能夠繪制多種圖形,但需要進行適當?shù)木幊獭?/p>
數(shù)據(jù)挖掘
挖掘步驟主要有:
(1)、任務定義。通過分析確定挖掘任務,要求能夠準確、簡練描述任務信息。
(2)、數(shù)據(jù)準備。數(shù)據(jù)挖掘是建立在數(shù)據(jù)上的操作,需要獲取數(shù)據(jù)、提取數(shù)據(jù)、數(shù)據(jù)轉(zhuǎn)換(比如在文本挖掘中的詞向量化等)。
(3)、挖掘建模。根據(jù)挖掘任務,選擇好的模型對數(shù)據(jù)對象進行刻畫,描述。
(4)、模型評估。針對建模結(jié)果,結(jié)合實際背景、意義,對問題做出評估、甚至在需要時給出合理的解決方案。
開源R軟件集成了各種的數(shù)據(jù)分析和可視化方法,具備強大的數(shù)據(jù)分析功能和良好的可擴展性,適用于數(shù)據(jù)挖掘。比如,結(jié)合城市主要經(jīng)濟指標的數(shù)據(jù)挖掘案例,給出了R軟件在挖掘過程中各主要階段的應用方法;數(shù)據(jù)準備階段包括數(shù)據(jù)抽取、數(shù)據(jù)選擇與統(tǒng)計分析應用;挖掘建模階段給出了聚類和分類的典型挖掘應用;模型評估階段給出了決策樹的評估方法;從簡潔的R語言腳本設計和良好的分析效果,這都展示了R軟件的基本特點和在數(shù)據(jù)挖掘應用中的優(yōu)勢和應用
。
教學實驗
其實,這還是R語言是一門免費語言的體現(xiàn)。舉個例子,眾所周知,微軟的一套office辦公軟件價格還是不菲的,很多學生偶爾用一下寫東西,難道還要花幾百塊錢買一個office嗎?實驗設計與數(shù)據(jù)處理課程是工科各專業(yè)必修的基礎課,是一門理論性、應用性和實踐性很強的方法論學科,作為自然科學研究方法論領域中一個分支,它以概率論、數(shù)理統(tǒng)計、專業(yè)技術知識和實踐經(jīng)驗為基礎,為以后從事科學研究、工程試驗、工程設計工作的學生提供基本的訓練,培養(yǎng)學生正確確定科研、工程試驗方案和進行數(shù)據(jù)處理的能力。當前,試驗設計和數(shù)據(jù)分析處理幾乎全部采用軟件完成
。商業(yè)軟件諸如SAS、SPSS、Matlab等在試驗設計與數(shù)據(jù)處理中應用較多。鑒于該類軟件價格不菲,需要較大的成本,只是教學實驗暫時用一下,因此探索自由軟件在《試驗設計與數(shù)據(jù)處理》教學中應用R,節(jié)約了成本,也失對培養(yǎng)學生科學研究和創(chuàng)新能力、實踐能力具有重要意義的初衷。
電子商務
隨著電子商務的發(fā)展,對配送中心的服務性、快捷性、低成本以及柔性化的要求更高,而通過訂單—庫存分析協(xié)調(diào)需求和庫存之間的關系更為重要。自2011年“雙十一”大促引起巨大轟動以來,“雙十一”、“雙十二”、“618”、周年慶、年終慶等各個促銷時點被各大電商企業(yè)爭相效仿,每年都有多個集中大促的時點不斷掀起一個又一個消費熱潮,網(wǎng)購促銷已經(jīng)逐漸常態(tài)化
。而促銷季的銷售數(shù)據(jù)往往會成倍增長甚至連翻數(shù)倍,要保證促銷季客戶的滿意度,除了高效的物流外,無疑足量的庫存才是強有力的后盾,然后足量庫存并不意味著要儲備超大容量的庫存,適量則最佳。因此,網(wǎng)購促銷常態(tài)化需要精準的訂單需求預測做保障基于R軟件的高效性,可擴展性和處理數(shù)據(jù)的海量性,選擇R軟件對電子商務企業(yè)前端的客戶信息進行數(shù)據(jù)分析,從而減少電商物流企業(yè)庫存與需求不匹配造成的巨額成本。
情感
社會媒體成為人們表達情感的重要載體。微博作為傳播較廣泛的社會媒體,已經(jīng)成為了解民眾情感的重要渠道。面對既龐大又看似雜亂無章的微博數(shù)據(jù),如何有效地通過已有數(shù)據(jù)提取有價值的信息進而分析網(wǎng)絡輿情,并以更加清晰的方式呈現(xiàn),成為當前備受關注的重要研究領域
。利用R語言強大的自然語言處理包,可以很容易完成從模型建立到結(jié)果可視化的過程。針對已有的情感分析研究多側(cè)重在情感的傾向性方面,缺乏對各類情感的詳細描述,不能形象直觀地反映社會群體的情感變化的問題,提出一種基于依存句法和人工標注相結(jié)合的情感分析方法。該方法采用三維立體的人臉表情進行情感分析,形象地呈現(xiàn)社會群體的情感變化。對于不同的社會事件,以可視化方式來展現(xiàn)不同地區(qū)微博群體的情感。實驗結(jié)果表明,該模型可以有效地描述人群情感,研究結(jié)果為基于大數(shù)據(jù)的網(wǎng)絡輿情分析提供了一種新思路。
R語言現(xiàn)狀
(1)、微軟收購R編程語言
微軟負責機器學習的副總裁JosephSirosh在博客中寫道,“金融、制造、健康、零售、學術研究在內(nèi)的各個領域需要強有力的數(shù)據(jù)分析工具來支持他們做出數(shù)據(jù)導向的決策……R語言能夠幫助雇員去填補公司數(shù)據(jù)分析上的空白”。被收購之后,RevolutionAnalytics表示將持續(xù)支持R語言的開源項目并提供給客戶訂閱式的技術支持服務。
(2)、Google發(fā)布R語言格式規(guī)范內(nèi)部指導
2016年9月,Google已發(fā)布R語言的15格式規(guī)范內(nèi)部指導,這說明R語言的使用在Google內(nèi)部也得到了較為廣泛的認可,并有可能擴大使用規(guī)模,所以統(tǒng)一發(fā)布這個指導,以規(guī)范今后的代碼。
作者:柯廣的網(wǎng)絡日志
微信公眾號:Java大數(shù)據(jù)與數(shù)據(jù)倉庫