在星期日作为一周的第一天开始 Weeknum

Start the Weeknum on Sunday as the first day of the week

2017年的最后一天(2017-12-31)正好是星期日,如果我把星期日作为我一周的开始日,那么一年的最后一周只有1天。现在,我希望 2016-01-01 到 2016-01-07 与第 53 周相关联,并在 2016-01-03 开始​​第 1 周,也就是星期日。

我有以下数据帧结构:

require(lubridate)
range <- seq(as.Date('2017-12-26'), by = 1, len = 10)
df <- data.frame(range)
ddf$WKN <- as.integer(format(df$range + 1, '%V'))
df$weekday <- weekdays(df$range)
df$weeknum <- wday(df$range)

这会给我这个:

df:
range      WKN   weekday   weeknum
2017-12-26  52   Tuesday       3
2017-12-27  52 Wednesday       4
2017-12-28  52  Thursday       5
2017-12-29  52    Friday       7
2017-12-30  52  Saturday       7
2017-12-31  01    Sunday       1
2018-01-01  01    Monday       2
2018-01-02  01   Tuesday       3
2018-01-03  01 Wednesday       4
2018-01-04  01  Thursday       5

我想要的是:

df:
range      WKN   weekday   weeknum
2017-12-26  52   Tuesday       3
2017-12-27  52 Wednesday       4
2017-12-28  52  Thursday       5
2017-12-29  52    Friday       7
2017-12-30  52  Saturday       7
2017-12-31  53    Sunday       1
2018-01-01  53    Monday       2
2018-01-02  53   Tuesday       3
2018-01-03  53 Wednesday       4
2018-01-04  53  Thursday       5
.
.
2018-01-07  01    Sunday       1

任何人都可以指出我正确的方向吗? @alistaire 在这里提供了解决方案 但我没有预见到这里的问题。

知道了。 对此稍作调整应该符合我的目的!

df$WKN <- as.integer(format(df$range, '%U'))