将一周中的几周转换为日期

时间:2012-10-08 17:38:12

标签: r date type-conversion

我有一个数据集,其中包含从年初开始的周数(%W),我想将其转换为日期,以便在x轴上使用日期绘制它

dat <- structure(data.frame(week = c(22, 34, 15), year = c(2009, 2009, 2010), x = c(3.4, 5.2, 1.3)))

我尝试在此基于earlier questions转换周数,但最终每个日期获得"YYYY-10-01"

as.Date(paste("01", dat$week, dat$year, sep = "-"), format = "%d-%W-%Y")

为什么这样做以及如何做到这一点?

1 个答案:

答案 0 :(得分:12)

请改为尝试:

as.Date(paste("1", dat$week, dat$year, sep = "-"), format = "%w-%W-%Y")

一周和一年没有指定日期,因此您需要“天”,但您需要“星期几”或%w,而不是“一天中的某一天”或%d。在这种情况下,我使用星期一(即1)。此外,显然%w不喜欢前导零。