8

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

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

我尝试根据此处较早的问题转换周数,但最终得到"YYYY-10-01"每个日期。

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

为什么会这样,如何才能做到正确?

4

1 回答 1

12

试试这个:

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

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

于 2012-10-08T17:55:14.843 回答