calibrateP computes calibrated p-values using the fitted null distribution

calibrateP(null, logRr, seLogRr, twoSided = TRUE, upper = TRUE, ...)

# S3 method for class 'null'
calibrateP(null, logRr, seLogRr, twoSided = TRUE, upper = TRUE, ...)

# S3 method for class 'mcmcNull'
calibrateP(
  null,
  logRr,
  seLogRr,
  twoSided = TRUE,
  upper = TRUE,
  pValueOnly,
  ...
)

Arguments

null

An object of class null created using the fitNull function or an object of class mcmcNull created using the fitMcmcNull function.

logRr

A numeric vector of one or more effect estimates on the log scale

seLogRr

The standard error of the log of the effect estimates. Hint: often the standard error = (log(<lower bound 95 percent confidence interval>) - log(<effect estimate>))/qnorm(0.025)

twoSided

Compute two-sided (TRUE) or one-sided (FALSE) p-value?

upper

If one-sided: compute p-value for upper (TRUE) or lower (FALSE) bound?

...

Any additional parameters (currently none).

pValueOnly

If true, will return only the calibrated P-value itself, not the credible interval.

Value

The calibrated p-value.

Details

This function computes a calibrated two-sided p-value as described in Schuemie et al (2014).

Methods (by class)

  • calibrateP(null): Computes the calibrated P-value using asymptotic assumptions.

  • calibrateP(mcmcNull): Computes the calibrated P-value and 95 percent credible interval using Markov Chain Monte Carlo (MCMC).

References

Schuemie MJ, Ryan PB, Dumouchel W, Suchard MA, Madigan D. Interpreting observational studies: why empirical calibration is needed to correct p-values. Statistics in Medicine 33(2):209-18,2014

Examples

data(sccs)
negatives <- sccs[sccs$groundTruth == 0, ]
null <- fitNull(negatives$logRr, negatives$seLogRr)
positive <- sccs[sccs$groundTruth == 1, ]
calibrateP(null, positive$logRr, positive$seLogRr)
#> [1] 0.839405