Estimates disease prevalence for a given index date, using existing registry data extended with Monte Carlo simulations.
rprev estimates disease prevalence at a specified index date from incomplete registry data. It is designed to be used when estimates of point prevalence from registry data are required, but the registry hasn't been running for sufficiently long to count the number of prevalent cases. Monte Carlo simulation techniques are used to simulate incident cases in years for which incidence data is unavailable, and then estimate survival at the index date.
Prevalence arises from two independent stochastic processes: disease incidence and survival. Default models are provided that model incidence as a homogeneous Poisson process and survival as a standard parameteric distribution, although both of these models can be user specified for further control. See the user_guide vignette for more details about the implementation, and the original publication for details of the algorithm, available at http://www.ncbi.nlm.nih.gov/pubmed/24656754.
To install from CRAN, simply use
install.packages('rprev'), while the latest development version can be installed from GitHub using
Hotfix to address new
sample implementation forthcoming in R 3.6.0. Currently the warning is being suppressed, but the unit tests will be updated once these changes have been implemented in stable R.
Minor documentation fixes, with the main one being correcting the name of the Diagnostics vignette.
Major overhaul to the API with non-backwards compatible changes. The primary change is that both the incidence and survival models are now specifiable, in contrast to the previous version which forced a homogeneous Poisson process incidence model and a Weibull survival model that uses age and sex as covariates. These models are retained as defaults, but the user can provide custom objects for both these processes, as documented in the User Guide.
A number of small basic functions mostly relating to diagnostics have been removed to condense the API.
See the User Guide vignette for examples of the new parameterisation of
prevalence and general documentation.
This function has been renamed to be more descriptive of what the function actually does, and reparameterised to allow the user to specify the ending date of the time interval of interested instead.
raw_incidence is still included but it throws a deprecated warning and suggests the use of
The original function name isn't very descriptive for what it does (provides the yearly end points of a specific time interval) and so have renamed it to better reflect its purpose.
determine_yearly_limits has a slighlty different argument list to
determine_registry_years to allow for the specification of the closing date in the interval rather than the opening.
prevalenceno longer runs the simulation when there is more registry data available than needed to estimate N-year prevalence
prevalenceno longer requires a population size as an argument. Absolute prevalence is always calculated, with relative rates provided if population size is specified
user_manual: Updated to include a link to the specific webpage where the ONS data set is obtained from and improved formatting
summary.prevalencecorrectly displays posterior age distributions of simulated cases and now displays the prevalence estimates themselves
The posterior age distribution, returned from
prevalence as in the
simulated object, is now stored in the format of a nested list rather than a matrix as before. The first dimension of the list corresponds to each sex (if applicable), the next indexing the number of years of simulated cases, and the final corresponds to the bootstrap samples. The final level comprises a vector holding the ages of the simulated cases which are still contributing to prevalence at the index date from the corresponding sex, year, and bootstrap sample number.
Minor bug fixes and a slight change to the parameterisation of prevalence:
First release of the package, working with all features necessary to provide estimates of point prevalence. Issues which we'd like to address in future releases are: