as.week {epitools} | R Documentation |
Convert dates into "disease week" with values of 1 to 53 for plotting epidemic curves
as.week(x, format = "%Y-%m-%d", min.date, max.date, before = 7, after = 7, origin = as.Date("1970-01-01"), sunday = TRUE)
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 |
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.
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 |
Visit http://www.epitools.net for the latest.
Tomas Aragon, aragon@berkeley.edu, http://www.medepi.com
none
epitools: as.month
, epicurve.dates
as.Date
, strptime
,
DateTimeClasses
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