R:获取工作周数,而不是自1月1日起的7天

时间:2015-12-31 20:40:40

标签: r date strptime date-conversion lubridate

您好,我正在查看几年内商品价格的数据。我想按工作周总结价格,而不是自1月1日以来七天所定义的周数。我试过的时候:

data <- mutate(data, week = week(strptime(Date, "%m/%d/%Y")))

rubridate week()函数计数&#34; 1/13/10&#34; (mdy)第2周和&#34; 1/14/10&#34;作为第3周。我希望那些在同一周。基本上在同一周内任何一个星期一的运行。如果年份从周三开始,我希望第1周是星期三,第2周开始下一个星期一。我没有任何周末的数据。有什么想法吗?感谢

1 个答案:

答案 0 :(得分:3)

假设日期列为日期格式(您可以使用as.Date()进行转换),这将为您提供周数:

data <- mutate(data, week = format(Date, '%U'))

如果您想要周和年,可以使用:

data <- mutate(data, week = format(Date, '%Y-%U'))

它将正确编号部分周。

注意:周数以00开头(但是,这应该没问题)。

你也可以在没有dplyr的情况下这样做,并且它是变异的,就像这样:

data$week <- format(data$Date, '%U')