鉴于以下数据。
year <- rep(2016,3)
yday <- c(40, 100, 260)
date <- c('2016-02-09','2016-04-09','2016-09-16')
df <- data.frame(year=year, yday=yday, date=date)
我想根据年份和日期列来构建日期。
答案 0 :(得分:5)
请参阅?strptime
- 它列出了格式化日期的所有选项:
> as.Date(paste(yday,year), format="%j %Y")
#[1] "2016-02-09" "2016-04-09" "2016-09-16"
答案 1 :(得分:0)
使用lubridate你可以做
date <- as.POSIXct(paste0(year,"-01-01"))
yday(date) <- yday
date
# [1] "2016-02-09 CET" "2016-04-09 CEST" "2016-09-16 CEST"
答案 2 :(得分:0)
我们可以使用as.Date
生成year
的第一个日期,然后将yday
添加到其中
as.Date(paste0(df$year, "-01-01")) + df$yday - 1
#[1] "2016-02-09" "2016-04-09" "2016-09-16"