聊聊我的R語言學習路徑和感受

2022-01-09 混沌巡洋艦

第一次接觸R語言是我讀研的時候,算到現在有5年多了。R語言可以算得上是我進入編程世界的啟蒙語言,儘管在大學期間為了考試而被迫學習過計算機二級,但那真心是沒有一丁點的興趣可言。進入R的世界後,真的越來越喜歡,可以幫助我解決學術研究過程中的很多探索,最起碼讀研期間的所有小論文和畢業論文的案例分析都是通過R語言完成的。工作後,數據分析、可視化和數據挖掘的落地更是通過R語言幫我實現的,她對我的學習和工作起到了很大的幫助

2015年2月份畢業開始了一份正式的工作,半年多後突然產生一個想法,就是把自己在工作中的所學所用通過公眾微信號(lsxxx2011)記錄下來,並給自己的公眾號起名「每天進步一點點2015」。到今天已維護了近2年半的時間,積累了近160篇文章,也結識了很多對數據分析、挖掘感興趣的朋友。曾經有好多朋友都向我問起過一個類似的問題:「我是***,對數據分析很感興趣,但目前是R語言的小白,也自學了一段時間,但總感覺使不上力,有沒有比較好的學習方法?」那就抽空來講一講我學習R語言的過程,希望對處於迷茫或困惑的朋友起到一點幫助。接下來,我就從以下幾個方面來講講我學習R語言的經歷:

 

基礎篇

       我接觸R語言的第一本書是薛毅老師的《統計建模與R軟體》,這本書個人感覺非常棒,至少有這三方面的優點首先,該書將統計學裡面的基礎知識和理論都作了比較詳細的剖析;其次,也詳細介紹了R軟體本身的基礎知識,如語法、數據結構、數據讀取、控制流等;最後但也是最重要的,運用R軟體(很多情況都不是直接調包)將統計學模型的原理作了相應的代碼實現,包括統計檢驗、線性回歸、方差分析等。這本書我看了至少2遍,但對於R語言的初學者並不建議將這本書當作學習的第一本書

       《R語言實戰》,這是一本非常好的初學R語言的資料,而且該書在今年也更新到了中文版的第二版。之所以首推這本書作為初學教程,是因為這本書偏實戰,而非理論,你可以通過這本書提高R軟體的使用技能,該書包括R軟體編程基礎、可視化作圖和統計建模等內容。這本書我至少也看了2遍,書中包含了各式各樣的R軟體包和函數的使用,要想記住這些內容還不得不多敲代碼。

       《R語言數據操作》,是一本頁數非常少的書籍,但都是精華。書中沒有任何關於統計學相關的內容,都是在討論數據集的管理,如缺失值處理、數據讀取、日期數據的處理、正則表達式、數據匯總等。通過閱讀和學習這本書,相信在數據預處理這塊會對你有很大的提升,我曾經針對這本書的每一章內容作了整理,並分享到公眾號中,對我本身而言,也是一個提升的過程。

       當然,網上也有很多其他初學者資料,如《153分鐘學會R》、《R語言經典入門_2012》、《R語言初學者指南》、《RCookbook》等。

 

可視化篇

       在學習R軟體的同時,你肯定會碰到關於使用R軟體來完成數據的可視化操作,確實,R軟體也是一款非常棒的可視化工具,包含了各種各樣的可視化包,如graphics、lattice、plotrix、plotly、ggplot2等等。關於這一塊內容的學習,你可以根據上面提到的書籍《統計建模與R軟體》、《R語言實戰》、《R Cookbook》等初識一下可視化,了解R軟體基礎包中是如何實現數據可視化(儘管每一個繪圖函數都包含很多參數),這樣會對你的繪圖思維帶來好處。如果要推薦幾本數據可視化的書,我會強烈推薦《ggplot2:數據分析與圖形藝術》《R數據可視化手冊》

第一本書是ggplot2包的開發作者所編著的,在R中ggplot2也是非常火爆的可視化包,書中詳細介紹了如何利用圖層的思想繪製完美的統計圖形,有系統的繪圖組件,如geom_*函數、stat_*函數、sacle_*函數及theme類函數。這本書更多的是從繪圖思想和理論出發,介紹ggplot2包的龐大功能(當然也有很多繪圖案例)。

第二本書則彌補了第一本書的輕鬆感,說實話,我讀《R數據可視化手冊》的次數要比《ggplot2:數據分析與圖形藝術》多一些,因為該書通過非常多的例子來對比基礎包與ggplot2包在繪圖方面的差異,既讓我鞏固了基礎包的繪圖方法,也提升了我對ggplot2包的濃厚興趣,目前工作中涉及到基本統計圖形(如條形圖、直方圖、折線圖、散點圖等)的繪製,我都是優選ggplot2包來完成。當然,我也把ggplot2包中常見的繪圖功能作了整理,並以系列的形式分享在了公眾號中。

謝益輝整理的《現代統計繪圖》、肖凱的PPT《30分鐘學會ggplot2》及英文版的《R語言之多變量數據可視化--Lattice》都是比較好的可視化學習材料。

 

數據挖掘篇

       上面介紹的這些書更多的都是從數據分析角度,如果你想提升自己,研究一些目前比較火的數據挖掘知識,R語言同樣提供了出路。這裡介紹幾本我看過的相關書籍,它們是《數據挖掘:R語言實戰》《機器學習與R語言》《R語言數據分析與挖掘實戰》《數據挖掘概念與技術》《統計學習方法》

       前面三本書都是基於R語言工具的數據挖掘實戰,內容包含了常見的數據挖掘方法,如Knn、Logistic回歸、決策樹、樸素貝葉斯、神經網絡、SVM、隨機森林、Bagging、Adboosting、K均值聚類、密度聚類、EM聚類、關聯規則等,每一種挖掘方法都配備了詳細的數據案例,甚至也會解釋挖掘函數中重要參數的含義和使用方法。當你讀完這幾本實戰類的書,你就會發現通過R語言的調包來完成數據挖掘是特別簡單的。此時,我相信你一定會對數據挖掘的理論感興趣(最起碼,你在實戰數據挖掘的過程中你會反問自己為什麼這個參數這樣調整會更好?),因為你或多或少的感覺到你遇到了瓶頸,你想更往上走一步,但又力不從心。此時,你需要的是數據挖掘理論方面的材料來給充實自己,給自己補充能量。那這就是我接下來要跟你介紹的另兩本理論書籍。

《數據挖掘概念與技術》這本書雖說是理論方面的書籍,但讀起來還是蠻輕鬆的。書籍中的挖掘部分,首先介紹挖掘方法的概念和理論知識,然後通過某些數據集來完成手工計算的過程,對於讀者來說,具有代入感,學習起來也會比較有勁。這本書相對於《數據挖掘導論》來說會稍微難一點,如果你對自己沒有信心,可以先看看《數據挖掘導論》這本書。

《統計學習方法》是一本完全偏理論的書籍,包含了很多算法的推理過程,如knn算法、貝葉斯算法、決策樹算法、支持向量機算法等,這些推理對讀者的數學知識要求比較高,如線性代數、微積分、概率論等。如果你能夠靜下心來對整本書的推理進行一遍梳理(哪怕是抄一遍),我相信你一定會受益匪淺,對數據挖掘的理解會更加深刻。

 

其他學習資源

       除了上面所提及的書本(幾乎每本書我都看了至少兩遍),網絡上還有更多的習資源,如視頻網站、論壇、博客、社區等。接下來我跟大家介紹幾個我常去的免費資源:

統計之都:https://cosx.org/,裡面有非常豐富的高質量文章,包含數據挖掘、可視化、統計學、分析報告等;

統計之都論壇:https://d.cosx.org/,如果你有學習上的疑問,你可以在論壇上提問,熱心的網友也會給出他們的答案;同樣,你也可以看別人提出的問題,嘗試回答或查看別人的回覆,進一步提高自己的R語言技能;

R語言官網:https://www.r-project.org/,官網中有一些不錯的學習手冊,同時也會定期更新R語言包,截止到寫稿目前已有11,899個第三方包,使用R真的就是站在巨人的肩膀上;

經管之家:http://bbs.pinggu.org/,網站中有專門R語言論壇,其性質跟統計之都論壇相似,可以互動,相互學習;當然該網站還有其他學習資源,如SAS、計量經濟論壇、Python論壇等;

中國統計網:http://www.itongji.cn/cms/article/index,網站中有非常多的好文,包含數據運營、數據分析、數據挖掘、乾貨分享等欄目;

Github官網:https://github.com/,在這個網站上你可以查到很多別人做過的項目案例,含有R語言代碼,通過一步步學習,能夠提高R語言編程技能 ;

Kaggle官網:https://www.kaggle.com/,這是一個提供數據挖掘比賽的網站,你既可以查看別人提交的作頁,也可以通過報名比賽來提高自己的實戰能力;

 

       儘管有如此多的優秀學習資料,但不要貪杯,在學習過程中一定要各個擊破(一本一本的用心看,用心記,用心敲代碼),系統學習。如果你想學好R語言這個工具,千萬不要著急,基礎很重要,否則基礎剛學一半就去看高級的或看別人的比賽代碼,我相信你還會被打回原形。而且學習還是一個堅持的過程,堅持記得學習;堅持寫寫心得;堅持將每一個知識點串起來嘗試替代你最拿手的工具(如Excel,SPSS等)。加油!「革命尚未成功,同志仍需努力!

OK,到此就分享的差不多了,我在學習R語言的過程中,看書是一方面另一方面要通過書籍中的知識點去想想我會在哪些場景下去使用,怎樣使用;同時,通過查看大量的文章(論壇,博客)來學習別人所分享內容的思想、步驟和結論。作為數據分析或挖掘工作者,技能是一方面,另一方面是關於如何培養好自己的分析思維,畢竟技術這個東西是很容易替代的,而思維才是屬於自己的,才是自己有別於其他人的地方。

本次分享中,所提及的所有書籍我都已經整理好,連結: https://pan.baidu.com/s/1dEQOAtz 密碼: 2q97。歡迎更多的朋友能夠與小編一起學習,互相監督,取長補短,最終達到自己理想的目標狀態。

歡迎關注巡洋艦的深度學習實戰課程, 手把手帶你進行深度學習實戰, 課程涵蓋機器學習,深度學習, 深度視覺, 深度自然語言處理, 以及極具特色的深度強化學習,看你能不能學完在你的領域跨學科的應用深度學習驚豔你的小夥伴,成為身邊人眼中的大牛。

相關焦點

  • R語言學習入門導航-特別版
    我列出了一些為什麼要構建和管理知識庫的原因(不一定全面):就R語言學習來說,至少可以解決三個非常基本的問題:讓你更快的找到學習資料; 找到一些解決R語言程序運行的錯誤信息的方法; 利用知識分享這一過程既方便他人學習,也可以加深你對所學知識的印象和理解。
  • (生信篇)R語言學習第一天-初識R
    依凡又和大家見面了。從今天開始,我將帶大家進入R的世界。R語言是一種為統計計算和繪圖而生的語言和環境,它有多強大我們就不多說了。對於用慣了windows系統下通過菜單和對話框操作軟體(如Excel,IBM SPSS,Minitab)的小夥伴們,初次接觸R,可能會不大習慣,因為它全部採用命令行的模式,所有的指令或代碼需要我們逐字輸入。
  • R語言學習指南(1) 配置R與Rstudio
    學習R語言不需要任何編程經驗,只需一臺計算機即可。我希望許多人都應該來學習R語言,無論是工作還是自己學習數據分析都有用武之地,廢話不多說,讓我們開始吧。1.rstudio/download/#download1.2 Linux:首先下載deb包,之後通過gdebi包管理器進行安裝wget https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/linux/ubuntu/bionic-cran40/r-base
  • R語言學習筆記(一)
    導語:關於R語言我想就不用多做介紹了R語言的優勢在於統計和繪圖兩大功能,而這也是科研論文裡面必需的兩大要素。所以如果你有需要,就跟著小編一起學習R吧。R是免費開源的軟體,網上很容易獲取資源,而Rstudio則是R編程可視化的不二選擇。
  • 為什麼要使用R語言?我的R語言學習盤點
    1.已經了解些高級程序語言(非常重要)2.英語不壞3.概率統計理論基礎4.看數據不頭疼5.看cmd or terminal 也不頭疼 我開始學習R的時候,找到了這個帖子http://www.ppvke.com/Blog/archives/2373
  • R語言做深度學習
    如何用R語言做深度學習?我帶著這個問題,開始了我的學習與實踐。《Deep Learning With Python》這本書使用Python語言和強大的Keras庫帶您進入深度學習領域。 本書由Keras創建者和Google AI研究員FrançoisChollet撰寫,通過直觀的解釋和實際的例子幫助您構建對深度學習的理解。您將在計算機視覺,自然語言處理和生成模型中應用和實踐。
  • 學習 R 語言:矩陣和數組
    本文內容來自《R 語言編程藝術》(The Art of R Programming),有部分修改矩陣 (Matrix) 是一種特殊的向量
  • R語言可視化——中心放射狀路徑圖
    慢慢的我發現還有一類geom_segment對象自己一直沒有嘗試過,於是滿心歡喜的嘗試了一下,果然還是有收穫的,我發現通過這個segment圖層,可以批量的創建放射狀線條圖,也就是路徑圖,這解決了我一直以來的難題,今天順便分享給大家。
  • R 語言入門學習路線與資源匯總
    本篇推文就不介紹為什麼需要學R了,你能打開這篇文章,說明你有學習 R 的想法或者正在學習 R 的路上。今天簡單介紹下R語言的學習路線以及R學習資源匯總。1.R基礎入門學習R語言的最好方法就是在實踐中學習,多多動手,多碼代碼,這個最重要。紙上得來終覺淺,絕知此事要躬行。
  • R語言可視化學習筆記之gganimate包
    taoyan:R語言中文社區特約作家,偽碼農,R語言愛好者,愛開源。個人博客: https://ytlogos.github.io/公眾號:生信大講堂往期回顧如果要繪製累積效果圖,gganimate提供了cumalative參數,這對於路徑圖來說十分是有效的p3 <- ggplot(gapminder, aes(gdpPercap
  • Tidy時代R語言學習的一些ABC
    主要就是寫一些和數據分析(或者用時髦的說法,數據科學)相關的內容。我是一個普通的數據工作者,統計學專業出身,在大學裡教過書,也做過一些實際數據工作。數據科學於我而言,可以算工作也可以算一種愛好。這個號用到的主要數據工具是R語言。原因很簡單,我用R用了11年,順手。
  • R語言 | 初學者如何學習R
    Wu老闆很忙,告訴我,下半年他得在瑞典農業大學講學,無暇管我,讓我跟他的助手Milos學習。Milos,來自南斯拉夫,人高大也很nice,但是不會教我使用R與ASReml。我被告知,只能自學,有問題可以問他。不到半年的時間,要學習R和ASReml!R倒還好,但ASReml非常難,僅使用手冊達500頁!而且Milos還不提供任何示例數據,要我自己做實驗獲取數據。
  • R語言和RStudio安裝的極簡教程!
    、安裝與卸載的我,決定出一期R語言與Rstudio安裝的教程!    本文包括R和RStudio安裝包的下載和安裝過程,以及一些安裝的技巧。一、 R和RStudio的安裝包下載    R語言官網的頁面:https://www.r-project.org/    R語言官網長這個樣子:    目前R語言已發布的最新版本是R 4.0.5,下一個版本4.1.0擬定於2021年5月18日發布。R安裝包下載中關鍵步驟是設定鏡像。
  • R語言|1. R與R Studio的安裝及基本設置
    安裝R時建議默認路徑安裝,碰到好幾個朋友用中文建的安裝文件夾,再安裝好R studio時,R studio識別不到R程序。這裡多說一句,用R語言時儘量都用英語或者拼音或者縮寫,很多地方R會識別為亂碼我想將它讀入R只要寫一行代碼即可aa<- read.csv('breast_cancer.csv')
  • R語言學習-自學篇-10.27
    R語言基礎變量講解-向量(中)學習連結:《R語言編程藝術》
  • R語言教程:下載和安裝R
    1.1 R 的獲取和安裝官網下載安裝R:R可以在CRAN(Comprehensive R Archive Network,http://cran.r-project.org)上免費下載。Linux、Mac OS X和Windows都有相應編譯好的二進位版本。
  • R語言學習筆記 - Day 2 路徑設置與安裝包
    首先學習如何為查看與設置R的工作路徑,您可以通過以下這個函數獲取R的默認路徑:getwd()如果需要設置新的工作路徑則需要用 setwd() ,假設我們想放置的新工作路徑為:C:\Users\leiben\OneDrive - BI Disciple\出版\R知識,那麼這個函數怎麼寫呢?您可能想到以下的寫法,很可惜,這樣會有一點瑕疵,因為這裡面出現了特殊字符「\「。
  • R語言 | 第一講:下載和安裝
    網絡蜘蛛(Web spider),其行為先是」爬」到對應的網頁上,再把需要的信息」鏟下來」.R語言是一種程式語言,利用現成的命令和軟體包進行統計和繪圖.2.R語言有大量現成的命令和軟體包(可以下載),無需進行複雜的編程也可以進行大量生物學統計和繪圖.3.R語言的由來:R語言是從S語言演變而來的.S語言是二十世紀70年代誕生于貝爾實驗室,由Rick Becker,John Chembers,Allan開發.基於S語言開發的軟體Splus,可以方便的編寫函數,建立模型,具有良好的擴展性,取得了巨大成功.
  • 獨家 | 手把手教你學習R語言(附資源連結)
    本文為帶大家了解R語言以及分段式的步驟教程!人們學習R語言時普遍存在缺乏系統學習方法的問題。學習者不知道從哪開始,如何進行,選擇什麼學習資源。雖然網絡上有許多不錯的免費學習資源,然而它們多過了頭,反而會讓人挑花了眼。為了構建R語言學習方法,我們在Vidhya和DataCamp中選一組綜合資源,幫您從頭學習R語言。
  • R語言學習:實際工作用到的R包,如何增進tidyverse技能,GLM模型,tidymodels包學習
    R語言學習周記裡面,會經常記錄tidyverse包的知識和技能。/3 R4DS習題解答https://brshallo.github.io/r4ds_solutions/我創建了R4DS群,也歡迎大家加入,可以掃描文末的二維碼,備註:R4DS,添加我微信,邀請你入群,一起學用R語言做數據科學。