在 R 中格式化日期

在 R 中操作時間序列資料

Harrison Brown

Graduate Researcher in Geography

時間元素的順序

日、月、年的順序:

  • 美國:12/20/2022
  • 英國:20/12/2022
  • 大多數情況會有歧義:
    • 6/4/2010:是 6 月 4 日還是 4 月 6 日?

 

「時間元素」:

  • 日、月、年
  • 時、分、秒

在 R 中操作時間序列資料

ISO 8601

  • 時間元素依大小由大到小排列
    • 年 -> 月 -> 日 -> ...
    • 2022-06-04
    • 2022-06-04 = 2022 年 6 月 4 日
  • 元素以特定字元分隔
    • 日期元素之間用連字號(-
    • 2022-06-04
  • 提高可讀性與清晰度
    • 2022-06-04 vs. 20220604
在 R 中操作時間序列資料

日期與時間格式化

lubridate::parse_date_time()

earthday <- "April 22, 2022"

parse_date_time(earthday,
                orders = "%B %d, %Y")
[1] "2022-08-22 UTC"

使用 ?strptime 檢視轉換規格

常見轉換規格:

時間元素 轉換規格
年(YYYY %Y
年(yy %y
日(dd %d
月(mm %m
月(August) %B
月(Aug) %b
在 R 中操作時間序列資料

解析多種日期格式

dates_vector <- c("12/20/2022",
                  "2022-12-21",
                  "December 22, 2022")
dates_vector
[1] "12/20/2022"
[2] "2022-12-21"
[3] "December 22, 2022"
library(lubridate)
parse_date_time(
  dates_vector,
  orders = c("%m/%d/%Y",
             "%Y-%m-%d",
             "%B %d, %Y"))
[1] "2022-12-20 UTC"
[2] "2022-12-21 UTC"
[3] "2022-12-22 UTC"
在 R 中操作時間序列資料

一起來練習吧!

在 R 中操作時間序列資料

Preparing Video For Download...