我有一个数据集,其中包含从年初开始的周数(%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")
为什么这样做以及如何做到这一点?
答案 0 :(得分:12)
请改为尝试:
as.Date(paste("1", dat$week, dat$year, sep = "-"), format = "%w-%W-%Y")
一周和一年没有指定日期,因此您需要“天”,但您需要“星期几”或%w
,而不是“一天中的某一天”或%d
。在这种情况下,我使用星期一(即1)。此外,显然%w
不喜欢前导零。