Learn R Programming

epitools (version 0.5-2)

as.week: Convert dates object in 'disease week' for plotting epidemic curves

Description

Convert dates into "disease week" with values of 1 to 53 for plotting epidemic curves

Usage

as.week(x, format = "%Y-%m-%d", 
        min.date, max.date, before = 7, after = 7,
        origin = as.Date("1970-01-01"), sunday = TRUE)

Arguments

x
character vector of dates
format
date format of x; default is of form "2004-08-10"
min.date
[optional] minimum calendar date for plotting x-axis of an epidemic curve; should be of the form of "2004-08-10"; if no date is specified, then several days are subtracted from the minimum date in x as specified by the be
max.date
[optional] maximum calendar date for plotting x-axis of an epidemic curve plot; should be f the form of "2004-08-10"; if no date is specified, then several days are added to the maximum date in x as specified by the after
before
if min.date is not specified, then these number of days are subtracted from the minimum date in x for plotting minimum calendar date for epidemic curve
after
if max.date is not specified, then these number of days are added to the maximum date in x for plotting maximum calendar date for epidemic curve
origin
allows user to specify an alternative origin for Julian dates that are generated by this function (default = "1970-01-01")
sunday
First day of the week is Sunday (default = TRUE); setting to FALSE makes Monday the first day of the week

Value

  • Returns a list of the following:
  • $datesinput dates are converted to standard calendar date format
  • $firstdayfirst day of the week is reported
  • $weekweek of the year (1-53); note that week 52 or 53 can represent both last week of a year but also the first few days at the beginning of the year
  • $stratumthe Julian date for the mid-week day of the $week value
  • $stratum2the Julian date for the mid-week day of the $week value converted to a factor with levels determined by the Julian dates ($cstratum) used to plot the epidemic curve
  • $stratum3the mid-week day of the $week value converted to standard calendar dates
  • $cweekthe week of the year used for plotting the x-axis of an epidemic curve
  • $cstratumthe Julian date for the mid-week day of the $cweek value used for plotting the x-axis of an epidemic curve
  • $cstratum2the standard calendar date for the mid-week day of the $cweek value used for plotting the x-axis of an epidemic curve
  • $cmdaythe day of the mon (1-31) for the calendar dates used for plotting the x-axis of an epidemic curve
  • $cmonththe months (Jan, Feb, Mar, ...) for the calendar dates used for plotting the x-axis of an epidemic curve
  • $cyearthe years (e.g., 1996, 2001, ...) for the calendar dates used for plotting the x-axis of an epidemic curve

Details

In public health, reportable diseases are often reported by 'disease week' (either week of reporting or week of symptom onset). In R, weeks are numbered from 0 to 53 in the same year. The first day of week 1 starts with either the first Sunday or Monday of the year. Days before week 1 are numbered as 0s. In contrast to R, the as.week function generates weeks numbered from 1 to 53. The week before week 1 takes on the value (52 or 53) from the last week of the previous year. The as.week functions facilitates working with multiple years and generating epidemic curves.

References

none

See Also

epitools: as.month, epicurve.dates as.Date, strptime, DateTimeClasses

Examples

Run this code
dates <- c("1/1/04", "1/2/04", "1/3/04", "1/4/04", "1/5/04",
"1/6/04", "1/7/04", "1/8/04", "1/9/04", "1/10/04", NA, "1/12/04",
"1/14/04", "3/5/04", "5/5/04", "7/6/04", "8/18/04", "12/13/05",
"1/5/05", "4/6/05", "7/23/05", "10/3/05")
aw <- as.week(dates, format = "%m/%d/%y")
aw

aw2 <- as.week(dates, format = "%m/%d/%y", sunday= FALSE)
aw2

aw3 <- as.week(dates, format = "%m/%d/%y", min.date="2003-01-01")
aw3

Run the code above in your browser using DataLab