在 as.Date 中自定义年份(在 R 中)

Customize the year in as.Date (in R)

我有一些只有月份和日期的日期(字符串),例如“20-May”。我正在使用 as.Date 将其转换为日期对象:

as.Date("20-May", format = "%d-%b")

我得到的是:"2021-05-20"。因此 R 自动将年份设置为当前年份。但我想将年份自定义为 2019(预计输出为 "2019-05-20")。怎么做?

一个Date涉及'year'、'month'和'day'。如果其中之一未指定,即 'year',它将获取当前的 'year'。通过 pasteing 'year' 并指定四位数年份 format (%Y)

来避免这种情况
as.Date(paste0("20-May", "-2019"), format = "%d-%b-%Y")
#[1] "2019-05-20"

或者另一种选择是通过分配

来更改 year
library(lubridate)
date1 <- as.Date("20-May", format = "%d-%b")
year(date1) <- 2019
date1
#[1] "2019-05-20"