นอกจากนี้คุณยังสามารถบรรลุสิ่งนี้ด้วยparse_date_time
หรือfast_strptime
ฟังก์ชั่นจากlubridate
-package:
> parse_date_time(dates1, "ym")
[1] "2009-01-01 UTC" "2009-02-01 UTC" "2009-03-01 UTC"
> fast_strptime(dates1, "%Y-%m")
[1] "2009-01-01 UTC" "2009-02-01 UTC" "2009-03-01 UTC"
ความแตกต่างระหว่างสองสิ่งนี้คือparse_date_time
อนุญาตให้ใช้ข้อกำหนดรูปแบบรูปแบบ lubridate ในขณะที่fast_strptime
ต้องการข้อกำหนดรูปแบบเดียวกับstrptime
.
สำหรับการระบุเขตเวลาคุณสามารถใช้tz
-parameter:
> parse_date_time(dates1, "ym", tz = "CET")
[1] "2009-01-01 CET" "2009-02-01 CET" "2009-03-01 CET"
เมื่อคุณมีความผิดปกติในข้อมูลวัน - เวลาคุณสามารถใช้ - truncated
พารามิเตอร์เพื่อระบุจำนวนความผิดปกติที่อนุญาต:
> parse_date_time(dates2, "ymdHMS", truncated = 3)
[1] "2012-06-01 12:23:00 UTC" "2012-06-01 12:00:00 UTC" "2012-06-01 00:00:00 UTC"
ข้อมูลที่ใช้:
dates1 <- c("2009-01","2009-02","2009-03")
dates2 <- c("2012-06-01 12:23","2012-06-01 12",'2012-06-01")