Computation of High-Order Sobol' Sensitivity Indices

It allows to rapidly compute, bootstrap and plot up to third-order Sobol' indices using the estimators by Saltelli et al. 2010 and Jansen 1999 . The 'sensobol' package also implements the algorithm by Khorashadi Zadeh et al. 2017 to calculate the approximation error in the computation of Sobol' first and total indices, an approach that allows to robustly screen influential from non-influential model inputs. Finally, it also provides functions to obtain publication-ready figures of the model output uncertainty and sensitivity-related analysis.

Travis build status AppVeyor build status CRAN_Status_Badge_version_last_release metacran downloads metacran downloads Coverage status license DOI

The goal of sensobol is to provide a set of functions to swiftly compute and visualize up to third-order Sobol' sensitivity indices. The functions allow to:

  • Create the sample matrices for the model evaluation.
  • Compute and bootstrap up to third-order effects.
  • Assess the approximation error of Sobol' indices.
  • Plot the model uncertainty and the Sobol' indices.


To install the stable version on CRAN, use


To install the development version, use devtools:

install.packages("devtools") # if you have not installed devtools package already
devtools::install_github("arnaldpuy/sensobol", build_vignettes = TRUE)


This brief example shows how to compute Sobol' indices. For a more detailed explanation of the package functions, check the vignette.

## Load the package:
## Create sample matrix to compute first, total and second-order indices:
A <- sobol_matrices(n = 1000, k = 3,  second = TRUE)
## Compute the model output (using the Ishigami test function):
Y <- ishigami_Mapply(A)
## Compute the Sobol' indices (first, total and second-order):
sens <- sobol_indices(Y = Y, params = colnames(data.frame(A)), R = 100, n = 1000, second = TRUE)


Please use the following citation if you use sensobol in your publications:

Arnald Puy (2019). sensobol: Computation of High-Order Sobol' Sensitivity Indices. R package
  version 0.2.0

A BibTex entry for LaTex users is:

    title = {sensobol: Computation of High-Order Sobol' Sensitivity Indices},
    author = {Arnald Puy},
    year = {2019},
    note = {R package version 0.2.0},
    url = {},


sensobol 0.2.0

sensobol 0.1.1

  • The vignette rendered wrongly in the previous version; now the issue is corrected.

  • Corrected the following note, found in the CRAN check:

    • Namespace in Imports field not imported from: ‘parallel’.
  • Some functions that were exported to the R package manual are now internal.

sensobol 0.1.0

  • Added a file to track changes to the package.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.2.1 by Arnald Puy, 3 months ago

Report a bug at

Browse source code at

Authors: Arnald Puy [aut, cre] , Bertrand Ioos [ctb] (Author of included 'sensitivity' fragments) , Gilles Pujol [ctb] (Author of included 'sensitivity' fragments) , RStudio [cph] (Copyright holder of included 'sensitivity' fragments)

Documentation:   PDF Manual  

GPL-3 license

Imports boot, data.table, ggplot2, magrittr, matrixStats, randtoolbox, Rdpack, rlang, scales, stats, stringr, utils

Suggests knitr, rmarkdown, testthat, covr

See at CRAN