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

Posted

技术标签:

【中文标题】将一年中的几周转换为日期【英文标题】:Converting weeks of year to dates 【发布时间】:2012-09-28 23:58:10 【问题描述】:

我有一个数据集,其中包含从年初开始的周数 (%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】:

试试这个:

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

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

【讨论】:

以上是关于将一年中的几周转换为日期的主要内容,如果未能解决你的问题,请参考以下文章