為繪圖而提取
從 datetime 提取各個元件在探索資料時特別好用。本章前面你已經匯入了奧克蘭的每日天氣資料,並繪製了 10 年每日最高氣溫的時間序列圖。那張圖能概覽這 10 年的整體趨勢,但要看清每年的季節性變化並不容易。
在這個練習中,你會利用日期的各個元件,來探索一年之中的最高氣溫變化模式。第一步是建立一些新欄位來存放提取出的部分,接著你會用它們畫出幾個圖表。
本練習屬於課程
在 R 中處理日期與時間
練習說明
- 使用
mutate()建立三個新欄位:year、yday和month,分別放入date欄位對應的元件。別忘了把月份標示為名稱。 - 繪製一個圖:x 軸為
yday,y 軸為max_temp,並以year分組連線。*在此圖上,每一年是一條線,x 軸從 Jan 1 到 Dec 31。* - 換個角度觀察:建立一個 ridgeline plot(先前稱為 joyplot),x 軸為
max_temp,y 軸為month,並使用ggridges套件的geom_density_ridges()。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
library(ggplot2)
library(dplyr)
library(ggridges)
# Add columns for year, yday and month
akl_daily <- akl_daily %>%
mutate(
___ = ___(date),
___ = ___(date),
___ = ___(date, ___))
# Plot max_temp by yday for all years
ggplot(akl_daily, aes(x = ___, y = ___)) +
geom_line(aes(group = ___), alpha = 0.5)
# Examine distribution of max_temp by month
ggplot(akl_daily, aes(x = ___, y = ___, height = ..density..)) +
geom_density_ridges(stat = "density")