as.week {epitools}R Documentation

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 before option

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 option

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

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.

Value

Returns a list of the following:

$dates

input dates are converted to standard calendar date format

$firstday

first day of the week is reported

$week

week 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

$stratum

the Julian date for the mid-week day of the $week value

$stratum2

the 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

$stratum3

the mid-week day of the $week value converted to standard calendar dates

$cweek

the week of the year used for plotting the x-axis of an epidemic curve

$cstratum

the Julian date for the mid-week day of the $cweek value used for plotting the x-axis of an epidemic curve

$cstratum2

the standard calendar date for the mid-week day of the $cweek value used for plotting the x-axis of an epidemic curve

$cmday

the day of the mon (1-31) for the calendar dates used for plotting the x-axis of an epidemic curve

$cmonth

the months (Jan, Feb, Mar, ...) for the calendar dates used for plotting the x-axis of an epidemic curve

$cyear

the years (e.g., 1996, 2001, ...) for the calendar dates used for plotting the x-axis of an epidemic curve

Author(s)

Tomas Aragon, aragon@berkeley.edu, http://www.phdata.science

References

none

See Also

epitools: as.month, epicurve.dates

as.Date, strptime, DateTimeClasses

Examples

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


[Package epitools version 0.5-10.1 Index]