CRAN_Status_Badge CRAN_Status_Badge


This R package contains routines for performing empirical calibration of observational study estimates. By using a set of negative control hypotheses we can estimate the empirical null distribution of a particular observational study setup. This empirical null distribution can be used to compute a calibrated p-value, which reflects the probability of observing an estimated effect size when the null hypothesis is true taking both random and systematic error into account, as described in the paper [Interpreting observational studies: why empirical calibration is needed to correct p-values.] (


Screenshots and examples

Calibration effect plot

data(sccs) #Load one of the included data sets
negatives <- sccs[sccs$groundTruth == 0,] #Select the negative controls
null <- fitNull(logRr = negatives$logRr, seLogRr = negatives$seLogRr) #Fit the null distribution
positive <- sccs[sccs$groundTruth == 1,]  #Select the positive control

#Create the plot above:
plotCalibrationEffect(logRrNegatives = negatives$logRr,
                      seLogRrNegatives = negatives$seLogRr,
                      logRrPositives = positive$logRr,
                      seLogRrPositives = positive$seLogRr,
                      null = null)

#Compute the calibrated p-value:
calibrateP(null = null, logRr = positive$logRr, seLogRr = positive$seLogRr) #Compute calibrated p-value
[1] 0.8390598


This is a pure R package.

System requirements

Requires R (version 3.1.0 or newer).

Getting Started

In R, use the following commands to install the latest stable version from CRAN:


To install the latest development version directly from GitHub, use:


Getting Involved


EmpiricalCalibration is licensed under Apache License 2.0


This package has been developed in RStudio.

Development status

Build Status

This package is ready for use.


Martijn Schuemie is the author of this package.

OHDSI/EmpiricalCalibration documentation built on June 26, 2018, 7:12 a.m.