R:获取工作周编号,而不是自 1 月 1 日起的 7 天时间段
R: Get workweek number, not seven day periods since Jan 1st
您好,我正在查看几年内与商品价格有关的数据。我想按工作周汇总价格,而不是自 1 月 1 日起按 7 天定义的周数。当我尝试时:
data <- mutate(data, week = week(strptime(Date, "%m/%d/%Y")))
lubridate week() 函数将“1/13/10”(mdy) 计为第 2 周,将“1/14/10”计为第 3 周。我希望它们在同一周。基本上同一周周一至周五的任何 运行。如果这一年从星期三开始,我希望第 1 周是周三-周五,第 2 周是下周一开始。我没有任何周末的数据。有什么想法吗?谢谢
假设日期列为日期格式,这将为您提供周数(您可以使用 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')
您好,我正在查看几年内与商品价格有关的数据。我想按工作周汇总价格,而不是自 1 月 1 日起按 7 天定义的周数。当我尝试时:
data <- mutate(data, week = week(strptime(Date, "%m/%d/%Y")))
lubridate week() 函数将“1/13/10”(mdy) 计为第 2 周,将“1/14/10”计为第 3 周。我希望它们在同一周。基本上同一周周一至周五的任何 运行。如果这一年从星期三开始,我希望第 1 周是周三-周五,第 2 周是下周一开始。我没有任何周末的数据。有什么想法吗?谢谢
假设日期列为日期格式,这将为您提供周数(您可以使用 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')