Skip to content

Incidence version 1.6.0

Compare
Choose a tag to compare
@zkamvar zkamvar released this 05 Mar 17:11

The changes in this version are small, but the impact changes the behavior, so the minor version number is bumped. This updates first_date to NOT override standard = TRUE. This changes behavior because first_date used to automatically set standard = FALSE.

The change to having standard supersede first_date is more consistent with normal behavior and gives users more freedom in the end. Much thanks goes to @caijun for pointing this out and elaborating patiently.

To alert users to the change while minimizing annoyance, a one-time warning is now issued if standard is not specified with first_date. This can be explicitly turned off by setting an the incidence.warn.first_date option to FALSE (as described in the warning):

library("incidence")
d <- Sys.Date() + sample(-3:10, 10, replace = TRUE)
Sys.Date() - 10
#> [1] "2019-02-23"

If both standard and first_datespecified, no warning

incidence(d, interval = "week", first_date = Sys.Date() - 10, standard = TRUE)
#> <incidence object>
#> [10 cases from days 2019-02-18 to 2019-03-11]
#> [10 cases from ISO weeks 2019-W08 to 2019-W11]
#> 
#> $counts: matrix with 4 rows and 1 columns
#> $n: 10 cases in total
#> $dates: 4 dates marking the left-side of bins
#> $interval: 1 week
#> $timespan: 22 days
#> $cumulative: FALSE

warning issued if standard not specified

incidence(d, interval = "week", first_date = Sys.Date() - 10)
#> Warning in incidence.Date(d, interval = "week", first_date = Sys.Date() - : 
#> 
#> As of incidence version 1.6.0, the default behavior has been modified so that `first_date` no longer overrides `standard`. If you want to use Sys.Date() - 10 as the precise `first_date`, set `standard = FALSE`.
#> 
#> To remove this warning in the future,  explicitly set the `standard` argument OR use `options(incidence.warn.first_date = FALSE)`
#> <incidence object>
#> [10 cases from days 2019-02-18 to 2019-03-11]
#> [10 cases from ISO weeks 2019-W08 to 2019-W11]
#> 
#> $counts: matrix with 4 rows and 1 columns
#> $n: 10 cases in total
#> $dates: 4 dates marking the left-side of bins
#> $interval: 1 week
#> $timespan: 22 days
#> $cumulative: FALSE

no warning issued the second time around.

incidence(d, interval = "week", first_date = Sys.Date() - 10)
#> <incidence object>
#> [10 cases from days 2019-02-18 to 2019-03-11]
#> [10 cases from ISO weeks 2019-W08 to 2019-W11]
#> 
#> $counts: matrix with 4 rows and 1 columns
#> $n: 10 cases in total
#> $dates: 4 dates marking the left-side of bins
#> $interval: 1 week
#> $timespan: 22 days
#> $cumulative: FALSE

Created on 2019-03-05 by the reprex package (v0.2.1)

Full changes detailed below:


BEHAVIORAL CHANGE

  • incidence() will no longer allow a non-standard first_date to override
    standard = TRUE. The first call to incidence() specifying first_date
    without standard will issue a warning. To use non-standard first dates,
    specify standard = FALSE. To remove the warning, use
    options(incidence.warn.first_date = FALSE). See
    #87 for details.

MISC

  • citation("incidence") will now give the proper citation for our article in
    F1000 research and the global DOI for archived code. See
    https://github.com/reconhub/incidence/pulls/106
  • Tests have been updated to avoid randomisation errors on R 3.6.0
    See #107