This will change the week_start attribute of an aweek object and adjust the observations accordingly.

change_week_start(x, week_start = NULL, ...)

Arguments

x

a Date, POSIXt, character, or any data that can be easily converted to a date with as.POSIXlt().

week_start

a number indicating the start of the week based on the ISO 8601 standard from 1 to 7 where 1 = Monday OR an abbreviation of the weekdate in an English or current locale. Note: using a non-English locale may render your code non-portable. Unlike date2week(), this defaults to NULL, which will throw an error unless you supply a value.

...

arguments passed to as.POSIXlt(), unused in all other cases.

See also

get_week_start() for accessing the global and local week_start attribute, as.aweek(), which wraps this function.

Examples

# New Year's 2019 is the third day of the week starting on a Sunday s <- date2week(as.Date("2019-01-01"), week_start = "Sunday") s
#> <aweek start: Sunday> #> [1] "2019-W01-3"
# It's the second day of the week starting on a Monday m <- change_week_start(s, "Monday") m
#> <aweek start: Monday> #> [1] "2019-W01-2"
# When you compare the underlying dates, they are exactly the same identical(as.Date(s), as.Date(m))
#> [1] TRUE
# Since this will pass arguments to `date2week()`, you can modify other # aspects of the aweek object this way, but this is not advised. change_week_start(s, "Monday", floor_day = TRUE)
#> <aweek start: Monday> #> [1] "2019-W01"