为绘图提取组件
在探索数据时,从日期时间中提取组件尤其有用。本章前面,您已导入了奥克兰的每日天气数据,并绘制了 10 年的每日最高气温时间序列图。该图能概览这 10 年的整体趋势,但年度模式不易看清。
在本练习中,您将利用日期的各个组件来帮助探索一年内最高气温的变化模式。第一步是创建一些新列来保存提取出的部分,然后在几幅图中使用它们。
本练习是课程的一部分
在 R 中处理日期和时间
练习说明
- 使用
mutate()创建 3 个新列:year、yday和month,分别保存date列对应的这些组件。别忘了将月份标注为名称。 - 绘制以
yday为 x 轴、max_temp为 y 轴的图,并按year分组连线。该图中每一年是一条折线,x 轴从 Jan 1 延伸到 Dec 31。 - 换一种视角,使用
ggridges包的geom_density_ridges()绘制一张山脊线图(此前称为 joyplot):将max_temp放在 x 轴,month放在 y 轴。
交互式实操练习
通过完成这段示例代码来试试这个练习。
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")