如何构建一年中的日期和日期

时间:2017-05-11 04:59:10

标签: r

鉴于以下数据。

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)

我想根据年份和日期列来构建日期。

3 个答案:

答案 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"