将一年中的几周转换为日期
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
不喜欢前导零。
【讨论】:
以上是关于将一年中的几周转换为日期的主要内容,如果未能解决你的问题,请参考以下文章
将一年中的某一天转换为某些日期格式具有 DDYYYY 并且某些日期格式具有 DDDYYYY 在 oracle 中的日期