始める無料で始める

プロット用の抽出

日時から要素を取り出すことは、データを探索する際に特に有用です。この章の前半では、オークランドの天気の「日次」データをインポートし、10年間の毎日の最高気温の時系列プロットを作成しました。そのプロットは10年全体の概観をつかむのに役立ちますが、年ごとのパターンは見えにくいままです。

この演習では、日付の要素を使って、年間を通した最高気温のパターンを探索します。最初のステップとして、抽出した値を保持する新しい列を作成し、その後でそれらを使って2種類のプロットを作成します。

この演習はコースの一部です

Rで扱う日付と時刻

コースを見る

演習の手順

  • mutate() を使って、date 列からそれぞれ同じ要素を持つ yearydaymonth の3つの新しい列を作成します。月は名前でラベル付けするのを忘れないでください。
  • x軸に yday、y軸に max_temp を取り、線を year ごとにグループ化したプロットを作成します。このプロットでは、各年が1本の線になり、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")
コードを編集して実行