plot.incidence()
now reverts to the previous behaviour of plotting ticks on either side of the interval as opposed to centering within the interval.plot.incidence()
introduced with new release of ggplot2 (bug report) As a temporary fix, dates are now centered within the interval instead of to the left of the interval.seq.Date()
can handle (e.g. “5 weeks”) can be handled by incidence()
(see https://github.com/reconhub/incidence/issues/67)$weeks
is now added to the incidence object, which contains an “aweek” classmake_breaks()
will automatically calculate breaks from an incidence object for plotting.scale_x_incidence()
will produce a ggplot2 “ScaleContinuous” object to add to a ggplot.plot.incidence()
argument labels_iso
is deprecated in favor of labels_week
$isoweeks
if the weeks are ISO 8601 standard, but users should rely intead on $weeks
instead. The $isoweeks
element will be removed in a future version of incidence.as.incidence()
argument isoweeks
has been deprecated in favour of standard
incidence()
will no longer allow a non-standard first_date
to override standard = TRUE. The first call to
incidence()specifying
first_datewithout
standardwill issue a warning. To use non-standard first dates, specify
standard = FALSE. To remove the warning, use
options(incidence.warn.first_date = FALSE)`. See https://github.com/reconhub/incidence/issues/87 for details.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/106incidence()
now returns an error when supplied a character vector that is not formatted as (yyyy-mm-dd). (See https://github.com/reconhub/incidence/issues/88)fit()
now returns correct coefficients when dates is POSIXt by converting to Date. (See https://github.com/reconhub/incidence/issues/91)plot.incidence()
now plots in UTC by default for POSIXt incidence objects. this prevents a bug where different time zones would cause a shift in the bars (See https://github.com/reconhub/incidence/issues/99).first_date
and last_date
parameters.plot.incidence()
will now respect single groups. (See https://github.com/reconhub/incidence/issues/84)as.data.frame.incidence()
will now respect single groups. (See https://github.com/reconhub/incidence/issues/84)demo("incidence-demo" package = "incidence")
has been updated to show use of custom colors.print.incidence()
will now print isoweeks even if the $interval
element is “week”.subset.incidence()
will now give a more informative error message when the user specifies a group that does not exist.demo('incidence-demo', package = 'incidence')
now shows plotting with show_cases = TRUE
.incidence.max.days
optionplot.incidence()
, incidence()
, and as.data.frame.incidence()
For details, see https://github.com/reconhub/incidence/issues/79group_names()
allows the user to retrieve and set the group names.get_timespan()
returns the $timespan
element.get_n()
returns the $n
element.dim()
, nrow()
, and ncol()
are now available for incidence objects, returning the dimensions of the number of bins and the number of groups.plot()
called show_cases
has been added to draw borders around individual cases for EPIET-style curves. See https://github.com/reconhub/incidence/pull/72 for details.estimate_peak()
no longer fails with integer datesincidence()
no longer fails when providing both group information and a first_date
or last_date
parameter that is inside the bounds of the observed dates. Thanks to @mfaber for reporting this bug. See https://github.com/reconhub/incidence/issues/70 for details.internal_checks.R
file has been split into the relative components.$lm
field of the incidence_fit
class is now named $model
to clearly indicate that this can contain any model.incidence()
will now accept text-based intervals that are valid date intervals: day, week, month, quarter, and year.
incidence()
now verifies that all user-supplied arguments are accurate and spelled correctly.
fit_optim_split()
now gains a separate_split
argument that will determine the optimal split separately for groups.
A new class, incidence_fit_list
, has been implemented to store and summarise incidence_fit
objects within a nested list. This is the class returned by in the $fit
element of fit_optim_split()
.
bootstrap()
will bootstrap epicurves stored as incidence
objects.
find_peak()
identifies the peak date of an incidence
objects.
estimate_peak()
uses bootstrap to estimate the peak time of a partially observed outbreak.
get_interval()
will return the numeric interval or several intervals in the case of intervals that can’t be represented in a fixed number of days (e.g. months).
get_dates()
returns the dates or counts of days on the right, center, or left of the interval.
get_counts()
returns the matrix of case counts for each date.
get_fit()
returns a list of incidence_fit
objects from an incidence_fit_list
object.
get_info()
returns information stored in the $info
element of an incidence_fit
/incidence_fit_list
object.
incidence_fit_class
instructs the user on how incidence_fit
and incidence_fit_list
objects are created and accessed.incidence()
function, the iso_week
parameter is deprecated in favor of standard
for a more general way of indicating that the interval should start at the beginning of a valid date timeframe.The $timespan
item in the incidence object from Dates was not type-stable and would change if subsetted. A re-working of the incidence constructor fixed this issue.
Misspelled or unrecgonized parameters passed to incidence()
will now cause an error instead of being silently ignored.
Plotting for POSIXct data has been fixed.
incidence
object to avoid conflicts with additional geoms such as geom_ribbon
, now used in projections::add_projections
.ggplot2
the argument n_breaks
has been added to plot.incidence
, to specify the ideal number of breaks for the date legends; will work with ggplot2 > 2.2.1
added the internal function make_iso_weeks_breaks
to generate dates and labels for date x-axis legends using ISO weeks
added a function add_incidence_fit
, which can be used for adding fits to epicurves in a piping-friendly way
added a function cumulate
, which computes cumulative incidence and returns an incidence
object
new generic as.incidence, to create incidence objects from already computed incidences. Methods for: matrix, data.frame, numeric vectors
better processing of input dates, including: automatic conversion from characters, issuing errors for factors, and silently converting numeric vectors which are essentially integers (issuing a warning otherwise)
new vignette on conversions to and from incidence objects
new tests
fixed issues caused by variables which changed names in some datasets of the outbreaks package, used in the documentation
disabled by default the isoweeks in incidence
; this part of the code will break with changes made in the devel version of ggplot2, which is now required by plotly
it is now possible to subset an incidence object based on Date
dates using numeric values, which are interpreted as number of intervals since the first date (origin = 1)
NAs are no longer removed from the input dates, as it would cause mismatches with grouping factors.
ebola.sim
-> ebola_sim
and ebola.sim.clean
-> ebola_sim_clean
add an argument iso_week
to incidence.Date() and incidence.POSIXt() to support ISO week-based incidence when computing weekly incidence.
add an argument labels_iso_week
to plot.incidence() to label x axis tick marks with ISO weeks when plotting ISO week-based weekly incidence.
The README.Rmd / README.md now contains information about various websites for incidence as well as guidelines for posting questions on the RECON forum.
incidence now has a dedicated website https://www.repidemicsconsortium.org/incidence/ generated with pkgdown
First release of the incidence package on CRAN!