可以擷取哪些資訊?
就像你在影片中看到的,lubridate 提供與元件同名的函式,可以從 datetime 擷取各部分,例如 year()、month()、day()、hour()、minute() 和 second()。用法都一樣,只要傳入一個 datetime 或 datetime 向量即可。
還有一些實用的函式會回傳 datetime 的其他面向,例如是否在早上 am()、是否為日光節約時間 dst()、是否為 leap_year(),或是發生在第幾 quarter()、semester()。
用第 1 章的資料來探索各版本 R 的發布時間,實際試試看吧。
本練習屬於課程
在 R 中處理日期與時間
練習說明
我們已把第 1 章 releases 資料集中的 datetime 欄位 release_time 放到你的工作區。
- 檢視
release_time的head(),確認它是 datetime 向量。 - 從
release_time擷取月份,並用head()看前幾個值。 - 想知道哪些月份的發布最多,先擷取月份,再用管線傳給
table()。 - 以同樣方式重複,查看哪些年份的發布最多。
- 發布是否發生在早上(UTC)?判斷發布的小時是否小於
12,再用mean()彙整。 - 或者使用
am(),查看發布在早上的比例有多高。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Examine the head() of release_time
head(___)
# Examine the head() of the months of release_time
head(___(release_time))
# Extract the month of releases
___(release_time) %>% table()
# Extract the year of releases
___(release_time) %>% table()
# How often is the hour before 12 (noon)?
mean(___(release_time) < ___)
# How often is the release in am?
mean(___(release_time))