Skip to content

Releases: reconverse/incidence2

v2.6.0

22 Nov 10:47
v2.6.0
1b03212
Compare
Choose a tag to compare

Experimental feature added:
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 #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

v2.5.0

06 Oct 20:09
v2.5.0
bb426a0
Compare
Choose a tag to compare

Minor release with one small change to behaviour:

  • 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 differences. It should have been made as part of the 2.3.0 release, where the underlying class of incidence2 objects changed from a simple data frame to a tibble. Thanks to @avallecam for the report (#120).

v2.4.0

02 Sep 11:58
v2.4.0
48663d1
Compare
Choose a tag to compare
  • incidence() gains a fill parameter. This is passed to complete_dates()
    so is only valid when the argument complete_dates = TRUE.

  • For convenience we now reexport select() from
    dplyr as well as
    unnest() and unpack() from tidyr.

  • Alt text has been added to all vignette images.

  • Improved input checking for keep_first() and keep_last().

v2.3.1

31 May 09:31
v2.3.1
3ea0abd
Compare
Choose a tag to compare
  • Temporarily remove the ympes dependency due to up stream changes.
  • No other user facing changes.

Incidence release v2.3.0

23 May 15:02
v2.3.0
8c5d3f5
Compare
Choose a tag to compare

New functions / features:

  • The bootstrap_incidence(), estimate_peak() and first_peak() functions have been integrated from the downstream i2extras package.

  • Added group-aware methods for common generics in base R, dplyr and tidyr:

    • split.incidence2()
    • mutate.incidence2()
    • summarise.incidence2()
    • nest.incidence2()
  • Added coercion methods for tibble and data.table:

    • as_tibble.incidence2()
    • as.data.table.incidence2()
  • New methods, $<-.incidence2 and rbind.incidence2, that drop the incidence2 class if the required invariants are broken.

  • New functions incidence_() and regroup_() that work similar to their existing namesakes save for additional support for
    tidy-select semantics in some of their arguments.

  • Named vectors can now be used for the groups and counts arguments of incidence() to allow renaming prior to aggregation. Previously this was only possible with the date_index input.

  • incidence() gains a complete_dates argument defaulting to FALSE. If set this is equivalent of a call to incidence() followed by a call to complete_dates() with the default arguments. Users wanting more flexibility can still call the complete_dates() function with different arguments.

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

05 Dec 13:37
Compare
Choose a tag to compare

Bug fixes

  • plot.incidence2() now works again when applied to 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

13 Jun 08:46
Compare
Choose a tag to compare

New features

  • plot.incidence2() gains arguments n_breaks, fill, show_cases and legend allowing for a wider range of plot styles. See vignette("incidence2", package = "incidence2") for examples.

incidence2 2.1.0

31 May 07:35
Compare
Choose a tag to compare

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, 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

17 Mar 15:08
Compare
Choose a tag to compare

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.2

23 Aug 14:02
Compare
Choose a tag to compare

Bug fixes

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