linelist2sts {surveillance} | R Documentation |
Convert Dates of Individual Case Reports into a Time Series of Counts
Description
The function is used to convert an individual line list of cases to an aggregated time series of counts based on event date information of the cases.
Usage
linelist2sts(linelist,dateCol,
aggregate.by=c("1 day", "1 week", "7 day", "1 week",
"1 month", "3 month", "1 year"),
dRange=NULL,
epochInPeriodStr=switch(aggregate.by, "1 day"="1",
"1 week"="%u", "1 month"="%d","3 month"="%q","1 year"="%j"),
startYearFormat=switch(aggregate.by,"1 day"="%Y",
"7 day"="%G", "1 week"="%G","1 month"="%Y","3 month"="%Y","1 year"="%Y"),
startEpochFormat=switch(aggregate.by,"1 day"="%j",
"7 day"="%V", "1 week"="%V", "1 month"="%m", "3 month"="%Q", "1 year"="1")
)
Arguments
linelist |
A |
dateCol |
A character string stating the column name in
|
aggregate.by |
Temporal aggregation level given as a string, see
the |
dRange |
A vector containing the minimum and maximum date
for doing the aggregation. If not specified these dates are
extracted automatically by taking |
epochInPeriodStr |
|
startYearFormat |
|
startEpochFormat |
|
Details
The date range is automatically extended such that the starting and
ending dates are always the first epoch within the period, i.e. for
aggregation by week it is moved to Mondays. This is controlled by the
epochInPeriodStr
parameter.
Please note that the formatting strings are implemented by the
formatDate
function, which uses strptime
formatting strings as well as
formatting of quarters via "%Q", "%OQ" and "%q".
Value
The function returns an object of class "sts"
.
The freq
slot might not be appropriate.
Author(s)
Michael Höhle
See Also
seq.Date
, strptime
, formatDate
Examples
#Load O104 outbreak data
data("husO104Hosp")
#Convert line list to an sts object
sts <- linelist2sts(husO104Hosp, dateCol="dHosp", aggregate.by="1 day")
#Check that the number of cases is correct
all.equal(sum(observed(sts)),nrow(husO104Hosp))
#Plot the result
plot(sts,xaxis.tickFreq=list("%d"=atChange,"%m"=atChange),
xaxis.labelFreq=list("%d"=at2ndChange),
xaxis.labelFormat="%d %b",
xlab="",las=2,cex.axis=0.8)