当使用 as.Date() 转换数值向量时,输入向量的数值顺序必须正确,否则将导致转换错误。
例如,在以下示例中,输入向量正确地以 “年-月-日” 的顺序排列。因此,日期正确地转换为 R 中的日期格式:
dates <- c("2021-09-01", "2021-09-02", "2021-09-03")
as.Date(dates)
然而,如果将输入向量的数值顺序更改为 “日-月-年”,将导致日期转换错误:
dates_wrong <- c("01-09-2021", "02-09-2021", "03-09-2021")
as.Date(dates_wrong)
为确保正确转换日期,请始终以“年-月-日”的顺序排列输入向量。如果无法更改输入向量的顺序,则可以使用 lubridate 包中的 dmy() 函数将输入向量转换为正确的日期格式,而无需手动更改输入向量的顺序:
library(lubridate)
dates_wrong <- c("01-09-2021", "02-09-2021", "03-09-2021")
dmy(dates_wrong)