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 |
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
|
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
|
before |
if |
after |
if |
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 |
$stratum2 |
the Julian date for the mid-week day of the |
$stratum3 |
the mid-week day of the |
$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 |
$cstratum2 |
the standard calendar date for the mid-week day of the |
$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