自定义 as.Date 中的年份在 R 中

问题描述

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

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

我得到的是:"2021-05-20"。所以 R 会自动将年份设置为当前年份。但我想自定义到 2019 年(预计输出"2019-05-20")。如何做到这一点?

解决方法

Date 涉及“年”、“月”和“日”。如果未指定其中之一,即“年份”,它将获取当前的“年份”。通过paste输入“年份”并指定四位数年份 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"