Package {ZooRisk}


Type: Package
Title: Quantitative Assessment of Zoonotic Disease Risk
Version: 1.0.0
Description: Provides quantitative tools for assessing zoonotic disease risk across animal, human, environmental, and transmission interfaces. The package supports exposure and transmission risk estimation, spillover risk assessment, risk scoring, cross-species comparison, transmission-network analysis, Monte Carlo uncertainty simulation, and sensitivity analysis. The One Health framework underlying these assessments is described by World Health Organization, Food and Agriculture Organization of the United Nations, United Nations Environment Programme, and World Organisation for Animal Health (2022) <doi:10.4060/cc2289en>.
License: MIT + file LICENSE
URL: https://github.com/vinodhpmd/ZooRisk
BugReports: https://github.com/vinodhpmd/ZooRisk/issues
Encoding: UTF-8
Suggests: igraph, knitr, rmarkdown, testthat (≥ 3.0.0)
Config/testthat/edition: 3
VignetteBuilder: knitr
Config/roxygen2/version: 8.1.0
NeedsCompilation: no
Packaged: 2026-09-14 16:48:26 UTC; m
Author: Vinodhkumar Obli Rajendran [aut, cre], Keerthi Aaradhana [aut]
Maintainer: Vinodhkumar Obli Rajendran <vinodhkumar.rajendran@gmail.com>
Repository: CRAN
Date/Publication: 2026-09-24 13:50:18 UTC

ZooRisk: Quantitative Assessment of Zoonotic Disease Risk

Description

Tools for quantitative assessment of zoonotic disease risk across animal, human, environmental, and transmission interfaces.

Author(s)

Maintainer: Vinodhkumar Obli Rajendran vinodhkumar.rajendran@gmail.com

Authors:

See Also

Useful links:


Compare risk across host species

Description

Compare risk across host species

Usage

cross_species(species, risk)

Arguments

species

Character species names.

risk

Numeric risk values between 0 and 1.

Value

A ranked data frame.


Exposure risk

Description

Exposure risk

Usage

exposure_risk(prevalence, exposure)

Arguments

prevalence

Probability or prevalence of pathogen occurrence.

exposure

Probability of exposure.

Value

Numeric exposure-associated risk.


Calculate host-specific risk

Description

Calculate host-specific risk

Usage

host_risk(prevalence, exposure)

Arguments

prevalence

Prevalence.

exposure

Exposure probability.

Value

Numeric host risk.


Summarize Monte Carlo risk

Description

Summarizes the distribution of zoonotic risk obtained from risk_simulate().

Usage

monte_carlo_risk(x, probs = c(0.025, 0.5, 0.975))

Arguments

x

A data frame returned by risk_simulate().

probs

Probability levels used to calculate the lower and upper quantiles.

Value

A data frame containing the mean, median, lower, and upper risk estimates.

Examples

sim <- risk_simulate(
  prevalence = c(0.1, 0.3),
  exposure = c(0.2, 0.6),
  transmission = c(0.3, 0.8),
  n_sim = 100
)
monte_carlo_risk(sim)


Calculate transmission network centrality

Description

Calculates node-level centrality measures for a transmission network. When the optional igraph package is available, degree, betweenness, and closeness centrality are calculated. Otherwise, degree is calculated from the network structure and the other measures are returned as NA.

Usage

network_centrality(x)

Arguments

x

A transmission network created by transmission_network().

Value

A data frame containing node-level network centrality measures.


Summarize transmission network connectivity

Description

Calculates node-level connectivity in a transmission network using in-degree, out-degree, and total degree. Higher total degree indicates greater network connectivity and does not itself represent epidemiological risk or probability of transmission.

Usage

network_risk(x)

Arguments

x

A transmission network created by transmission_network().

Value

A data frame containing the node identifier, out-degree, in-degree, and total degree, ordered by decreasing total degree.


Summarize One Health risk components

Description

Summarize One Health risk components

Usage

onehealth_summary(animal, human, environment)

Arguments

animal, human, environment

Numeric risk components between 0 and 1.

Value

A data frame.


Plot a transmission network

Description

Plots a transmission network using igraph when available. Otherwise, a base R degree plot is produced.

Usage

plot_network(x, ...)

Arguments

x

A transmission network created by transmission_network().

...

Graphical arguments passed to the plotting method.

Value

Invisibly returns x.


Plot a zoonotic risk score

Description

Plot a zoonotic risk score

Usage

plot_risk(x, ...)

Arguments

x

Numeric risk score or zoorisk object.

...

Graphical arguments.

Value

Invisibly returns x.


Plot a two-dimensional risk matrix

Description

Plot a two-dimensional risk matrix

Usage

plot_risk_matrix(x, y = NULL, ...)

Arguments

x

Numeric risk values.

y

Optional second risk dimension.

...

Graphical arguments.

Value

Invisibly returns x.


Print a ZooRisk result

Description

Prints a quantitative zoonotic risk result, including the overall multiplicative risk estimate and its component probabilities.

Usage

## S3 method for class 'zoorisk'
print(x, ...)

Arguments

x

A zoorisk object.

...

Ignored.

Value

Invisibly returns the original zoorisk object of class zoorisk. The object contains the overall risk estimate, component probabilities, and the model specification.


Calculate component contributions

Description

Calculate component contributions

Usage

risk_contribution(probabilities, weights = NULL)

Arguments

probabilities

Numeric component probabilities.

weights

Optional weights.

Value

Data frame of normalized contributions.


Classify risk into qualitative categories

Description

Classify risk into qualitative categories

Usage

risk_matrix(x, breaks = c(0, 0.25, 0.5, 0.75, 1))

Arguments

x

Numeric risk scores between 0 and 1.

breaks

Five increasing cut points from 0 to 1.

Value

A factor of risk categories.


Rank zoonotic risks

Description

Rank zoonotic risks

Usage

risk_rank(x, decreasing = TRUE)

Arguments

x

Numeric risk scores.

decreasing

Sort from highest to lowest when TRUE.

Value

Integer ranks.


Calculate a weighted zoonotic risk score

Description

Calculate a weighted zoonotic risk score

Usage

risk_score(probabilities, weights = NULL)

Arguments

probabilities

Numeric probabilities between 0 and 1.

weights

Optional non-negative weights.

Value

A numeric risk score between 0 and 1.


Simulate zoonotic risk under uncertainty

Description

Generates random combinations of zoonotic risk components within user-specified bounds and calculates the resulting risk.

Usage

risk_simulate(
  prevalence,
  exposure,
  transmission,
  susceptibility = c(1, 1),
  n_sim = 10000,
  seed = NULL
)

Arguments

prevalence

Numeric vector of length two giving the lower and upper bounds for prevalence.

exposure

Numeric vector of length two giving the lower and upper bounds for exposure.

transmission

Numeric vector of length two giving the lower and upper bounds for transmission.

susceptibility

Numeric vector of length two giving the lower and upper bounds for susceptibility.

n_sim

Number of simulations.

seed

Optional random seed.

Value

A data frame containing simulated prevalence, exposure, transmission, susceptibility, and zoonotic risk values.

Examples

set.seed(123)
sim <- risk_simulate(
  prevalence = c(0.1, 0.3),
  exposure = c(0.2, 0.6),
  transmission = c(0.3, 0.8),
  susceptibility = c(0.5, 1),
  n_sim = 100
)
head(sim)


One-at-a-time sensitivity analysis

Description

Evaluates the effect of fractional changes to each risk component while holding the other components at their baseline values.

Usage

sensitivity_risk(base, changes = c(-0.2, 0.2))

Arguments

base

Named numeric vector of baseline risk components. Values must be between 0 and 1.

changes

Numeric vector of fractional changes applied to each component individually.

Value

A data frame containing the component and simulated risk values for each specified change. The baseline risk is returned as the baseline_risk attribute.

Examples

base <- c(
  prevalence = 0.2,
  exposure = 0.5,
  transmission = 0.6,
  susceptibility = 0.8
)

sensitivity_risk(base)


Spillover risk

Description

Spillover risk

Usage

spillover_risk(prevalence, exposure, transmission, susceptibility = 1)

Arguments

prevalence

Probability or prevalence in the reservoir.

exposure

Probability of relevant exposure.

transmission

Probability of transmission given exposure.

susceptibility

Probability of infection given transmission.

Value

Numeric spillover risk.


Summarize a ZooRisk result

Description

Summarize a ZooRisk result

Usage

## S3 method for class 'zoorisk'
summary(object, ...)

Arguments

object

A zoorisk object.

...

Ignored.

Value

A data frame.


Construct a transmission network

Description

Constructs an edge-list representation of a transmission network.

Usage

transmission_network(from, to, directed = TRUE)

Arguments

from

Source node identifiers.

to

Destination node identifiers.

directed

Logical; whether edges are directed.

Value

An edge-list data frame of class zoorisk_network.


Transmission risk

Description

Transmission risk

Usage

transmission_risk(exposure, transmission)

Arguments

exposure

Probability of exposure.

transmission

Probability of transmission given exposure.

Value

Numeric transmission-associated risk.


Quantitative zoonotic disease risk

Description

Calculates a transparent multiplicative risk estimate.

Usage

zoonotic_risk(prevalence, exposure, transmission, susceptibility)

Arguments

prevalence

Probability or prevalence of pathogen occurrence.

exposure

Probability of relevant exposure.

transmission

Probability of transmission given exposure.

susceptibility

Probability of infection given transmission.

Value

An object of class zoorisk.