建立與格式化日期
在 R 中,若要從簡單的字元字串建立一個 Date 物件,可以使用 as.Date() 函式。字元字串必須符合一組以符號定義的格式(以下範例對應到 1982 年 1 月 13 日):
%Y:4 位數年份(1982)%y:2 位數年份(82)%m:2 位數月份(01)%d:2 位數日期(13)%A:星期幾(Wednesday)%a:星期幾縮寫(Wed)%B:月份(January)%b:月份縮寫(Jan)
以下這些 R 指令都會建立相同的 Date 物件,代表 1982 年 1 月 13 日:
as.Date("1982-01-13")
as.Date("Jan-13-82", format = "%b-%d-%y")
as.Date("13 January, 1982", format = "%d %B, %Y")
請注意,第一行不需要提供 format 參數,因為 R 會預設把你的字元字串對應到 "%Y-%m-%d" 或 "%Y/%m/%d" 這兩種格式。
除了建立日期之外,你也可以把日期轉成採用不同表示法的字元字串。為此可使用 format() 函式。試著執行以下程式碼:
today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Today is a %A!")
本練習屬於課程
R 中級
練習說明
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Definition of character strings representing dates
str1 <- "May 23, '96"
str2 <- "2012-03-15"
str3 <- "30/January/2006"
# Convert the strings to dates: date1, date2, date3
date1 <- as.Date(str1, format = "%b %d, '%y")
# Convert dates to formatted strings
format(date1, "%A")