ssdtools 2.0.0

ssdtools v2.0.0, which now includes David Fox and Rebecca Fisher as co-authors, is the second major release of ssdtools.

Major Changes

The following changes are major in the sense that they could alter previous hazard concentrations or break code.

Model Fitting and Averaging

Modifications

The following arguments were added to ssd_hc() and ssd_hp()

In addition the data frame returned by ssd_hc() and predict() now includes a column proportion with values between 0 and 1 as opposed to a column percentage with between 0 and 100.

Finally, with censored data confidence intervals can now only be estimated by non-parametric bootstrapping as the methods of parametrically bootstrapping censored data require review.

Minor Changes

The remaining changes are minor.

Model Fitting

Modifications

The following arguments of ssd_fit_dists() were changed to reduce the chances of the lnorm_lnorm bimodal distribution being dropped from the default set:

These changes also allowed the min_pboot = 0.95 argument to be changed from 0.80 for all bootstrapping functions.

It is worth noting that the second two changes also reduce the chances of the BurrIII distribution being dropped.

In addition rescale = TRUE now divides by the geometric mean of the minimum and maximum positive finite values as opposed to dividing by the geometric mean of the maximum finite value to improve the chances of convergence although ssd_fit_bcanz() no longer rescales by default.

Other minor modifications to the model fitting functions include

The following functions and arguments were also added:

Fixes

Deprecations

The following functions and arguments were deprecated:

Plotting

Perhaps the biggest plotting change is that ssd_plot_cdf() now plots the average SSD together with the individual distributions if average = NA.

In addition, the following functions and arguments were added.

and the following functions deprecated

Data

The following data sets were removed

ssdtools 1.0.6

ssdtools 1.0.5

ssdtools 1.0.4

ssdtools 1.0.3

ssdtools 1.0.2

ssdtools 1.0.1

ssdtools 1.0.0

ssdtools version 1.0.0 is the first major release of ssdtools with some important improvements and breaking changes.

Fitting

An important change to the functionality of ssd_fit_dists() was to switch from model fitting using fitdistrplus to TMB which has resulted in improved handling of censored data. Although it was hoped that model fitting would be faster this is currently not the case.

As a result of the change the fitdists objects returned by ssd_fit_dists() from previous versions of ssdtools are not compatible with the major release and should be regenerated.

BCANZ

As a result of an international collaboration British Columbia and Canada and Australia and New Zealand selected a set of recommended distributions for model averaging and settings when generating final guidelines.

The distributions are

> ssd_dists_bcanz()
[1] "gamma"       "lgumbel"     "llogis"      "lnorm"       "lnorm_lnorm" "weibull" 

The ssd_fit_bcanz() and ssd_hc_bcanz() functions were added to the package to facilitate the fitting of these distributions and estimation of hazard concentrations using the recommended settings.

Convergence

In the previous version of ssdtools a distribution was considered to have converged if the following condition was met

  1. stats::optim() returns a code of 0 (indicating successful completion).

In the new version an additional two conditions must also be met

  1. Bounded parameters are not at a boundary (this condition can be turned off by setting at_boundary_ok = TRUE or the user can specify different boundary values - see below)
  2. Standard errors are computable for all the parameter values (this condition can be turned off by setting computable = FALSE)

Censored Data

Censoring can now be specified by providing a data set with one or more rows that have

It is currently not possible to fit distributions to data sets that have

Rows that have a zero or missing value for the left column and an infinite or missing value for the right column (fully censored) are uninformative and will result in an error.

Akaike Weights

For uncensored data, Akaike Weights are calculated using AICc (which corrects for small sample size). In the case of censored data, Akaike Weights are calculated using AIC (as the sample size cannot be estimated) but only if all the distributions have the same number of parameters (to ensure the weights are valid).

Weighted Data

Weighting must be positive with values <= 1000.

Distributions

Previously the density functions for the available distributions were exported as R functions to make them accessible to fitdistrplus. This meant that ssdtools had to be loaded to fit distributions. The density functions are now defined in C++ as TMB templates and are no longer exported.

The distribution, quantile and random generation functions are more generally useful and are still exported but are now prefixed by ssd_ to prevent clashes with existing functions in other packages. Thus for example plnorm(), qlnorm() and rlnorm() have been renamed ssd_plnorm(), ssd_qlnorm() and ssd_rlnorm().

The following distributions were added (or in the case of burrIII3 readded) to the new version

The following arguments were added to ssd_fit_dists()

It also worth noting that the default value of

Subsets of Distributions

The following were added to handle multiple distributions

Burrlioz

The function ssd_fit_burrlioz() was added to approximate the behaviour of Burrlioz.

Hazard Concentration/Protection Estimation

Hazard concentration estimation is performed by ssd_hc() (which is wrapped by predict()) and hazard protection estimation by ssd_hp(). By default confidence intervals are estimated by parametric bootstrapping.

To reduce the time required for bootstrapping, parallelization was implemented using the future package.

The following arguments were added to ssd_hc() and ssd_hp()

and the following columns were added to the output data frame

It also worth noting that the

Censored Data

Confidence intervals cannot be estimated for interval censored data.

Weighted Data

Confidence intervals cannot be estimated for unequally weighted data.

Goodness of Fit

The pvalue argument (by default FALSE) was added to ssd_gof() to specify whether to return p-values for the test statistics as opposed to the test statistics themselves.

Plotting

There have also been some substantive changes to the plotting functionality.

Added following functions

Made the following changes to ssd_plot()

Renamed - GeomSsd to GeomSsdpoint. - StatSsd to StatSsdpoint

Soft-deprecated - geom_ssd() for geom_ssdpoint(). - stat_ssd(). - ssd_plot_cf() for fitdistrplus::descdist().

Data

ssddata

The dataset boron_data was renamed ccme_boron and moved to the ssddata R package together with the other CCME datasets.

The ssddata package provides a suite of datasets for testing and comparing species sensitivity distribution fitting software.

Data Handling Functions

Added

Miscellaneous

Generics

ssdtools 0.3.7.9000

ssdtools 0.3.7

ssdtools 0.3.6

ssdtools 0.3.5

ssdtools 0.3.4

ssdtools 0.3.3

ssdtools 0.3.2

ssdtools 0.3.1

ssdtools 0.3.0

Breaking Changes

Major Changes

Minor Changes

Internal Changes

ssdtools 0.2.0

Breaking Changes

Major Changes

Minor Changes

ssdtools 0.1.1

ssdtools 0.1.0

Breaking Changes

Major Features

Minor Features

Deprecated

Bug Fixes

ssdtools 0.0.3

ssdtools 0.0.2

ssdtools 0.0.1