始める無料で始める

抽出してフィルタリングと集計に使う

コンポーネントを抽出するもう一つの理由は、観測値のフィルタリングや集計の作成に役立てることです。たとえば、平日に行われた観測(つまり週末以外)だけに関心がある場合は、曜日を抽出してから週末を除外できます。例: 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)
  )
コードを編集して実行