linelist2sts: Convert individual case information based on dates into an...

Description Usage Arguments Details Value Note Author(s) See Also Examples

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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 data.frame containing the line list of cases.

dateCol

A character string stating the column name in linelist which contains the event occurence information (as a vector of Dates) which are to be temporally aggregated.

aggregate.by

Temporal aggregation level given as a string, see the by variable of the seq.Date function for further details.

dRange

A vector containing the minimum and maximum date for doing the aggregation. If not specified these dates are extracted automatically by taking range(D[,dateCol]) and adjust these according to aggregate.by (e.g. always first of a month).

epochInPeriodStr

strptime compatible format string to use for determining how a date is placed within the epoch. This is, e.g., used to move the dRange epochs to the beginning of the period. Example: In case of weekly aggregation the "%u" determines which day within the week (Monday is day 1) we have. See strptime for further details.

startYearFormat

strptime compatible format string to use for determining how the start entry of the sts object is generated. Usually the provided defaults are sufficient.

startEpochFormat

strptime compatible format string to use for determining how the start entry of the sts object is generated. Usually the provided defaults are sufficient.

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 internal formatDate function, which uses the strptime formatting strings (ISO8601 are made Windows compatible) as well as formatting of quarters using "%Q", "%OQ" and "%q".

Value

The function returns an object of class "sts". The freq slot might not be appropriate.

Note

Some of the strptime ISO 8601 formatting strings have problems on windows. Hence, the surveillance internal formatDate function is used.

Author(s)

Michael Höhle

See Also

See also seq.Date, strptime, isoWeekYear.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#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)

jimhester/surveillance documentation built on May 19, 2019, 10:33 a.m.