筆者邀請您,先思考:
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)找到其它與數據相關的乾貨。
我們努力堅持做原創,聚合和分享優質的省時的數據知識!
我們都是數據人,數據是有價值的,堅定不移地實現從數據到商業價值的轉換!
加入數據人圈子或者商務合作,請添加筆者微信。
點擊閱讀原文,進入數據人網,獲取數據知識。
公眾號推薦:鏈達君,專注於分享區塊鏈內容。
腳印英語,專注於分享英語口語內容。