給R語(yǔ)言初學(xué)者的幾個(gè)建議有哪些

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)給R語(yǔ)言初學(xué)者的幾個(gè)建議有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)公司為客戶提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機(jī)網(wǎng)站開發(fā)等網(wǎng)站方面業(yè)務(wù)。

最近有很多人在問(wèn)我關(guān)于R語(yǔ)言學(xué)習(xí)入門的問(wèn)題。

說(shuō)實(shí)話,這個(gè)話題,如果由一個(gè)在數(shù)據(jù)科學(xué)領(lǐng)域叱咤多年、項(xiàng)目經(jīng)驗(yàn)豐富,代碼寫的很溜的老司機(jī)來(lái)回答,結(jié)果會(huì)更有信服力。

而我并不適合來(lái)回答這個(gè)問(wèn)題,理由如下:

  • 首先我的學(xué)習(xí)周期很短,正式開始于2016年的9月份,算起來(lái)僅有10個(gè)月左右,有點(diǎn)速成的意味;

  • 其次我在學(xué)習(xí)R語(yǔ)言之前并沒(méi)有任何的編程基礎(chǔ)(如果不算大學(xué)修過(guò)的SQL和自己只會(huì)一點(diǎn)兒皮毛的VBA的話);

  • 第三我是一個(gè)文科生,沒(méi)有很強(qiáng)大的數(shù)理基礎(chǔ)和統(tǒng)計(jì)背景。

但是如果換一個(gè)角度來(lái)思考,我又覺(jué)得我很有資格來(lái)回答這個(gè)問(wèn)題,理由如下:

  • 作為一個(gè)文科編程小白和數(shù)學(xué)盲,我更懂和我一樣編程零基礎(chǔ)、數(shù)學(xué)又不好的初學(xué)者在初次接觸R語(yǔ)言之時(shí),內(nèi)心的困惑和掙扎;

  • 按照我的學(xué)習(xí)周期及其效果來(lái)看,我的學(xué)習(xí)效果得到了實(shí)戰(zhàn)檢驗(yàn)和諸多讀者的認(rèn)可;

  • 我的R語(yǔ)言學(xué)習(xí)之旅是在大學(xué)校園里完成的,而非是在職場(chǎng)的強(qiáng)壓下被逼無(wú)奈之下開始的,所以不帶很多的功利性和企圖速成的快節(jié)奏,同樣也是按需去學(xué),學(xué)的都是真把式和投入回報(bào)率最高的部分,所以對(duì)于基礎(chǔ)的把握及學(xué)習(xí)的節(jié)奏的經(jīng)驗(yàn)更值得大家借鑒。

下面我開始我的回答(biaoyan!!!)

關(guān)于學(xué)習(xí)初衷:

首先我想說(shuō)的是,在打算學(xué)習(xí)R之前一定要先問(wèn)自己一句,你學(xué)習(xí)R語(yǔ)言的目的是什么?

是大學(xué)專業(yè)課程的需要?或者提前儲(chǔ)備自己的數(shù)據(jù)分析技能?還是為了應(yīng)對(duì)職場(chǎng)壓力,被動(dòng)充電?亦或者僅僅一時(shí)心血來(lái)潮,看到如今的大數(shù)據(jù)發(fā)展的如火如荼、不由自主的來(lái)湊一波熱鬧?或者是純粹只是為了興趣、實(shí)現(xiàn)自己的某些想法。

因?yàn)槟繕?biāo)定位不同,意味著你能為此打算花費(fèi)的時(shí)間長(zhǎng)度不同、付出的心血不同、學(xué)習(xí)的路徑不同、學(xué)習(xí)學(xué)習(xí)的模塊不同,達(dá)到的效果也不同。

一定要確定好目標(biāo),按需去學(xué),否則你在入門之前就首先會(huì)陷入迷茫和困頓,因?yàn)镽語(yǔ)言除了內(nèi)置的幾個(gè)基礎(chǔ)包之外,CRAN上可用的有不下上萬(wàn)個(gè)擴(kuò)展包,如果再算上GitHub上 托管的個(gè)人開發(fā)的小眾包,可能有好幾萬(wàn)了,掰著指頭數(shù)一數(shù),夠?qū)W一輩子了。

關(guān)于對(duì)R語(yǔ)言的理解:

這里我講一下自己對(duì)于R語(yǔ)言的理念,我不想重復(fù)那些已經(jīng)被轉(zhuǎn)播爛了的概念解釋、發(fā)展歷史、及其功能簡(jiǎn)介。

R語(yǔ)言是統(tǒng)計(jì)學(xué)家開發(fā)的,出生之初就決定了它的使命是統(tǒng)計(jì)計(jì)算和數(shù)據(jù)可視化,這算是R語(yǔ)言核心功能的兩個(gè)大方向。

對(duì)于這兩個(gè)方向而言,統(tǒng)計(jì)計(jì)算的學(xué)習(xí),基礎(chǔ)都在課堂理論與專業(yè)背景上,說(shuō)實(shí)話,R語(yǔ)言只是提供了一個(gè)實(shí)現(xiàn)的平臺(tái)而已,它并不該改變或者創(chuàng)造新的理論、模型。

而這些統(tǒng)計(jì)計(jì)算所使用的公式、用到的模型算法,大部分都被封裝成一個(gè)個(gè)擴(kuò)展包里,導(dǎo)入包之后,僅需調(diào)用對(duì)應(yīng)函數(shù)、設(shè)置對(duì)應(yīng)參數(shù)即可,這些函數(shù)與Excel里面的函數(shù)本無(wú)區(qū)別,無(wú)需恐懼。

至于參數(shù)的調(diào)優(yōu)、模型的檢驗(yàn)與優(yōu)化,這些東西所依賴的知識(shí)背景,也基本都是來(lái)源于課堂學(xué)習(xí)和專業(yè)背景,與R軟件的關(guān)系并不大,對(duì)于需要自己寫算法的情況,你也僅是在函數(shù)的基礎(chǔ)上按照成熟的理論算法進(jìn)行調(diào)優(yōu)和計(jì)算,這與軟件無(wú)關(guān)(除了基礎(chǔ)語(yǔ)法之外),而與軟件之外的專業(yè)背景和行業(yè)經(jīng)驗(yàn)有關(guān)。

說(shuō)到底,對(duì)于統(tǒng)計(jì)學(xué)習(xí)這一塊,重要的是理論背景、業(yè)務(wù)經(jīng)驗(yàn)、而真正需要R來(lái)實(shí)現(xiàn)的,僅僅是內(nèi)置的擴(kuò)展包函數(shù)、基礎(chǔ)語(yǔ)法而已。

類比一下SPSS的學(xué)習(xí),一個(gè)不懂統(tǒng)計(jì)學(xué)的人很難學(xué)好SPSS,盡管他知道各種功能模塊和菜單(比如我),同樣,一個(gè)不懂統(tǒng)計(jì)學(xué)和數(shù)學(xué)的人也難學(xué)好R語(yǔ)言(統(tǒng)計(jì)計(jì)算模塊),盡管他很熟悉R語(yǔ)言的基礎(chǔ)語(yǔ)法和很多擴(kuò)展包所能實(shí)現(xiàn)的功能(比如我)。

而對(duì)于R語(yǔ)言的數(shù)據(jù)可視化方向來(lái)講,則稍有不同。數(shù)據(jù)可視化確實(shí)并不十分依賴數(shù)學(xué)(除了專門用于算法呈現(xiàn)的圖形之外,很少有需要大量運(yùn)算的),但是他高度依賴圖形語(yǔ)法,依賴可視化視覺(jué)呈現(xiàn)理念。

R語(yǔ)言中被瘋傳有四套語(yǔ)法(分別是基礎(chǔ)圖形語(yǔ)法、高級(jí)圖形語(yǔ)法、lattice語(yǔ)法、ggplot2語(yǔ)法)。但是遺憾的我只會(huì)其中之一——ggplot2。

我學(xué)東西的初衷很純粹,要把一個(gè)東西做好,不是一般的好,而是要令效果賞心悅目、達(dá)到驚艷眾人的目的,最重要的,要讓老板贊不絕口(難道你不想升職加薪嘛)。

這就意味著我要學(xué)一套優(yōu)雅、高效、兼容性強(qiáng)、更加貼近可視化理念的語(yǔ)法。因?yàn)槲业木蜁r(shí)間不容許我把付出的心血平攤在四條任務(wù)線上,畢竟我的多任務(wù)處理能力極差。

倘若貪多,這樣造成的后果可能是,每一套都語(yǔ)法都能懂一些,但是每一套都表現(xiàn)平平,這是我不能容忍的。而ggplot2對(duì)我來(lái)說(shuō)既是絕佳的選擇。

即便如此,語(yǔ)法熟練或者說(shuō)能夠順記于心就真的夠了嗎?當(dāng)然不是,即便能能夠熟記于心,也并不能保證自己能夠游刃有余的實(shí)現(xiàn)自己的想法,因?yàn)閿?shù)據(jù)可視化除了依賴實(shí)現(xiàn)的工具和平臺(tái)語(yǔ)法之外,更多的是對(duì)于數(shù)據(jù)源的理解、對(duì)于可視化的理解、對(duì)于設(shè)計(jì)理念的融會(huì)貫通(怎么去配色、怎么去排版、怎么去搭配字體等)。

如果說(shuō)軟件的學(xué)習(xí)也遵循二八定律的話,我覺(jué)得,R語(yǔ)言的學(xué)習(xí)也是如此。

百分之八十的精力需要花費(fèi)在軟件之外的統(tǒng)計(jì)學(xué)理論背景、業(yè)務(wù)知識(shí)(可以自學(xué)呀),而需要使用R軟件來(lái)實(shí)現(xiàn)的部分,不要干巴巴的去學(xué)(當(dāng)然R語(yǔ)言的基礎(chǔ)語(yǔ)法要牢固),理論搞透了很多事情就會(huì)水到渠成,迎刃而解了。這一點(diǎn)特別體現(xiàn)在對(duì)于統(tǒng)計(jì)與數(shù)據(jù)分析的學(xué)習(xí)上。

而數(shù)據(jù)可視化則需要你在牢固掌握基礎(chǔ)上(基礎(chǔ)語(yǔ)法運(yùn)用、數(shù)據(jù)清洗技能),能夠熟練運(yùn)用一套圖形語(yǔ)法(推薦ggplot2),然后不要過(guò)于將精力放在工具和代碼本身,而是多積累可視化素養(yǎng)和提升設(shè)計(jì)審美水平。(這里我將數(shù)據(jù)可視化的二八定律稍稍修改一下,五五定律比較合適,因?yàn)間gplot2不是很好掌握)。

至于設(shè)計(jì)、審美、創(chuàng)意這些柔性的東西,很難去通過(guò)一兩本書或者一兩套課程搞定,這些是內(nèi)化于生活,積累于日常的點(diǎn)點(diǎn)滴滴,當(dāng)然如果有意識(shí)的去通過(guò)一些課程、書籍慢慢培養(yǎng),日積月累也會(huì)見效的。

關(guān)于R語(yǔ)言學(xué)習(xí)技能路徑:

通用技能學(xué)習(xí):

基礎(chǔ):數(shù)據(jù)結(jié)構(gòu)、變量類型、數(shù)據(jù)導(dǎo)入/導(dǎo)出、數(shù)據(jù)合并追加、長(zhǎng)寬轉(zhuǎn)換、數(shù)據(jù)索引、切片、聚合。

進(jìn)階:正則表達(dá)式、合并與分列、匹配與替換、缺失值插補(bǔ)、去重與排序,控制流:循環(huán)與判斷。

專用技能學(xué)習(xí):

統(tǒng)計(jì)與分析:去學(xué)課本吧

數(shù)據(jù)可視化:ggplot2語(yǔ)法+設(shè)計(jì)+審美+創(chuàng)意

基本上只要自己的通用技能學(xué)的差不多之后,就沒(méi)有必要一直鉆在這個(gè)小圈子里來(lái)回轉(zhuǎn)了,可以自己去找數(shù)據(jù)做案例,案例是最好的學(xué)習(xí),進(jìn)步大多源于案例中解決未知問(wèn)題的能力。

我沒(méi)有讀過(guò)很多R語(yǔ)言的書,所以這里還是不薦書了,如果你真的有心去學(xué),還用別人薦書嗎,看下豆瓣的圖書榜就成了。

平時(shí)多用搜索引擎去解決臨時(shí)性問(wèn)題,基本上你遇到的問(wèn)題,前人在網(wǎng)絡(luò)上都已經(jīng)給出了很詳細(xì)的答案。

回答一些初學(xué)者的問(wèn)題:

1、R語(yǔ)言是不是需要很深厚的編程基礎(chǔ),我編程基礎(chǔ)基本為0,是不是不適合學(xué)這個(gè)?

我在學(xué)習(xí)R之前編程基礎(chǔ)也為0的,有編程基礎(chǔ)那叫程序員,程序員學(xué)習(xí)R語(yǔ)言都不用眨眼的~

2、學(xué)習(xí)R語(yǔ)言是不是需要很厲害的數(shù)學(xué)背景,我是文科生,數(shù)學(xué)超級(jí)差,是不是學(xué)不會(huì)啦!

握個(gè)手,我情況跟你一樣,也是文科生,數(shù)學(xué)超級(jí)差,如果你打算往數(shù)據(jù)挖掘方向轉(zhuǎn)型的話,可能需要補(bǔ)一下高數(shù)、線代、概率論統(tǒng)計(jì)與算法的東西,如果僅是作為業(yè)務(wù)分析工具、可視化之用,可能你的數(shù)學(xué)水平已經(jīng)超越門檻了。

3、我R語(yǔ)言學(xué)了很長(zhǎng)時(shí)間,好像也有一年了,看了很多書,所有的基礎(chǔ)語(yǔ)法都會(huì)、ggplot2也都理解,但是就是自己寫代碼的時(shí)候?qū)懖怀鰜?lái),畫圖的時(shí)候干著急。

你是不是一直在看課本,一直在看,連練習(xí)代碼都是copy課本上的,你做過(guò)多少實(shí)戰(zhàn)案例,分析過(guò)多少真實(shí)業(yè)務(wù)數(shù)據(jù)、有多少新知識(shí)是在課本之外的實(shí)戰(zhàn)過(guò)程中解決的,多看不如多練。

4、求地圖模板?。。?/strong>

抱歉,我不提供模板,我只提供代碼和案例數(shù)據(jù)!(R語(yǔ)言很難做成模板)

5、你好,在嗎,可以幫我畫個(gè)圖嘛~

……(我想說(shuō)一句不在的)

6、可以推薦一下入門書嗎?

其實(shí)我并不覺(jué)得R語(yǔ)言的入門需要入門書,因?yàn)槲以谌腴T階段也沒(méi)有照著書去學(xué),但是既然大家提出來(lái)這個(gè)問(wèn)題,我還是給些建議吧,如果你是在校學(xué)生,時(shí)間充裕,推薦《R語(yǔ)言實(shí)戰(zhàn)》,不過(guò)一定要有選擇性的去看,不要通篇看,前面幾張關(guān)于數(shù)據(jù)結(jié)構(gòu)、變量類型、數(shù)據(jù)清洗的要好好看(略過(guò)概念性和純解釋性內(nèi)容),中間統(tǒng)計(jì)學(xué)習(xí)部分按需酌情去看,最后的文檔報(bào)告輸出部分謹(jǐn)慎去看(LaTeX和HTML你不一定能用得到的)。

數(shù)據(jù)可視化推薦兩本吧,《R語(yǔ)言可視化手冊(cè)》、《ggplot2:數(shù)據(jù)分析與圖形藝術(shù)》(首選第一本,比較接地氣,第二本雖然是作者本人大作,但是立意較為獨(dú)特、高遠(yuǎn)、對(duì)初學(xué)者不是很友好)。

如果你是職場(chǎng)人士的話,那么并不十分推薦以課本為主,因?yàn)楣ぷ鲿r(shí)間占用太多,不可能抽出大量時(shí)間用于練習(xí),推薦工作之余利用碎片化時(shí)間聽一些在線課程。(入門可以聽免費(fèi)的,天善智能社區(qū)就是很好地免費(fèi)課程學(xué)習(xí)平臺(tái),我自己在天善智能也有開課哦,而且里面有大數(shù)據(jù)主題的多門免費(fèi)課程,此外網(wǎng)易云課堂里也可以淘到很多好課)。免費(fèi)課程用于入門,然后借助接觸一線業(yè)務(wù)數(shù)據(jù)的機(jī)會(huì),多把R語(yǔ)言用工作實(shí)踐,你會(huì)進(jìn)步的更快。

7、小魔方,你是如何學(xué)習(xí)R語(yǔ)言的,可以傳授一些經(jīng)驗(yàn)嗎?

這個(gè)問(wèn)題我太不好意思回答了,不過(guò)我還是舔著臉講一下吧,我屬于實(shí)戰(zhàn)派,平時(shí)練習(xí)都是直接使用爬蟲抓網(wǎng)絡(luò)上的數(shù)據(jù),實(shí)習(xí)的時(shí)候也是能用R的場(chǎng)合堅(jiān)決不用Excel,逼著自己找R語(yǔ)言的使用場(chǎng)景,然后通過(guò)微信公眾號(hào)、知乎專欄和個(gè)人博客進(jìn)行持續(xù)性的內(nèi)容輸出(強(qiáng)迫自己去持續(xù)練習(xí))。

當(dāng)然,打撈基礎(chǔ)很重要,否則只能每次寫代碼的時(shí)候都放著筆記本在身邊,那里不會(huì)看哪里(很浪費(fèi)時(shí)間的)

善用幫助文檔,R語(yǔ)言中有強(qiáng)大的幫助系統(tǒng),你可以直接進(jìn)入擴(kuò)展包的文檔主頁(yè), 也可以使用?info來(lái)搜索某個(gè)函數(shù)的詳細(xì)使用方法及參數(shù)設(shè)定規(guī)則。

保證規(guī)律性的練習(xí),每天都要抽出固定時(shí)間來(lái)練習(xí),具體安排視個(gè)人的具體情況。

最后給一句忠告,一門用于數(shù)據(jù)分析的編程語(yǔ)言,其只有用于數(shù)據(jù)分析實(shí)戰(zhàn)才能發(fā)揮作用,就像老虎只有在森林里才能具備獸王的野性,所以一旦感覺(jué)自己掌握了基礎(chǔ)之后,最后的進(jìn)階方式就是用于實(shí)戰(zhàn)。

上述就是小編為大家分享的給R語(yǔ)言初學(xué)者的幾個(gè)建議有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前題目:給R語(yǔ)言初學(xué)者的幾個(gè)建議有哪些
地址分享:http://muchs.cn/article34/gjgdse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司外貿(mào)網(wǎng)站建設(shè)、定制網(wǎng)站虛擬主機(jī)、軟件開發(fā)、營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)