如何将一年中的某一天和年份转换为标准日期格式

Bil*_*ill 2 r date

我有一个年日(1-365)和年份(例如:2012-2015)的列表。我如何转换此列表中的日期?

我尝试了 as.Date(x, origin = "2012-01-01") 但这只适用于 2013 年的第一年,它会在其他年份的第 1-365 天重复。

样本:

days <- c(262,263,264)
years <- c(2017,2017,2017)
Run Code Online (Sandbox Code Playgroud)

Edg*_*tos 5

您需要根据列表中的年份设置原点,例如:

library(lubridate)
df <- data.frame(dayyear = c(1, 100, 300, 1), year = c(2013,2013,2013, 2014))
df$origin <- as.Date(paste0(df$year, "-01-01"),tz = "UTC") - days(1)
as.Date(df$dayyear, origin = df$origin, tz = "UTC") 

[1] "2013-01-01" "2013-04-10" "2013-10-27" "2014-01-01"
Run Code Online (Sandbox Code Playgroud)