用R做數(shù)據(jù)分析
R語(yǔ)言是由 Ross Ihaka、Robert Gentleman二位創(chuàng)建的,這也許可以解釋為什么叫R語(yǔ)言?,F(xiàn)在由“R開發(fā)核心團(tuán)隊(duì)”負(fù)責(zé)開發(fā)。R是基于S語(yǔ)言的一個(gè)GNU項(xiàng)目。
一、R語(yǔ)言介紹
R是為統(tǒng)計(jì)計(jì)算和作圖的一門語(yǔ)言和環(huán)境。是一個(gè)GNU項(xiàng)目,和S語(yǔ)言和環(huán)境很相似,S語(yǔ)言是由BELL實(shí)驗(yàn)室的John Chambers和他的同事開發(fā)的。R語(yǔ)言可以認(rèn)為是從S語(yǔ)言衍生而來(lái)的,他們之前有很重要的不同,但是大多數(shù)用S語(yǔ)言寫的代碼也可以在R中運(yùn)行。
目前R在高校非常流行,特別是隨著這幾年互聯(lián)網(wǎng)的發(fā)展,(R在一些大公司的運(yùn)用得到的實(shí)踐,例如:國(guó)外的google、linkdin、facebook等,國(guó)內(nèi)一些大型互聯(lián)網(wǎng)公司也在開始使用R),及隨著互聯(lián)網(wǎng)版權(quán)的意識(shí)增強(qiáng),也促使了R在互聯(lián)網(wǎng)的發(fā)展。當(dāng)然R在很多領(lǐng)域都有很廣泛的運(yùn)用。
R語(yǔ)言是開源的,同時(shí)可以運(yùn)行在各種平臺(tái)上(Linux、Windows、MacOS等)。R的許多軟件包是由R語(yǔ)言、 LaTeX、Java及最常用C語(yǔ)言和Fortran撰寫。
可以說(shuō)現(xiàn)在R包含各種各樣的功能,可以說(shuō)目前你能想到的功能,都可以找到一個(gè)或者多個(gè)R包來(lái)實(shí)現(xiàn)。幾千個(gè)R包,哪個(gè)才最適合你呢?“最適合你自己的R包,也許就是你自己寫的那個(gè)包”。
二、 R語(yǔ)言的特點(diǎn)
1、變量不需要申明即可引用。
3、R語(yǔ)言是一個(gè)函數(shù)語(yǔ)言。
4、向量中的下標(biāo)是從1開始引用的。
5、R是腳本語(yǔ)言、面像對(duì)象;
三、 如何學(xué)學(xué)習(xí)R語(yǔ)言
《R語(yǔ)言學(xué)習(xí)由淺入深路線圖》 這篇文章大家可以參考,這篇文章簡(jiǎn)單介紹了一下R學(xué)習(xí)的資料,大家可以根據(jù)需要進(jìn)行參考。那么如何才能學(xué)好R,個(gè)人理解有以下幾點(diǎn):
1、不要期望你能學(xué)會(huì)R中所有的包。不要把目標(biāo)定的那么高。
2、關(guān)鍵能理解R語(yǔ)言的內(nèi)涵。多看看CRAN上的相關(guān)文檔,例如:季刊、R語(yǔ)言相關(guān)新聞,特別是每次版本更新的一些內(nèi)容。
3、運(yùn)用
如果你是做數(shù)據(jù)分析相關(guān)的工作的,一定要把學(xué)習(xí)到的R語(yǔ)言知識(shí)運(yùn)用到你的工作中,不管你把R語(yǔ)言當(dāng)用一門編程語(yǔ)言還是統(tǒng)計(jì)工具,用的多了,自然你就有感覺(jué),很多東西你就記住了。
4、持續(xù)
每天花點(diǎn)時(shí)間寫幾條R代碼,實(shí)現(xiàn)一些小功能。如果你工作上就用R,那是最完美的。
5、多看
多看別人寫的代碼,R運(yùn)用的案例。你可以google一下R會(huì)有很多好的博客,文章。很多人都是R的GREEK。
6、開放
一定要開放、分享的心態(tài)。多與別人交流,不要總是需求,一定要學(xué)習(xí)給予。(我是我個(gè)人觀點(diǎn),如果要真好用到R,讓R發(fā)揮價(jià)值就是必須的。)
7、總結(jié)
學(xué)到的東西,及時(shí)做好總結(jié),可以總結(jié)成案例或者筆記。
五、 我對(duì)R語(yǔ)言的理解和看法
隨時(shí)互聯(lián)網(wǎng)的發(fā)展,特別是互聯(lián)網(wǎng)對(duì)于版權(quán)、成本的因素考慮,因?yàn)槊赓M(fèi)、開源使越來(lái)越多的公司開始用R語(yǔ)言來(lái)處理數(shù)據(jù)、分析數(shù)據(jù)、完成模型等,當(dāng)然這其中也伴隨著對(duì)于數(shù)據(jù)價(jià)值挖掘的,特別是在大數(shù)據(jù)的背景下,想通過(guò)對(duì)數(shù)據(jù)挖掘&分析建立自己的競(jìng)爭(zhēng)優(yōu)勢(shì)。
R不僅免費(fèi)還有各種各樣的的功能包資源。從某種程度上講,任何你想要的功能應(yīng)該都可以找到對(duì)應(yīng)的包,只是說(shuō)是否完全滿足,對(duì)于一些算法研究人員來(lái)說(shuō),可以在原來(lái)的代碼的基礎(chǔ)進(jìn)行借鑒。這也許就是為什么R最開始主要用到高?;蛘邔W(xué)術(shù)領(lǐng)域(當(dāng)然和國(guó)外學(xué)者、專家這種自由、開放的環(huán)境或者意識(shí)有很關(guān)系,這也許就是為什么許多開源軟件都是國(guó)外出來(lái),很少看到國(guó)內(nèi)的大公司有什么好的東西開源)。
很多行業(yè)人士都說(shuō)R是未來(lái)的“王道”,就像unix的發(fā)展過(guò)程一樣。我覺(jué)得未來(lái)一定有屬于R的一片天空,而且這種天空可以說(shuō)是接近無(wú)限。所以,對(duì)于有志于從事數(shù)據(jù)挖掘、數(shù)據(jù)分析這個(gè)行業(yè)的朋友來(lái)說(shuō),掌握R是也許會(huì)成為未來(lái)的必備技能(就像現(xiàn)在數(shù)據(jù)分析師大多要求會(huì):SQL)。最后,我對(duì)R語(yǔ)言的理解與總結(jié)可以概括為一句話:“開源、二次加工、分享精神”。