【數據管理】Tidyverse:R 語言學習之旅的新起點

2021-03-02 R語言

筆者邀請您,先思考:

1 您是怎麼學習R語言?

2 您用tidyverse包嗎?

學習R語言的傳統路徑(base R first)多是從變量類型、數據結構、流程控制、循環與自定義函數,也就是以R程式設計作為起點,接著依照數據處理、視覺化、統計與機器學習等應用偏好延續下一個學習的旅程;由tidyverse 作為起點的路徑則是近年新興的學習模式(tidyverse first),理念是在一開始先不談[] 、[[]] 、$ 流程控制與循環等內容,而從dplyr 的函數應用開頭,目的是在最短時間讓初學者切入數據處理與視覺化的應用,讓R 語言能夠很快地在課業、研究或者工作派上用場。

Tidyverse 究竟是什麼?

Tidyverse 究竟是什麼?它是由 RStudio 選出多個數據科學應用套件的集合,只要使用者了解呼叫函數與 pipe 運算子 %>% 就能夠進行相當實用的數據處理與視覺化,這些應用套件包含:

數據視覺化的王者 ggplot2

數據處理的利器 dplyr

長寬表格轉換的專家 tidyr

數據載入的 readr

循環的加速器 purrr

強化數據框 tibble

Stack Overflow 的數據科學家 David Robinson 在 DataCamp 開設了 Introduction to the Tidyverse 課程,課程時數約四小時,練習完這個課程使用者將會獲得透過 dplyr 與 ggplot2 進行數據處理與視覺化的能力。

貫穿整個課程所使用的數據叫做gapminder。 Gapminder 是瑞典的非營利組織致力於提供簡單易懂的資料與視覺化讓國家之間的差距能夠讓大家看見,最著名的其中一位創辦人是Hans Rosling,他在2006 年的TED 演講「The best statistics you've never seen」 讓我們對近兩百年全球的國家發展有清晰的了解。

我們只要在 R 語言載入 gapminder 套件能夠獲得這個數據的精簡版,它有 1704 個觀測值、6 個變量(country、continent、year、lifeExp、pop 與 gdpPercap)。

數據查看

if(!require("gapminder")) {
 install.packages("gapminder")
 require("gapminder")
}
library("tidyverse")
dim(gapminder)
head(gapminder)

數據處理

完成練習之後,使用者將可以熟悉結合 pipe 運算子與 dplyr 做出類 SQL 查詢的數據處理:

gapminder %>%
 group_by(continent, year) %>%
 summarize(medianLifeExp = median(lifeExp), maxGdpPercap = max(gdpPercap))

數據可視化

以及熟悉 ggplot2 繪圖方法畫出氣泡圖:


gapminder_1952 <- gapminder %>%
 filter(year == 1952)
ggplot(gapminder_1952, aes(x = pop, y = lifeExp, color = continent, size = gdpPercap)) +
 geom_point() +
 scale_x_log10() +
 theme_minimal()

總結

完成Introduction to the Tidyverse 課程之後,David Robinson 也推薦了幾個DataCamp 的進階課程作為使用者的下一站,像是Data Visualization with ggplot2、Data Manipulation with dplyr、Importing and cleaning data 與Exploratory Data Analysis in R : Case Study。

我認為讓初學者從tidyverse 切入是一個值得嘗試的教學方式,特別是在工作坊、講座或者短時間的課程;假如使用者計劃在未來會需要使用R 語言完成更細膩的需求時,再分配較充足的時間學習base R。

原文連結:

https://medium.com/datainpoint/tidyverse-r-%E8%AA%9E%E8%A8%80%E5%AD%B8%E7%BF%92%E4%B9%8B%E6%97%85%E7%9A%84%E6%96%B0%E8%B5%B7%E9%BB%9E-3b01ca6a348c
作者:Yao-Jen Kuo

版權聲明:作者保留權利,嚴禁修改,轉載請註明原文連結。

數據人網是數據人學習、交流和分享的平臺http://shujuren.org 。專注於從數據中學習到有用知識。
平臺的理念:人人投稿,知識共享;人人分析,洞見驅動;智慧聚合,普惠人人。
您在數據人網平臺,可以1)學習數據知識;2)創建數據博客;3)認識數據朋友;4)尋找數據工作;5)找到其它與數據相關的乾貨。
我們努力堅持做原創,聚合和分享優質的省時的數據知識!
我們都是數據人,數據是有價值的,堅定不移地實現從數據到商業價值的轉換!

加入數據人圈子或者商務合作,請添加筆者微信。

點擊閱讀原文,進入數據人網,獲取數據知識。

公眾號推薦:

鏈達君,專注於分享區塊鏈內容。

腳印英語,專注於分享英語口語內容。

相關焦點

  • R語言學習指南(3) tidyverse的基礎使用
    tidyverse是為數據科學設計的R軟體包,它包含(ggplot2、dplyr、tidyr、stringr、magrittr、tibble)等一系列熱門軟體包,學好tidyverse的使用可也讓你站上另一個高度,從而高效的處理數據,因此本文檔不僅僅做一些案例介紹,而是希望以較為正確的學習方法來介紹R語言,使大家少走彎路,快速入門掌握R語言
  • R語言 | Tidyverse包入門介紹
    事到如今,依舊有「數據處理,Python和R到底學哪個」的爭辯。今天,我們講一個「讓R能夠和Python在數據處理方面一較高下」的擴展包:tidyverse包。你可以直接調用tidyverse,也可以調用它所轄屬的包。下面,我們講解一些tidyverse中可能使用到的函數,幫助你快速上手這個方便的東西。同時,我們會比較tidyverse和base R之間的不同之處,幫助你更快理解,為什麼tidyverse受到更多的推崇。
  • R語言入門教程 | tidyverse包之數據處理
    (中文第二版是2016年),主要著力點也是在R base上,R語言可視化的ggplot2包也只是簡要介紹,而對於tidyverse包,《R語言實戰》並未涉及,這也導致R語言的學習難度增加,今天我們給大家引入tidyverse包的學習。
  • Tidy時代R語言學習的一些ABC
    新年的第一個計劃,寫一個關於R語言數據處理和操作的教程,突出tidyverse出現之後的新方法。下面這篇小文章,給出了一個tidy時代R語言的入門書單和一些網絡資源。不全面,更不權威,就作為這個新教程系列的參考資料吧。
  • 【tidyverse】R中的tidyverse入門
    這是關於清理數據的三部分系列中的第一部分,使用tidyverse在R中對其進行可視化。加載包首先,安裝tidyverse,然後加載tidyverse和magrittr。suppressWarnings(suppressMessages(install.packages("tidyverse")))suppressWarnings(suppressMessages(library(tidyverse)))suppressWarnings(suppressMessages(library(magrittr)))學習
  • R入門?從Tidyverse學起!
    這種入門的學習路徑屬於base R first,學習的流程基本是先了解變量的類型、數據的結構,再深入點就會學到循環與自定義函數。有些類似於先認識編程,再按照數據處理、可視化、統計分析等應用方向開始下一個學習的旅程。但是對於很多人來說,R僅僅是一個可視化工具,來做出漂亮的圖,或者是一個可以方便的做回歸分析,生存分析,顯著性檢驗的統計工具。
  • R語言必知必會之tidyverse(一):管道操作
    徵得張敬信老師同意,本號將轉載張老師關於R語言tidyverse包一系列文章,為大家進行醫學研究提供助力。
  • [R數據科學]tidyverse數據清洗案例詳解
    介紹本中你將學習在R中數據處理簡潔的方法,稱為tidy data。將數據轉換為這種格式需要一些前期工作,但這些工作從長遠來看是值得的。一旦你有了整潔的數據和一些包提供的整潔工具,您將花費很少時間將數據從一種表示轉換到另一種,從而可以將更多的時間花在分析問題上。
  • 從另一個視角看 R 語言的方言 Tidyverse
    可教學性概覽•我最大的擔憂來自 R 語言教學。對於需要學習 R 語言的非程式設計師來說,Tidy 讓精通這門語言變得更困難。•Tidyverse 來自這樣一種渴求,即要有一組相互兼容、行為一致的函數或包。這種「純正」哲學對計算機科學家有著難以抗拒的吸引力。
  • 數據清理工具簡介(Tidyverse)
    很多時候數據處理不僅僅是效率的問題,有時候甚至沒辦法進行數據分析的操作。為了加快數據清理的效率,同時為以後的建模和數據可視化做準備,R語言的Tidyverse包可以提供非常優秀的數據清理、整合和可視化的「一站式服務」。
  • tidyverse —— readr包
    l1 <- read.csv('F:/action/tidyverse/data/CSR_Finidx.csv', sep = ",", fileEncoding = "UTF-16")view(l1)
  • tidyverse —— readxl包
    readxl包,讀取Excel文件專用包,有和tidyverse核心包一樣的特點,快!效率特高!話說Hadley大叔出品就沒有效率低的,可能鍵盤是借來的,著急還。獨立性高,不外部依賴Java啥的,xls和xlsx文件讀取都可以。
  • R語言 | 數據操作dplyr包
    [更新~] Python網絡爬蟲與文本數據分析公眾號只帶著Python字眼,卻分享著R語言,不務正業,任性了~dplyr簡介dplyr是R語言的數據分析包,很像python中的pandas,能對dataframe
  • R數據科學--初見
    終於你跨越茫茫宇宙,來到生信星球,發現了初學者的新大陸前些天豆豆花花各入手一本學R必備的神書《R數據科學》,花花完結了零基礎入門R語言系列和ggplot系列。現在開始跟著這本書的思路走,仔細端詳R語言。如果你還不了解這本書,👇看這裡。
  • R語言如何檢測和處理數據缺失值?
    這篇文章,總結和分享R語言如何檢測數據中的缺失值,以及針對不同情形下處理缺失值的方法。R語言可以使用is.na()函數來判斷數據集的取值是否為缺失值,並且利用一些匯總函數可以概述數據整體的缺失率、每個樣本的缺失率和每個變量的缺失率。R語言也提供可視化工具來直觀展示變量的缺失分布情況。
  • R語言空間數據分析學習筆記2——數據基本操作
    本節將會學習如何利用地理空間數據進行連接、篩選等操作,首先我們加載軟體環境和數據。
  • Tidyverse|tidyr數據重塑之gather,spread(長數據寬數據轉化)
    長型數據和寬型數據在數據分析中非常常見 ,其中寬型數據更具可讀性,長型數據則更適合做分析
  • tidyverse —— forcats包
    生成因子R語言的base包中函數如dataframe等默認因子在分類變量讀入時就會生成,而tidyverse包中的readr等包則會保留數據讀入時的原樣不做改變,要生成因子則可以使用parse_factor函數進行處理。parse_factor函數更審慎一些,會對不在給定的因子水平中的變量取值一個警告,而base包中的factor則會直接將該值記為NA,不給出報錯或警告。
  • R語言學習資源匯總(分學科)
    可以說整個數據科學領域R和Python各佔半壁江山,R精於學術界,而Python活躍於工業界。作為一個學術小白,學習R不僅僅可以優化自身數據處理功力,大批量、可重複地完成許多EXCEL無法實現的功能,也可以打開新的學術領域,運用前人編寫的包輕鬆重複數據計算操作,甚至是編寫自己的包來方便流程化操作,甚至進行發表和吸引獵頭。
  • 數據分享|使用 R 語言繪製全球各國(地區)省級行政區劃地圖矢量數據 & 代碼
    R 語言繪圖代碼,考慮到這份數據裡面和中國相關的地圖數據都是不準確的,所以我刪除了中國和印度的數據。為了方便大家使用,我為每份數據都準備了一段使用示例代碼,例如 South Korea 地圖裡面的 South Korea.R 文件的內容為:# South Korea 一級行政區劃地圖的繪製方法# 歡迎關注微信公眾號 RStata 獲取更多 R 語言相關的學習資料和資源!