開始使用免費開始

擷取以便過濾與摘要

擷取日期時間的組件還有另一個用途:協助過濾觀測值或建立摘要。例如,如果你只關心平日(也就是不含週末)的觀測,就可以先擷取星期幾,然後把週末過濾掉,例如:wday(date) %in% 2:6

在上一題你看到 1、2、3 月是造訪奧克蘭、享受高溫的好時機,不過你需要帶雨衣嗎?

這一題你就會找出答案!你會使用逐小時資料,計算每個月份白天有下雨的天數。

本練習屬於課程

在 R 中處理日期與時間

檢視課程

練習說明

  • datetime 建立觀測的時與月兩個新欄位。請確保月份有加上標籤。
  • 僅保留白天的觀測,條件為小時大於等於 8 且小於等於 22
  • 先以 month,再以 date 分組,並在 rainy 欄位上使用 any() 進行摘要。*這會得到每天一個值*
  • 再次摘要,對 any_rain 進行加總。*這會得到每個月一個值*

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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)
  )
編輯並執行程式碼