我有一个年日(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)
您需要根据列表中的年份设置原点,例如:
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)