Skip to contents

incidence2 (development version)

  • Experimental: When calling incidence() if users specify an integer(ish) interval on an (integerish) date input these inputs will be coerced in to grates_int_period objects. This fixes https://github.com/reconverse/incidence2/issues/121 and (broadly) restores earlier behaviour of the incidence() function. This functionality is subject to change and, for that reason, is not widely documented.

    library(incidence2)
    x <- data.frame(onset = c(1, 3, 4, 4, 3, 4, 10))
    
    # 2.5.0 release would error, e.g.
    incidence(x, "onset", interval = 1)
    #> Error in as_period.default(): Not implemented for class [numeric].
    
    # This release - now works
    incidence(x, "onset", interval = 1)
    #> # incidence:  4 x 3
    #> # count vars: onset
    #>   date_index count_variable count
    #>   <intper>   <chr>          <int>
    #> 1 1          onset              1
    #> 2 3          onset              2
    #> 3 4          onset              3
    #> 4 10         onset              1

incidence2 2.5.0

CRAN release: 2024-10-06

  • When the incidence2 class is dropped during an operation we now return a tibble instead of a data frame. This is a breaking change due to tibble / data frame difference but should have been made as part of the 2.3.0 release where the underlying class changed from a simple data frame to a tibble. Thanks to @avallecam for the report (#120).

incidence2 2.4.0

CRAN release: 2024-09-02

incidence2 2.3.1

CRAN release: 2024-05-31

  • Temporarily remove the ympes dependency due to up stream changes.

  • No other user facing changes.

incidence2 2.3.0

CRAN release: 2024-05-23

New functions / features

Breaking changes

  • All of the aforementioned new methods would previously have dispatched on the underlying data.frame method. If you were relying on this behaviour then you will now need to add a call to as.data.frame() prior to continuing your pipeline.

  • incidence2 objects are now built upon tibbles rather than standard data frames. This means where we do not provide methods for incidence2 objects tibble (as opposed to data.frame) methods will be called. An overview of the differences between tibbles and data.frames can be found at https://tibble.tidyverse.org/articles/invariants.html.

  • incidence() now warns if a count variable contains missing values and encourages users to handle these prior to calling incidence().

  • The Package now has a hard dependency on the R version (>= 4.1.0).

incidence2 2.2.3

CRAN release: 2023-12-05

Bug fixes

  • plot.incidence2() now works again when applied to incidence2 objects with a grates_period date_index. This was inadvertently broken in the 2.2.1 release. Thanks to @Bisaloo for the report (#110).

incidence2 2.2.1

CRAN release: 2023-06-13

New features

incidence2 2.1.0

CRAN release: 2023-05-30

New features

  • Specifying interval = "day" or interval = daily in a call to incidence will force the resultant date_index variable to be a Date. Functionally this is a wrapper around as.Date() that ensures the underlying data are whole numbers and that time zones are respected.

(minor) breaking changes

  • incidence() will now warn if objects are created with POSIXct columns. The motivation for this is that, internally, POSIXct objects are represented as seconds since the UNIX epoch and, in our experience, this level of granularity is not normally desired for aggregation.

  • The by parameter of complete_dates() is now defunct. This was previously passed to an underlying seq function when, in practice, it should always have been forced to 1 to match the precision of the underlying date_index.

  • complete_dates() will now error if called on an input with a date_index. Users must now explicitly set the argument allow_POSIXct = TRUE to maintain old behaviour.

incidence2 2.0.0

CRAN release: 2023-03-17

Version 2.0.0 is a major, breaking release of incidence2. We have undertaken a significant refactor that both simplifies the underlying code base and makes the user interface more consistent and robust. Although the main changes are highlighted below, users are strongly advised to read through the accompanying documentation and vignettes.

breaking changes

  • We no longer support NSE (e.g. tidyselect semantics) within the package. Our motivation for removing support for NSE are both the complexity it can bring to the underlying code (making long term maintenance harder) and the complexity it can cause for other users / developers who want to build on top of incidence2.

  • new_incidence(), validate_incidence(), build_incidence(), get_n(), get_interval(), get_timespan() and facet_plot() are now defunct and will error if called.

  • complete_counts() is now renamed complete_dates() and gains two new parameters, expand and by. If expand is TRUE (default) then complete_dates() will attempt to use function(x) seq(min(x), max(x), by = by) to generate a complete sequence of dates.

  • The incidence() function now always returns output in long format with dedicated columns for the count variables and values (set by arguments count_names_to and count_values_to).

  • incidence() is now less flexible in what it can accept for the interval argument. For more complex date groupings users are encouraged to perform their require data transformations prior to calling incidence().

  • The default plotting of incidence objects as been greatly simplified. Sensible defaults have been chosen to enable a quick visual overview of incidence objects but users are advised to call ggplot2 directly for more bespoke plotting.

incidence2 1.2.3

CRAN release: 2021-11-07

New functions

  • Reintroduces the cumulate() functionality (previously deprecated in 1.2.0).

Breaking changes

  • Default fill argument in complete_counts() is now 0 rather than NA.

incidence2 1.2.2

CRAN release: 2021-08-23

Bug fixes

  • Fixes bug when input object to incidence is a data.table.

incidence2 1.2.1

CRAN release: 2021-07-14

Bug fixes

  • Fixes bug in incidence() when more than one column was given for the date_index.
  • Fixes incorrect test that did not take in to account changing time zones.

incidence2 1.2.0

CRAN release: 2021-07-07

New functions

  • new_incidence(): A minimal incidence constructor.
  • validate_incidence(): Check for internal consistency of incidence-like object.
  • build_incidence(): Allows you to construct an incidence object whilst specifying your own date grouping function.
  • format.incidence()

Deprecated functions

  • cumulate() will now give a deprecation error. We have removed the function to avoid users erroneously regressing against a cumulative count.

Bug fixes

  • Fixes bug in incidence() when dates were a character vector and the the default, daily, interval was specified.

Other updates

  • Now uses dplyr to handle list based columns (e.g. record-type objects from vctrs). For data.frames with only atomic columns, data.table is still used.
  • Printing and summaries of incidence objects have been improved to remove duplication in the overview section.

incidence2 1.1.0

  • New function complete_counts().
  • plot() and facet_plot() now have a centre_dates argument which can be set to FALSE to get histogram-esque date labels for single month, quarter and yearweek groupings.
  • Internal refactoring due to breakages changes in the upstream grates package.

incidence2 1.0.0

CRAN release: 2021-03-30

Due to multiple changes in the underlying representation of incidence2 objects this release may possibly break old workflows particularly those relying on the old implementations of date grouping:

  • Now uses the package grates for date grouping. This introduces the s3 classes yrwk, yrmon, yrqtr, yr, period and int_period as well as associated constructors which incidence now builds upon. As a result of this the aweek dependency has been dropped.
  • Add’s keep_first and keep_last functions.
  • Construction of incidence objects now faster due to underlying use of data.table.

incidence2 0.2.2

CRAN release: 2020-11-12

  • Fixes bug in get_interval.
  • Removes message that was displayed when incidence class dropped.
  • Refactoring of internal code to improve maintainability.
  • Tests now use the 3rd edition of testthat.

incidence2 0.2.1

CRAN release: 2020-10-16

  • Fixes bug in as.data.frame.incidence2
  • Limits internal reliance on dplyr.

incidence2 0.2.0

CRAN release: 2020-09-22

  • Fixes issue with monthly incidence objects when show_cases = TRUE (see #42).
  • Additional checks added for assessing whether a manipulated incidence object maintains its class.
  • Improved implementation speed.
  • NA’s now ignored in the count variable of a pre-aggregated input to incidence function.
  • Fixes axis labelling and spacing.

incidence2 0.1.0

CRAN release: 2020-09-07

  • Initial release.