Learn R Programming

serocalculator


Figure 1: QR code for serocalculator website

Antibody levels measured in a cross–sectional population sample can be translated into an estimate of the frequency with which seroconversions (infections) occur in the sampled population. In other words, the presence of many high antibody titers indicates that many individuals likely experienced infection recently and the burden of disease is high in the population, while low titers indicate a low frequency of infections in the sampled population and therefore a lower burden of disease.

The serocalculator package was designed to use the longitudinal response characteristics using a set of modeled parameters characterizing the longitudinal response of the selected serum antibodies. More details on the underlying methods can be found in Getting Started.

Installing R

The serocalculator package is designed to be used in R, which is a free, open-source software environment for statistical computing and graphics. The end user of this package must have access to a working installation of the R software. We recommend installing base R and a Graphical User Interface (GUI) for R such as RStudio.

If you need to download and install R and/or RStudio, we recommend following the tutorial below from Hands On Programming in R by Garrett Grolemund:

Installing R and RStudio: https://rstudio-education.github.io/hopr/starting.html

Installing the Serocalculator Package

The serocalculator package must be installed in R before first use.

# Install package
install.packages("serocalculator")

Post-installation

Successful installation can be confirmed by loading the package into the RStudio workspace and exploring help files and manuals distributed with the package:

# Load package "seroincidence".
library(serocalculator)

# Show R help for the package.
?serocalculator

Additionally, most package details can be found when executing the following commands:

# Show description.
packageDescription("serocalculator")

# Show citation.
citation("serocalculator")

Development Version

To install the development version, you must install the devtools R package and then download serocalculator from GitHub. Enter the code below into the R console to install both packages.

# Install the devtools package and the development version of serocalculator
install.packages("devtools")
devtools::install_github("ucd-serg/serocalculator")

A Note for Windows Users

Before launching the development version of serocalculator, Windows users will need to install Rtools, which contains a collection of tools for building and employing R packages that are still in development. This can be done either:

  1. during the devtools package installation, or

  2. independently, if devtools is already installed.

During devtools installation

When prompted to install additional build tools, select “Yes” and Rtools will be installed.

[!NOTE]

After installing Rtools, you may need to restart RStudio before continuing to install serocalculator.

Independently:
  1. Download Rtools from https://cran.r-project.org/bin/windows/Rtools/

  2. Run the installer

    • During the Rtools installation you may see a window asking you to “Select Additional Tasks”.
    • Do not select the box for “Edit the system PATH”. devtools and RStudio should put Rtools on the PATH automatically when it is needed.
    • Do select the box for “Save version information to registry”. It should be selected by default.

Getting Help

If you have questions about using this software package, please use the Q&A forum.

If you encounter a clear bug, please file an issue with a minimal reproducible example on GitHub.

Another great resource is The Epidemiologist R Handbook, which includes an introductory page on asking for help with R packages via GitHub: https://epirhandbook.com/en/getting-help.html

Contributing to this project

We welcome contributions to this project - anything from typo corrections to new features. Please see our Contributor guide for more information.

Copy Link

Version

Install

install.packages('serocalculator')

Monthly Downloads

139

Version

1.3.0

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Kristina Lai

Last Published

January 25th, 2025

Functions in serocalculator (1.3.0)

graph.curve.params

Graph estimated antibody decay curve
df.to.array

Convert a data.frame (or tibble) into a multidimensional array
graph_loglik

Graph log-likelihood of data
f_dev0

Calculate negative log-likelihood (deviance) for one antigen:isotype pair and incidence rate
example_noise_params_pk

Small example of noise parameters for typhoid
ldpar

extract a row from longitudinal parameter set
llik

Calculate log-likelihood
reexports

Objects exported from other packages
plot_curve_params_one_ab

Graph an antibody decay curve model
row_longitudinal_parameter

extract a row from longitudinal parameter set
print.seroincidence

Print Method for seroincidence Object
sees_pop_data_pk_100

Small example cross-sectional data set
sees_pop_data_pk_100_old_names

Small example cross-sectional data set
mk_baseline

generate random sample from baseline distribution
serocalculator

Estimating Infection Rates from Serological Data
[.seroincidence.by

Extract or replace parts of a seroincidence.by object
serocalculator_example

Get path to an example file
load_pop_data

Load a cross-sectional antibody survey data set
log_likelihood

Calculate log-likelihood
sim.cs

Simulate a cross-sectional serosurvey with noise
mkbaseline

generate random sample from baseline distribution
fdev

Calculate negative log-likelihood (deviance)
load_curve_params

Load antibody decay curve parameter samples
load_noise_params

Load noise parameters
summary.pop_data

Summarize cross-sectional antibody survey data
sim.cs.multi

Simulate multiple data sets
stratify_data

Split data by stratum
summary.seroincidence

Summarizing fitted seroincidence models
print.seroincidence.by

Print Method for seroincidence.by Object
summary.seroincidence.by

Summary Method for "seroincidence.by" Objects
print.summary.seroincidence.by

Print Method for Seroincidence Summary Object
strata

Extract strata from an object
simresp.tinf

simulate antibody kinetics of y over a time interval
simcs.tinf

collect cross-sectional data
typhoid_curves_nostrat_100

Small example of antibody response curve parameters for typhoid
warn.missing.strata

Warn about missing stratifying variables in a dataset
strata.seroincidence.by

Extract the Strata attribute from an object, if present
autoplot.seroincidence.by

Plot seroincidence.by log-likelihoods
autoplot.summary.seroincidence.by

Plot method for summary.seroincidence.by objects
autoplot.pop_data

Plot distribution of antibodies
autoplot.curve_params

graph antibody decay curves by antigen isotype
as_pop_data

Load a cross-sectional antibody survey data set
as_curve_params

Load antibody decay curve parameter
ab

kinetics of the antibody (ab) response (power function decay)
as_noise_params

Load noise parameters
autoplot.seroincidence

Plot the log-likelihood curve for the incidence rate estimate
check_pop_data

Check the formatting of a cross-sectional antibody survey dataset.
est.incidence

Find the maximum likelihood estimate of the incidence rate parameter
f_dev

Calculate negative log-likelihood (deviance) for one antigen:isotype pair and several values of incidence
est.incidence.by

Estimate Seroincidence
.nll

Calculate negative log-likelihood