시각화를 위한 추출
datetime에서 구성 요소를 추출하는 기능은 데이터를 탐색할 때 특히 유용해요. 이 장의 앞부분에서 오클랜드의 일별 날씨 데이터를 불러오고, 10년간의 일별 최고 기온에 대한 시계열 그래프를 만들었죠. 그 그래프는 10년 전체를 훑어보는 데는 좋지만, 해마다 반복되는 패턴은 보기 어렵습니다.
이번 연습 문제에서는 날짜의 구성 요소를 활용해 1년 동안의 최고 기온 패턴을 탐색해 볼 거예요. 먼저 추출한 값을 담을 새 열을 만든 다음, 몇 가지 그래프에 활용해 보겠습니다.
이 연습은 강의의 일부입니다
R에서 날짜와 시간 다루기
연습 안내
mutate()를 사용해year,yday,month라는 세 개의 새 열을 만드세요. 각각date열에서 같은 구성 요소를 담도록 하세요. 달(month)은 이름으로 라벨을 지정하는 것도 잊지 마세요.- x축에는
yday, y축에는max_temp를 두고, 선은year별로 그룹화한 그래프를 그리세요. 이 플롯에서는 각 연도가 하나의 선이며, x축은 1월 1일부터 12월 31일까지 이어집니다. - 다른 관점에서 보려면,
ggridges패키지의geom_density_ridges()를 사용해 x축에max_temp, y축에month를 둔 ridgeline plot(이전 명칭: joyplot)을 만드세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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")