抽出してフィルタリングと集計に使う
コンポーネントを抽出するもう一つの理由は、観測値のフィルタリングや集計の作成に役立てることです。たとえば、平日に行われた観測(つまり週末以外)だけに関心がある場合は、曜日を抽出してから週末を除外できます。例: wday(date) %in% 2:6。
前の演習では、1月・2月・3月はオークランドを訪れると暖かい気温が期待できるとわかりましたが、レインコートは必要でしょうか?
この演習で確かめます。時間単位のデータを使って、各月に日中のどこかで雨が降った日が何日あったかを計算します。
この演習はコースの一部です
Rで扱う日付と時刻
演習の手順
datetimeから観測時刻の「時」と「月」を新しい列として作成します。月にはラベルを付けてください。- 日中の観測だけに絞り込みます。時が
8以上かつ22以下である行を残します。 - 観測をまず
month、次にdateでグループ化し、rainy列に対してany()を使って要約します。これにより1日につき1つの値になります - さらに
any_rainを合計して要約します。これにより1か月につき1つの値になります
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create new columns hour, month and rainy
akl_hourly <- akl_hourly %>%
mutate(
___ = ___(datetime),
___ = ___(datetime, ___),
rainy = weather == "Precipitation"
)
# Filter for hours between 8am and 10pm (inclusive)
akl_day <- akl_hourly %>%
filter(___, ___)
# Summarise for each date if there is any rain
rainy_days <- akl_day %>%
group_by(___, ___) %>%
summarise(
any_rain = ___(rainy)
)
# Summarise for each month, the number of days with rain
rainy_days %>%
summarise(
days_rainy = ___(any_rain)
)