R語(yǔ)言的未來(lái)發(fā)展趨勢(shì)
雖然R語(yǔ)言有諸多優(yōu)勢(shì),但它并不是萬(wàn)能的——它畢竟是統(tǒng)計(jì)編程類語(yǔ)言。受到其算法架構(gòu)的通用性以及速度性能方面的影響,因此其初始設(shè)計(jì)完全基于單線程和純粹的內(nèi)存計(jì)算。雖然一般情況下無(wú)關(guān)R的使用,但在當(dāng)今大數(shù)據(jù)條件下,這兩個(gè)設(shè)計(jì)思路的劣勢(shì)逐漸變得愈加刺眼。好在R的一些優(yōu)秀的擴(kuò)展性包解決了上述問(wèn)題,例如:
snow 支持 MPI、PVM、nws、Socket 通信,解決單線程和內(nèi)存限制;
multicore 適合大規(guī)模計(jì)算環(huán)境,主要解決單線程問(wèn)題;
parallel R 2.14.0 版本增加的標(biāo)準(zhǔn)包,整合了 snow 和 multicore 功能;
R + Hadoop 在 Hadoop 集群上運(yùn)行R代碼;
RHIPE 提供了更友好的R代碼運(yùn)行環(huán)境,解決單線程和內(nèi)存限制;
Segue 利用 Amazon’s Web Services(EC2)。
這里需要著重提一下 parallel 包,該包是R核心團(tuán)隊(duì)為了解決大數(shù)據(jù)計(jì)算問(wèn)題而在標(biāo)準(zhǔn)安裝程序下新增的功能包
一些誤區(qū)
很多人認(rèn)為R語(yǔ)言是 GNU 開源項(xiàng)目軟件,因此軟件的使用是“沒(méi)有任何保證”的。但在美國(guó),R的計(jì)算結(jié)果被 FDA(Food and Drug Administration) 所承認(rèn);并且有報(bào)告指出與其他商業(yè)軟件相比,R的 Bug 數(shù)量非常少【注:UCLA (2006)。 R relative to statistical packages. Technical report, UCLA.】。
R 開發(fā)的核心團(tuán)隊(duì)對(duì)于R的新功能持異常謹(jǐn)慎的態(tài)度,比如 cairographics 從 2007 年開始醞釀,直到上一個(gè)大版本(2011年)才引入到R標(biāo)準(zhǔn)安裝程序;byte-compile 功能更是經(jīng)歷了從 1999-2011年近 12 年的孵化【注:Ripley,B. (2011)。 The r development process. Technical report,Department of Statistics,University of Oxford.】。從這個(gè)角度講,R語(yǔ)言的代碼質(zhì)量以及運(yùn)算結(jié)果的可信性是完全可以保證的。
當(dāng)然,這里所說(shuō)的是R的標(biāo)準(zhǔn)安裝程序包,并不代表所有擴(kuò)展包的質(zhì)量。畢竟 3400+ 的擴(kuò)展包質(zhì)量良莠不齊,雖然不乏一些優(yōu)秀的包(如 Rcpp、RODBC、VGAM、rattle),但必然存在一些擴(kuò)展包質(zhì)量不佳的情況。
應(yīng)用的思考
R 語(yǔ)言并不是人人都能接觸到的語(yǔ)言,相對(duì)要小眾很多,有些人即便接觸到?jīng)]準(zhǔn)也搞不清楚R到底有什么用途。對(duì)于走上這條路的人,經(jīng)常會(huì)有一些應(yīng)用困難,比如從個(gè)人學(xué)習(xí)角度而言。
雖然R語(yǔ)言的設(shè)計(jì)之初就是避免通過(guò)大量編程實(shí)現(xiàn)統(tǒng)計(jì)算法,但最基本的編程能力還是需要的,因此對(duì)于一般非計(jì)算機(jī)專業(yè)的工作者來(lái)說(shuō)無(wú)疑提高了難度。
還有很多人提到,R語(yǔ)言的學(xué)習(xí)曲線非常陡峭。但從我多年的使用經(jīng)驗(yàn)上看,陡峭的學(xué)習(xí)曲線并不是因?yàn)镽語(yǔ)言本身,而是隱藏在后面的統(tǒng)計(jì)知識(shí)很難在短時(shí)間內(nèi)掌握的緣故。
從公司商業(yè)應(yīng)用的角度而言,也存在一些不可回避的問(wèn)題。
首先是人力資源成本如何核算。
軟件成本問(wèn)題,由于R是自由軟件,可以隨時(shí)隨地下載,因此對(duì)于企業(yè)來(lái)說(shuō)如何度量成本是一個(gè)問(wèn)題。
R的技能核定并沒(méi)有官方或機(jī)構(gòu)標(biāo)準(zhǔn),簡(jiǎn)歷上“熟練使用R語(yǔ)言”可能沒(méi)有任何意義。
實(shí)際上,即便沒(méi)有上述兩個(gè)問(wèn)題,企業(yè)想招到R相關(guān)的人才也不那么簡(jiǎn)單。
對(duì)于大量工作已由其他軟件實(shí)現(xiàn)(比如用 SAS)的公司來(lái)講,轉(zhuǎn)化成本很高。
技術(shù)支持獲取的問(wèn)題。
R語(yǔ)言在現(xiàn)實(shí)中的應(yīng)用
R語(yǔ)言在現(xiàn)實(shí)中的應(yīng)用有哪些?主要有以下幾種?
1.數(shù)據(jù)科學(xué)
“哈佛商業(yè)評(píng)論”將數(shù)據(jù)科學(xué)家命名為“21世紀(jì)最性感的工作”。 Glassdoor將其命名為2016年的“年度最佳工作”。隨著IoT設(shè)備的誕生,創(chuàng)建了可用于做出更好決策的TB級(jí)和TB級(jí)數(shù)據(jù),數(shù)據(jù)科學(xué)是一個(gè)沒(méi)有其他方法可以追溯到的領(lǐng)域。
簡(jiǎn)單的解釋說(shuō),數(shù)據(jù)科學(xué)家是一位具有額外資產(chǎn)的統(tǒng)計(jì)學(xué)家:計(jì)算機(jī)編程技能。 像R語(yǔ)言這樣的編程語(yǔ)言給數(shù)據(jù)科學(xué)家超能力,讓他們能夠?qū)崟r(shí)收集數(shù)據(jù),執(zhí)行統(tǒng)計(jì)和預(yù)測(cè)分析,創(chuàng)建可視化和向利益相關(guān)者傳達(dá)可行動(dòng)的結(jié)果。
大多數(shù)數(shù)據(jù)科學(xué)課程包括R語(yǔ)言課程中,因?yàn)樗菙?shù)據(jù)科學(xué)家最喜歡的工具。
2.統(tǒng)計(jì)計(jì)算
R語(yǔ)言是統(tǒng)計(jì)學(xué)家中最流行的編程語(yǔ)言。 事實(shí)上,它最初是由統(tǒng)計(jì)學(xué)家為統(tǒng)計(jì)學(xué)家建立的。 它有一個(gè)豐富的軟件包存儲(chǔ)庫(kù),擁有超過(guò)9100個(gè)軟件包,您可以用于計(jì)算每個(gè)統(tǒng)計(jì)功能。
R語(yǔ)言的表達(dá)語(yǔ)法允許研究人員 - 即使是來(lái)自非計(jì)算機(jī)科學(xué)背景的研究人員,可以從各種數(shù)據(jù)源快速導(dǎo)入,清理和分析數(shù)據(jù)。
R語(yǔ)言還具有圖表功能,這意味著您可以繪制數(shù)據(jù)并從任何數(shù)據(jù)集創(chuàng)建有趣的可視化圖形。
3.機(jī)器學(xué)習(xí)
R語(yǔ)言已經(jīng)在預(yù)測(cè)分析和機(jī)器學(xué)習(xí)中發(fā)現(xiàn)了很多用途。它具有用于常見ML任務(wù)的各種包,如線性和非線性回歸,決策樹,線性和非線性分類等等。
從機(jī)器學(xué)習(xí)愛好者到研究人員的每個(gè)人都可使用R語(yǔ)言來(lái)實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法,如金融,遺傳學(xué)研究,零售,營(yíng)銷和醫(yī)療保健等領(lǐng)域。
電子發(fā)燒友App










評(píng)論