--- 大師大師借笙,講講你的R語(yǔ)言學(xué)習(xí)經(jīng)歷吧。
··· 我只說給懂的人聽较锡。
前言:人生若只如初見
斷斷續(xù)續(xù)的业稼,我和R語(yǔ)言已經(jīng)結(jié)緣快有四年了。四年來念链,從懵懵懂懂到可以直面自己的不足盼忌,由當(dāng)初的好奇到現(xiàn)在的日常积糯。回首向來谦纱,步履蹣跚看成,一路走來,幾多欣喜跨嘉。R語(yǔ)言是我學(xué)習(xí)一門語(yǔ)言的一個(gè)縮影川慌,回顧回顧于我是有益的。
我現(xiàn)在依然離不開R語(yǔ)言的幫助系統(tǒng)祠乃,任何一門語(yǔ)言的使用都離不開梦重。你要是問我在學(xué)習(xí)R語(yǔ)言方面的捷徑,我總結(jié)起來有兩個(gè)時(shí)間點(diǎn)是有突變的:
- 知道有R語(yǔ)言這個(gè)東西
有了這兩點(diǎn)亮瓷,輔之刻意練習(xí)就可以開啟精進(jìn)之路了琴拧。以下的幾個(gè)方面是我這幾年來走過的路,和大家分享嘱支。
2015.10--2017.10:一個(gè)孤獨(dú)漫步者的獨(dú)白: baseR
2015年的時(shí)候我是一個(gè)研究生蚓胸,學(xué)院有規(guī)定每月必須完成至少兩立場(chǎng)學(xué)術(shù)報(bào)告的聽講。你知道的除师,學(xué)院一規(guī)定沛膳,這件事就容易變成一個(gè)形式。有一次陪女友去聽學(xué)術(shù)報(bào)告汛聚,本來是打算簽個(gè)到就走的锹安,只是外面太熱了,就在報(bào)告廳多坐了一會(huì)倚舀。這一會(huì)里面我聽前面的教授說:做學(xué)術(shù)R語(yǔ)言是非常適合的:免費(fèi)叹哭,容易上手,統(tǒng)計(jì)和繪圖很多強(qiáng)大瞄桨。
也許很多人并沒有當(dāng)做一回事话速,其實(shí)我也沒當(dāng)做一回事讶踪,只是在某個(gè)熬夜無聊里芯侥,時(shí)間實(shí)在無法打發(fā),就試圖安裝個(gè)R軟件玩玩乳讥。那一夜安裝了R和Rstudio柱查,這也許是最重要的一步,沒有這一步后面的故事以及目前賴以為生的職業(yè)也就無從談起了云石。
很多入門的書我都沒正經(jīng)地看過唉工,《R語(yǔ)言核心技術(shù)手冊(cè)》《R語(yǔ)言實(shí)戰(zhàn)》我在圖書館不到兩天就翻完了,像字典一樣的東西汹忠。這兩本書讓我知道R語(yǔ)言可以干嘛淋硝,以及如何做到雹熬。
然后就是在平時(shí)拿R來打發(fā)時(shí)間,直到在另一場(chǎng)報(bào)告中谣膳,作為中場(chǎng)休息竿报,我寫下了自己第一行R代碼:一個(gè)循環(huán)來處理data.frame,其實(shí)是一個(gè)96孔板的數(shù)據(jù)继谚。我開始用R來處理自己的數(shù)據(jù)烈菌。從不會(huì)讀寫數(shù)據(jù)到繪出第一張箱線圖,摸摸索索花履,身邊也沒有一個(gè)用R的人芽世,唯一的鼓勵(lì)就是看博客上人們寫的教程,讓我覺得并不孤獨(dú)诡壁。
后來济瓢,女友做畢設(shè)的時(shí)候需要處理病原菌數(shù)據(jù)庫(kù)里面的數(shù)據(jù),數(shù)據(jù)庫(kù)肯定有很多的數(shù)據(jù)啊妹卿,于是我用剛剛?cè)腴T的R語(yǔ)言幫女友處理數(shù)據(jù)葬荷。就是在這樣的情況下,一個(gè)人僅靠書本和互聯(lián)網(wǎng)算是做了兩個(gè)項(xiàng)目纽帖。
往事歷歷在目宠漩,我的學(xué)習(xí)幾乎都是發(fā)生在早上和晚上。大部分的時(shí)間是把各種error信息往瀏覽器里面放懊直,再點(diǎn)擊之前做一個(gè)禱告:希望能得到解答扒吁。
學(xué)習(xí)是一種修行:
種豆南山下,草盛豆苗稀室囊。
晨興理荒穢雕崩,帶月荷鋤歸。
道狹草木長(zhǎng)融撞,夕露沾我衣盼铁。
衣沾不足惜,但使願(yuàn)無違尝偎。
2017.12--2018.12:消失的生態(tài)學(xué)家:vegan
如果說第一階段是無組織的游擊戰(zhàn)饶火,那么2017年7月我加入現(xiàn)在供職的工廠,算是找到了隊(duì)伍致扯。在這支隊(duì)伍里肤寝,我的R語(yǔ)言得到了一次進(jìn)階。在第一階段不得不感謝一個(gè)人:王先生抖僵。他可以說是我遇到的第一個(gè)用R語(yǔ)言的人鲤看,在那段時(shí)間也扮演了瀏覽器的角色。
入職之后我是一個(gè)全職生物信息工程師耍群,每天不管會(huì)不會(huì)用到R我都會(huì)打開Rstudio义桂。物理上的接近是最直接的學(xué)習(xí)方法找筝,要不然就是葉公好龍,這也是我不斷買書的一個(gè)動(dòng)機(jī):喜歡什么就去靠近慷吊。
在三個(gè)月的試用期過后呻征,我開始認(rèn)真開啟自己的學(xué)習(xí)計(jì)劃:抄書。首先是找到一本書罢浇,這本書不是純理論的陆赋,而是從事某一行業(yè)的應(yīng)用類的R語(yǔ)言書籍。然后是運(yùn)行里面的代碼嚷闭,同時(shí)理解代碼背后的生物學(xué)邏輯攒岛。這樣我就遇見了《數(shù)量生態(tài)學(xué):R語(yǔ)言應(yīng)用》這本賴江山老師翻譯的書。從2017年12月開始我一章一章地重現(xiàn)書中的分析點(diǎn)胞锰,降維灾锯,聚類,PCA嗅榕,CCA顺饮,RDA,NMDS等等數(shù)量生態(tài)學(xué)分析的基本套路在我搬磚的同時(shí)借助Google加深了對(duì)R語(yǔ)言以及數(shù)據(jù)分析的認(rèn)識(shí)凌那。
然后是另一本書《環(huán)境與生態(tài)統(tǒng)計(jì):R語(yǔ)言應(yīng)用》這本書里更加側(cè)重模型的構(gòu)建與解釋兼雄,在完成三分之二后,我突然轉(zhuǎn)向現(xiàn)在的領(lǐng)域:?jiǎn)渭?xì)胞帽蝶,雖然數(shù)據(jù)分析的基本方法沒有變赦肋,但是畢竟不是同一個(gè)領(lǐng)域,就停更了励稳。
這兩本書與其說是我學(xué)習(xí)R語(yǔ)言的進(jìn)階書籍佃乘,不如說是我數(shù)據(jù)統(tǒng)計(jì)的入門書籍,大量的統(tǒng)計(jì)基本常識(shí)都是在這里面獲得的驹尼。組間差異檢驗(yàn)趣避,終于有人講清楚了!在沒有做任何推廣的情況下閱讀量已經(jīng)達(dá)到兩萬多了,數(shù)量生態(tài)學(xué)筆記:R語(yǔ)言應(yīng)用和環(huán)境與生態(tài)統(tǒng)計(jì):R語(yǔ)言應(yīng)用的筆記閱讀量加一起也有小10萬了新翎。在R語(yǔ)言中文社區(qū)的R語(yǔ)言入門推文被評(píng)為該公眾號(hào)2018年年度文章程帕。
2017.12--2018.12,在這一年里料祠,我依然勤勤懇懇地像個(gè)農(nóng)夫骆捧。統(tǒng)計(jì)的基本知識(shí)澎羞,數(shù)據(jù)探索髓绽,多元分析,一個(gè)R包(vegan)的系統(tǒng)學(xué)習(xí)妆绞。這就是我在R語(yǔ)言道路上的第二個(gè)臺(tái)階顺呕。
2019.01--2019.08:記住一個(gè)人的名字:Hadley Wickham
說實(shí)話枫攀,寫這篇文章的動(dòng)因是這一部分:我覺得自己的R語(yǔ)言又上了一個(gè)臺(tái)階。
我時(shí)常閱讀株茶,都是不記作者名字的:吃雞蛋不管誰(shuí)下的来涨。我也沒有關(guān)注過Hadley Wickham,盡管距離我第一次購(gòu)買他的《ggplot2:數(shù)據(jù)分析與圖形藝術(shù)》已經(jīng)快三年了启盛。今年以來我在簡(jiǎn)書更新《R語(yǔ)言數(shù)據(jù)科學(xué)》R for data science
這本書的學(xué)習(xí)筆記蹦掐,可以說非常的粗略,就是看看 Tidyverse有哪些包可以執(zhí)行哪些任務(wù)僵闯,簡(jiǎn)化什么操作卧抗,一個(gè)字還是抄。
但是這本書真的把我拉到了新的認(rèn)知境界鳖粟,特別是dplyr數(shù)據(jù)處理社裆,管道的應(yīng)用,purrr迭代向图,這刷新了我的R語(yǔ)言世界觀泳秀。從此之后R語(yǔ)言世界有兩類人一類是使用tidyverse套件的人,一類是不使用的人榄攀。Hadley Wickham豐富了R語(yǔ)言嗜傅,發(fā)展了R語(yǔ)言,Hadley Wickham的貢獻(xiàn)是巨大的檩赢,它極大地簡(jiǎn)化了我們的數(shù)據(jù)分析工作流程磺陡。
我現(xiàn)在的感覺就像剛剛登上泰山玉皇頂,雖然覺得這境界很美妙漠畜,卻說不出它的好币他。最近在看他的《R包開發(fā)》,雖然現(xiàn)在還沒有好的想法足以開發(fā)出一個(gè)R包憔狞,但是可以通過這本書了解R包開發(fā)過程以及一個(gè)R包的基本結(jié)構(gòu)蝴悉。在這個(gè)階段,我還需要一段時(shí)間來慢慢適應(yīng)瘾敢。
2019之后:依然是我的處女地
在學(xué)習(xí)和使用R的過程中拍冠,我總希望找一個(gè)階段,以讓自己可以停止下來做其他的事情簇抵。2015.10至今用過perl庆杜,Python,R從來沒停過碟摆,好幾次企圖開始學(xué)機(jī)器學(xué)習(xí)可是有一次又一次換回R語(yǔ)言了晃财。至今,關(guān)于R還有長(zhǎng)到看不到邊際的路要走典蜕。
四年了断盛,我還沒有開發(fā)過一個(gè)R包罗洗。只是知道基本的函數(shù)以及編程知識(shí),S3與S4的編程模式還不清楚钢猛。如何高效運(yùn)行R腳本伙菜,提高運(yùn)行效率?如何執(zhí)行版本管理命迈?能寫簡(jiǎn)單的Markdown贩绕,對(duì)于Shiny只寫過一個(gè)簡(jiǎn)單的可以做venn圖的工具。
R語(yǔ)言虐我千百遍壶愤,我待R語(yǔ)言如初戀丧叽。還有很多領(lǐng)域沒有涉及,還有許多有趣的事情沒有與R做過公你。我不會(huì)停止:
懦夫永不啟程踊淳,
弱者死於途中,
只剩我們前行陕靠,
一步都不能停迂尝。
下一步,R會(huì)從哪個(gè)側(cè)面介入我的生活剪芥?
結(jié)語(yǔ):書籍是人類進(jìn)步的階梯
我的學(xué)習(xí)每一步都沒有離開書籍的陪伴垄开,是一本又一本的書,不斷在充實(shí)我的學(xué)習(xí)之路税肪。在上學(xué)的時(shí)候溉躲,最喜歡在圖書館,在書架中間慢慢地走著益兄,偶爾翻開看看某本突然感興趣的書锻梳。在書籍之中,我終于找到了自己的學(xué)習(xí)路徑净捅。
我與R語(yǔ)言之間的橋梁是R語(yǔ)言相關(guān)的書籍搭建起來的疑枯,我所付出的不過是時(shí)間,而這時(shí)間和書的作者比起來又算得了什么蛔六!
哇荆永!四年了,又有了新的感覺国章。