get_aweek | R Documentation |
These are vectorized functions that take integer vectors and return Date or an aweek objects, making it easier to convert bare weeks to dates.
get_aweek( week = 1L, year = format(Sys.Date(), "%Y"), day = 1L, start = week_start, week_start = get_week_start(), ... ) get_date( week = 1L, year = format(Sys.Date(), "%Y"), day = 1L, start = get_week_start() )
week |
an integer vector, defaults to 1, representing the first week of the year. |
year |
an integer vector, defaults to the current year |
day |
an integer vector, defaults to 1, representing the first day of the first week of the year. |
start |
an integer (or character) vector of days that the weeks
start on for each corresponding week. Defaults to the value of
|
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. Defaults to the value of
|
... |
parameters passed on to |
get_aweek(): an aweek object
get_date(): a Date object
Any missing weeks, years, or start elements will result in a missing element in the resulting vector. Any missing days will revert to the first day of the week.
as.aweek()
date2week()
week2date()
# The default results in the first week of the year using the default # default week_start (from get_week_start()) get_aweek() get_date() # this is equivalent to as.Date(get_week()), but faster # Some years, like 2015, have 53 weeks get_aweek(53, 2015) # If you specify 53 weeks for a year that doesn't have 53 weeks, aweek will # happily correct it for you get_aweek(53, 2014) # this will be 2015-W01-1 # you can use this to quickly make a week without worrying about formatting # here, you can define an observation interval of 20 weeks obs_start <- get_date(week = 10, year = 2018) obs_end <- get_date(week = 29, year = 2018, day = 7) c(obs_start, obs_end) # If you have a data frame of weeks, you can use it to convert easily mat <- matrix(c( 2019, 11, 1, 7, # 2019-03-10 2019, 11, 2, 7, 2019, 11, 3, 7, 2019, 11, 4, 7, 2019, 11, 5, 7, 2019, 11, 6, 7, 2019, 11, 7, 7 ), ncol = 4, byrow = TRUE) colnames(mat) <- c("year", "week", "day", "start") m <- as.data.frame(mat) m sun <- with(m, get_date(week, year, day, start)) sun as.aweek(sun) # convert to aweek starting on the global week_start as.aweek(sun, week_start = "Sunday") # convert to aweek starting on Sunday # You can also change starts mon <- with(m, get_aweek(week, year, day, "Monday", week_start = "Monday")) mon as.Date(mon) # If you use multiple week starts, it will convert to date and then to # the correct week, so it won't appear to match up with the original # data frame. sft <- with(m, get_aweek(week, year, day, 7:1, week_start = "Sunday")) sft as.Date(sft)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.