Calculate incidence of new reports from cumulative reports
Source:R/data-converters.R
enw_add_incidence.Rd
Calculate incidence of new reports from cumulative reports
Arguments
- obs
A
data.frame
containing at least the following variables:reference date
(index date of interest),report_date
(report date for observations), andconfirm
(cumulative observations by reference and report date).- set_negatives_to_zero
Logical, defaults to TRUE. Should negative counts (for calculated incidence of observations) be set to zero? Currently downstream modelling does not support negative counts and so setting must be TRUE if intending to use
epinowcast()
.- by
A character vector describing the stratification of observations. This defaults to no grouping. This should be used when modelling multiple time series in order to identify them for downstream modelling
- copy
Should
obs
be copied (default) or modified in place?
Value
The input data.frame
with a new variable new_confirm
. If
max_confirm
is present in the data.frame
, then the proportion
reported on each day (prop_reported
) will also be added.
See also
Data converters
enw_add_cumulative()
,
enw_aggregate_cumulative()
,
enw_cumulative_to_incidence()
,
enw_incidence_to_cumulative()
,
enw_incidence_to_linelist()
,
enw_linelist_to_incidence()
Examples
# Default reconstruct incidence
dt <- germany_covid19_hosp[location == "DE"][age_group == "00+"]
enw_add_incidence(dt)
#> Key: <reference_date, report_date>
#> reference_date location age_group confirm report_date new_confirm delay
#> <IDat> <fctr> <fctr> <int> <IDat> <int> <int>
#> 1: 2021-04-06 DE 00+ 149 2021-04-06 149 0
#> 2: 2021-04-06 DE 00+ 289 2021-04-07 140 1
#> 3: 2021-04-06 DE 00+ 350 2021-04-08 61 2
#> 4: 2021-04-06 DE 00+ 402 2021-04-09 52 3
#> 5: 2021-04-06 DE 00+ 438 2021-04-10 36 4
#> ---
#> 12911: 2021-10-18 DE 00+ 113 2021-10-19 70 1
#> 12912: 2021-10-18 DE 00+ 142 2021-10-20 29 2
#> 12913: 2021-10-19 DE 00+ 223 2021-10-19 223 0
#> 12914: 2021-10-19 DE 00+ 387 2021-10-20 164 1
#> 12915: 2021-10-20 DE 00+ 235 2021-10-20 235 0
# Make use of maximum reported to calculate empirical daily reporting
dt <- enw_add_max_reported(dt)
enw_add_incidence(dt)
#> Key: <reference_date, report_date>
#> reference_date report_date .group max_confirm location age_group confirm
#> <IDat> <IDat> <num> <int> <fctr> <fctr> <int>
#> 1: 2021-04-06 2021-04-06 1 708 DE 00+ 149
#> 2: 2021-04-06 2021-04-07 1 708 DE 00+ 289
#> 3: 2021-04-06 2021-04-08 1 708 DE 00+ 350
#> 4: 2021-04-06 2021-04-09 1 708 DE 00+ 402
#> 5: 2021-04-06 2021-04-10 1 708 DE 00+ 438
#> ---
#> 12911: 2021-10-18 2021-10-19 1 142 DE 00+ 113
#> 12912: 2021-10-18 2021-10-20 1 142 DE 00+ 142
#> 12913: 2021-10-19 2021-10-19 1 387 DE 00+ 223
#> 12914: 2021-10-19 2021-10-20 1 387 DE 00+ 387
#> 12915: 2021-10-20 2021-10-20 1 235 DE 00+ 235
#> cum_prop_reported new_confirm delay prop_reported
#> <num> <int> <int> <num>
#> 1: 0.2104520 149 0 0.21045198
#> 2: 0.4081921 140 1 0.19774011
#> 3: 0.4943503 61 2 0.08615819
#> 4: 0.5677966 52 3 0.07344633
#> 5: 0.6186441 36 4 0.05084746
#> ---
#> 12911: 0.7957746 70 1 0.49295775
#> 12912: 1.0000000 29 2 0.20422535
#> 12913: 0.5762274 223 0 0.57622739
#> 12914: 1.0000000 164 1 0.42377261
#> 12915: 1.0000000 235 0 1.00000000