Type: Package
Title: Confidence Intervals and Tests for Comparisons of Binomial Proportions or Poisson Rates
Version: 1.0.0
Description: Computes confidence intervals for binomial or Poisson rates and their differences or ratios. Including the rate (or risk) difference ('RD') or rate ratio (or relative risk, 'RR') for binomial proportions or Poisson rates, and odds ratio ('OR', binomial only). Also confidence intervals for RD, RR or OR for paired binomial data, and estimation of a proportion from clustered binomial data. Includes skewness-corrected asymptotic score ('SCAS') methods, which have been developed in Laud (2017) <doi:10.1002/pst.1813> from Miettinen and Nurminen (1985) <doi:10.1002/sim.4780040211> and Gart and Nam (1988) <doi:10.2307/2531848>, and in Laud (2025, under review) for paired proportions. The same score produces hypothesis tests that are improved versions of the non-inferiority test for binomial RD and RR by Farrington and Manning (1990) <doi:10.1002/sim.4780091208>, or a generalisation of the McNemar test for paired data. The package also includes MOVER methods (Method Of Variance Estimates Recovery) for all contrasts, derived from the Newcombe method but with options to use equal-tailed intervals in place of the Wilson score method, and generalised for Bayesian applications incorporating prior information. So-called 'exact' methods for strictly conservative coverage are approximated using continuity adjustments, and the amount of adjustment can be selected to avoid over-conservative coverage. Also includes methods for stratified calculations (e.g. meta-analysis), either with fixed effect assumption (matching the CMH test) or incorporating stratum heterogeneity.
License: GPL (≥ 3)
URL: https://github.com/petelaud/ratesci, https://petelaud.github.io/ratesci/
BugReports: https://github.com/petelaud/ratesci/issues
Depends: R (≥ 3.6.0)
Suggests: knitr, rmarkdown, testthat (≥ 3.0.0)
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.3.2
Config/testthat/edition: 3
VignetteBuilder: knitr
NeedsCompilation: no
Packaged: 2025-06-20 21:17:01 UTC; ssu
Author: Pete Laud ORCID iD [aut, cre]
Maintainer: Pete Laud <p.j.laud@sheffield.ac.uk>
Repository: CRAN
Date/Publication: 2025-06-20 21:40:02 UTC

ratesci: Confidence Intervals and Tests for Comparisons of Binomial Proportions or Poisson Rates

Description

logo

Computes confidence intervals for binomial or Poisson rates and their differences or ratios. Including the rate (or risk) difference ('RD') or rate ratio (or relative risk, 'RR') for binomial proportions or Poisson rates, and odds ratio ('OR', binomial only). Also confidence intervals for RD, RR or OR for paired binomial data, and estimation of a proportion from clustered binomial data. Includes skewness-corrected asymptotic score ('SCAS') methods, which have been developed in Laud (2017) doi:10.1002/pst.1813 from Miettinen and Nurminen (1985) doi:10.1002/sim.4780040211 and Gart and Nam (1988) doi:10.2307/2531848, and in Laud (2025, under review) for paired proportions. The same score produces hypothesis tests that are improved versions of the non-inferiority test for binomial RD and RR by Farrington and Manning (1990) doi:10.1002/sim.4780091208, or a generalisation of the McNemar test for paired data. The package also includes MOVER methods (Method Of Variance Estimates Recovery) for all contrasts, derived from the Newcombe method but with options to use equal-tailed intervals in place of the Wilson score method, and generalised for Bayesian applications incorporating prior information. So-called 'exact' methods for strictly conservative coverage are approximated using continuity adjustments, and the amount of adjustment can be selected to avoid over-conservative coverage. Also includes methods for stratified calculations (e.g. meta-analysis), either with fixed effect assumption (matching the CMH test) or incorporating stratum heterogeneity.

ratesci functions

Author(s)

Maintainer: Pete Laud p.j.laud@sheffield.ac.uk (ORCID)

References

Laud PJ. Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2017; 16:334-348.

Laud PJ. Corrigendum: Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2018; 17:290-293.

Tang Y. Score confidence intervals and sample sizes for stratified comparisons of binomial proportions. Statistics in Medicine 2020; 39:3427–3457.

Tang Y. Comments on “Equal-tailed confidence intervals for comparison of rates”. Pharmaceutical Statistics 2021;20:1288-1292.

Laud PJ. Author's reply to the letter to the editor by Yongqiang Tang: Comments on “Equal-tailed confidence intervals for comparison of rates”. Pharmaceutical Statistics 2021; 20:1293-1297

Miettinen OS, Nurminen M. Comparative analysis of two rates. Statistics in Medicine 1985; 4:213-226.

Gart JJ. Analysis of the common odds ratio: corrections for bias and skewness. Bulletin of the International Statistical Institute 1985, 45th session, book 1, 175-176.

Gart JJ, Nam JM. Approximate interval estimation of the ratio of binomial parameters: A review and corrections for skewness. Biometrics 1988; 44(2):323-338.

Gart JJ, Nam JM. Approximate interval estimation of the difference in binomial parameters: correction for skewness and extension to multiple tables. Biometrics 1990; 46(3):637-643.

Farrington CP, Manning G. Test statistics and sample size formulae for comparative binomial trials with null hypothesis of non-zero risk difference or non-unity relative risk. Statistics in Medicine 1990; 9(12):1447–1454.

Newcombe RG. Interval estimation for the difference between independent proportions: comparison of eleven methods. Statistics in Medicine 1998; 17(8):873-890.

Donner A, Zou G. Closed-form confidence intervals for functions of the normal mean and standard deviation. Statistical Methods in Medical Research 2012; 21(4):347-359.

Tango T. Equivalence test and confidence interval for the difference in proportions for the paired-sample design. Statistics in Medicine 1998; 17:891-908

Tang N-S, Tang M-L, Chan ISF. On tests of equivalence via non-unity relative risk for matched-pair design. Statistics in Medicine 2003; 22:1217-1233

Laud PJ. Improved confidence intervals and tests for paired binomial proportions. (2025, Under review)

Saha K, Miller D and Wang S. A comparison of some approximate confidence intervals for a single proportion for clustered binary outcome data. Int J Biostat 2016; 12:1–18.

See Also

Useful links:


Meta-analysis of the effect of cisapride for treatment of non-ulcer dyspepsia

Description

Data from systematic review of the effect of cisapride for treatment of non-ulcer dyspepsia (Hartung & Knapp 2001)

Usage

cisapride

Format

A data frame with five variables:

study

Study author

event.cisa

Number of events (successes) in cisapride-treated group

n.cisa

Number of patients in cisapride-treated group

event.plac

Number of events (successes) in placebo group

n.plac

Number of patients in placebo group

Source

doi:10.1002/sim.1009


Score confidence intervals for a single binomial rate from clustered data.

Description

Asymptotic Score confidence intervals for a proportion estimated from a clustered sample, as decribed by Saha et al. 2016. With optional skewness correction to improve interval location (to be evaluated).

Usage

clusterpci(x, n, level = 0.95, skew = TRUE, cc = FALSE, theta0 = 0.5)

Arguments

x

Numeric vector of number of events per cluster.

n

Numeric vector of sample sizes per cluster.

level

Number specifying confidence level (between 0 and 1, default 0.95).

skew

Logical (default TRUE) indicating whether to apply skewness correction or not. (To be evaluated)

cc

Number or logical (default FALSE) specifying (amount of) continuity adjustment. Numeric value is taken as the gamma parameter in Laud 2017, Appendix S2 (default 0.5 for 'conventional' adjustment if cc = TRUE).

theta0

Number to be used in a one-sided significance test (e.g. non-inferiority margin). 1-sided p-value will be <0.025 iff 2-sided 95\ excludes theta0.

Value

A list containing the following components:

estimates

the estimate and confidence interval for p and the specified confidence level, along with estimates of the ICC and the variance inflation factor, xihat.

pval

one-sided significance tests against the null hypothesis that theta >= or <= theta0 as specified.

call

details of the function call.

Author(s)

Pete Laud, p.j.laud@sheffield.ac.uk

References

Saha K, Miller D and Wang S. A comparison of some approximate confidence intervals for a single proportion for clustered binary outcome data. Int J Biostat 2016; 12:1–18

Short MI et al. A novel confidence interval for a single proportion in the presence of clustered binary outcome data. Stat Meth Med Res 2020; 29(1):111–121

Examples

  # Data example from Liang 1992, used in Saha 2016 and Short 2020:
  # Note Saha states the ICC estimate is 0.1871 and Short makes it 0.1855.
  # I agree with Short - CI limits differ from Saha to the 4th dp.
  x <- c(rep(c(0, 1), c(36, 12)),
         rep(c(0, 1, 2), c(15, 7, 1)),
         rep(c(0, 1, 2, 3), c(5, 7, 3, 2)),
         rep(c(0, 1, 2), c(3, 3, 1)),
         c(0, 2, 3, 4, 6))
  n <- c(rep(1, 48),
         rep(2, 23),
         rep(3, 17),
         rep(4, 7),
         rep(6, 5))
  # Wilson-based interval
  clusterpci(x, n, skew = FALSE)
  # Skewness-corrected version
  clusterpci(x, n, skew = TRUE)
  # With continuity adjustment
  clusterpci(x, n, skew = FALSE, cc = TRUE)

Systematic review of the effect of graduated compression stockings for prevention of DVT

Description

Data from systematic review of the effect of graduated compression stockings for prevention of DVT (Roderick et al. 2005)

Usage

compress

Format

A data frame with five variables:

study

Study author

event.gcs

Number of events (DVTs) in GCS-treated group

n.gcs

Number of patients in GCS-treated group

event.control

Number of events (DVTs) in control group

n.control

Number of patients in control group

Source

doi:10.3310/hta9490


Corticosteroids in acute traumatic brain injury: updated systematic review of randomised controlled trials

Description

Data from systematic review of the effect on mortality of corticosteroids in traumatic brain injury (reported with MRC CRASH trial results, Roberts et al. 2001)

Usage

crash

Format

A data frame with five variables:

study

Study author and year

event.steroid

Number of deaths in steroid-treated group

n.steroid

Number of patients in steroid-treated group

event.control

Number of deaths in control group

n.control

Number of patients in control group

Source

https://pubmed.ncbi.nlm.nih.gov/15474134


Jeffreys and other approximate Bayesian confidence intervals for a single binomial or Poisson rate.

Description

Generalised approximate Bayesian confidence intervals based on a Beta (for binomial rates) or Gamma (for Poisson rates) conjugate priors. Encompassing the Jeffreys method (with Beta(0.5, 0.5) or Gamma(0.5) respectively), as well as any user-specified prior distribution. Clopper-Pearson method (as quantiles of a Beta distribution as described in Brown et al. 2001) also included by way of a "continuity adjustment" parameter.

Usage

jeffreysci(
  x,
  n,
  ai = 0.5,
  bi = 0.5,
  cc = 0,
  level = 0.95,
  distrib = "bin",
  adj = TRUE,
  ...
)

Arguments

x

Numeric vector of number of events.

n

Numeric vector of sample sizes (for binomial rates) or exposure times (for Poisson rates).

ai, bi

Numbers defining the Beta prior distribution (default 'ai = bi = 0.5“ for Jeffreys interval). Gamma prior for Poisson rates requires only ai.

cc

Number or logical specifying (amount of) "continuity adjustment". cc = 0 (default) gives Jeffreys interval, cc = 0.5 gives the Clopper-Pearson interval (or Garwood for Poisson). A value between 0 and 0.5 allows a compromise between proximate and conservative coverage.

level

Number specifying confidence level (between 0 and 1, default 0.95).

distrib

Character string indicating distribution assumed for the input data:
"bin" = binomial (default);
"poi" = Poisson.

adj

Logical (default TRUE) indicating whether to apply the boundary adjustment recommended on p108 of Brown et al. (set to FALSE if informative priors are used).

...

Other arguments.

Value

A list containing the following components:

estimates

a matrix containing estimated rate(s), and corresponding approximate Bayesian confidence interval, and the input values x and n.

call

details of the function call.

Author(s)

Pete Laud, p.j.laud@sheffield.ac.uk

References

Laud PJ. Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2017; 16:334-348.

Brown LD, Cai TT, DasGupta A. Interval estimation for a binomial proportion. Statistical Science 2001; 16(2):101-133

Examples

# Jeffreys method:
jeffreysci(x = 5, n = 56)

Approximate Bayesian ("MOVER-B") confidence intervals for comparisons of independent binomial or Poisson rates.

Description

Wrapper function for the MOVER-B methods. Approximate Bayesian confidence intervals for the rate (or risk) difference ("RD") or ratio ("RR") for independent binomial or Poisson rates, or for odds ratio ("OR", binomial only). (developed from Newcombe, Donner & Zou, Li et al, and Fagerland & Newcombe, and generalised as "MOVER-B" in Laud 2017) including special case "MOVER-J" using non-informative priors with optional continuity adjustment. This function is vectorised in x1, x2, n1, and n2.

Usage

moverbci(
  x1,
  n1,
  x2,
  n2,
  a1 = 0.5,
  b1 = 0.5,
  a2 = 0.5,
  b2 = 0.5,
  distrib = "bin",
  contrast = "RD",
  level = 0.95,
  cc = 0,
  ...
)

Arguments

x1, x2

Numeric vectors of numbers of events in group 1 & group 2 respectively.

n1, n2

Numeric vectors of sample sizes (for binomial rates) or exposure times (for Poisson rates) in each group.

a1, b1, a2, b2

Numbers defining the Beta(ai,bi) prior distributions for each group (default ai = bi = 0.5 for Jeffreys uninformative priors). Gamma priors for Poisson rates require only a1, a2.

distrib

Character string indicating distribution assumed for the input data:
"bin" = binomial (default);
"poi" = Poisson.

contrast

Character string indicating the contrast of interest:
"RD" = rate difference (default);
"RR" = rate ratio;
"OR" = odds ratio;
"p" gives an interval for the single proportion x1/n1.

level

Number specifying confidence level (between 0 and 1, default 0.95).

cc

Number or logical specifying (amount of) continuity adjustment (default FALSE). Numeric value is taken as the gamma parameter in Laud 2017, Appendix S2 (default 0.5 if cc = TRUE). Forced equal to 0.5 if type = "exact".

...

Additional arguments.

Value

A list containing the following components:

estimates

a matrix containing estimates of the rates in each group and of the requested contrast, with its confidence interval

call

details of the function call

Author(s)

Pete Laud, p.j.laud@sheffield.ac.uk


Method of Variance Estimates Recovery ("MOVER") confidence intervals for comparisons of independent binomial or Poisson rates.

Description

Confidence intervals applying the MOVER method ("Method of Variance Estimates Recovery", developed from the Newcombe method for binomial RD) across different contrasts (RD, RR, OR) and distributions (binomial, Poisson) using equal-tailed Jeffreys intervals instead of the Wilson score method for the event rates. Also allows more general Beta and Gamma priors for an approximate Bayesian confidence interval incorporating prior beliefs about the group event rates. This function is vectorised in x1, x2, n1, and n2.

Usage

moverci(
  x1,
  n1,
  x2 = NULL,
  n2 = NULL,
  distrib = "bin",
  contrast = "RD",
  level = 0.95,
  a1 = 0.5,
  b1 = 0.5,
  a2 = 0.5,
  b2 = 0.5,
  type = "jeff",
  adj = FALSE,
  cc = FALSE,
  ...
)

Arguments

x1, x2

Numeric vectors of numbers of events in group 1 & group 2 respectively.

n1, n2

Numeric vectors of sample sizes (for binomial rates) or exposure times (for Poisson rates) in each group.

distrib

Character string indicating distribution assumed for the input data:
"bin" = binomial (default);
"poi" = Poisson.

contrast

Character string indicating the contrast of interest:
"RD" = rate difference (default);
"RR" = rate ratio;
"OR" = odds ratio;
"p" gives an interval for the single proportion x1/n1.

level

Number specifying confidence level (between 0 and 1, default 0.95).

a1, b1, a2, b2

Numbers defining the Beta(ai,bi) prior distributions for each group (default ai = bi = 0.5 for Jeffreys method). Gamma priors for Poisson rates require only a1, a2.

type

Character string indicating the method used for the intervals for the individual group rates.
"jeff" = Jeffreys equal-tailed intervals (default);
"exact" = Clopper-Pearson/Garwood exact intervals (note this does NOT result in a strictly conservative interval for the contrast, except for contrast = "p". The scoreci function with cc = TRUE is recommended as a superior approximation of 'exact' methods);
"midp" = mid-p intervals;
"SCAS" = SCAS non-iterative intervals;
"wilson" = Wilson score intervals (as per Newcombe 1998). (Rao score is used for distrib = "poi")
NB: "wilson" option is included only for legacy validation against previous published method by Newcombe. It is not recommended, as type = "jeff" or other equal-tailed options achieve much better coverage properties.

adj

Logical (default FALSE) indicating whether to apply the boundary adjustment for Jeffreys intervals recommended on p108 of Brown et al. (type = "jeff" only: set to FALSE if using informative priors.)

cc

Number or logical specifying (amount of) continuity adjustment (default FALSE). Numeric value is taken as the gamma parameter in Laud 2017, Appendix S2 (default 0.5 if cc = TRUE). Forced equal to 0.5 if type = "exact".

...

Additional arguments.

Value

A list containing the following components:

estimates

a matrix containing estimates of the rates in each group and of the requested contrast, with its confidence interval.

call

details of the function call.

Author(s)

Pete Laud, p.j.laud@sheffield.ac.uk

References

Laud PJ. Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2017; 16:334-348.

Newcombe RG. Interval estimation for the difference between independent proportions: comparison of eleven methods. Statistics in Medicine 1998; 17(8):873-890.

Donner A, Zou G. Closed-form confidence intervals for functions of the normal mean and standard deviation. Statistical Methods in Medical Research 2012; 21(4):347-359.

Fagerland MW, Newcombe RG. Confidence intervals for odds ratio and relative risk based on the inverse hyperbolic sine transformation. Statistics in Medicine 2013; 32(16):2823-2836.

Li HQ, Tang ML, Wong WK. Confidence intervals for ratio of two Poisson rates using the method of variance estimates recovery. Computational Statistics 2014; 29(3-4):869-889.

Examples

# Binomial RD, MOVER-J method:
moverci(x1 = 5, n1 = 56, x2 = 0, n2 = 29)

# Binomial RD, Newcombe method:
moverci(x1 = 5, n1 = 56, x2 = 0, n2 = 29, type = "wilson")

Confidence intervals for comparisons of paired binomial rates.

Description

Confidence intervals for the rate (or risk) difference ("RD"), rate ratio ("RR") or conditional odds ratio ("OR"), for paired binomial data. (For paired Poisson rates, suggest use the tdasci function with distrib = "poi", and weighting = "MH", with pairs as strata.) This function applies the score-based Tango and Tang methods for RD and RR respectively, with iterative and closed-form versions, and an added skewness correction for improved one-sided coverage. Also includes MOVER options using the Method of Variance Estimates Recovery for paired RD and RR, incorporating Newcombe's correlation correction, and some simpler methods by Bonett & Price for RD and RR. For OR, intervals are produced based on transforming various intervals for the single proportion, including SCASp, mid-p and Jeffreys. All methods have options for continuity adjustment, and the magnitude of adjustment can be customised.

Usage

pairbinci(
  x,
  level = 0.95,
  contrast = "RD",
  method = ifelse(contrast == "OR", "SCASp", "Score"),
  moverbase = ifelse(method %in% c("MOVER", "MOVER_newc", "BP"), "jeff", NULL),
  bcf = TRUE,
  skew = TRUE,
  cc = FALSE,
  theta0 = NULL,
  precis = 6,
  warn = TRUE,
  method_RD = NULL,
  method_RR = NULL,
  method_OR = NULL,
  cctype = NULL,
  ...
)

Arguments

x

A numeric vector object specified as c(a, b, c, d) where:
a is the number of pairs with the event (e.g. success) under both conditions (e.g. treated/untreated, or case/control)
b is the count of the number with the event on condition 1 only (= x12)
c is the count of the number with the event on condition 2 only (= x21)
d is the number of pairs with no event under both conditions
(Note the order of a and d is only important for contrast="RR".)

level

Number specifying confidence level (between 0 and 1, default 0.95).

contrast

Character string indicating the contrast of interest:
"RD" = rate difference (default);
"RR" = rate ratio;
"OR" = conditional odds ratio.

method

Character string indicating the confidence interval method to be used. The following are available for contrast = "RD" or "RR":
"Score" = (default) asymptotic score class of methods including Tango (for RD) / Tang (for RR), by iterative calculations, with optional skewness correction;
"Score_closed" = closed form solution for Tango/Tang intervals (without skewness correction);
"MOVER" = hybrid MOVER method (as per "method 8" in Newcombe, but with a choice of input methods - see moverbase);
"MOVER_newc" = hybrid MOVER methods with correction to correlation estimate (Newcombe's "method 10");
"TDAS" = t-distribution asymptotic score (experimental method, now deprecated);
"BP" = Wald with Bonett-Price adjustment for RD, or Hybrid Bonett-Price method for RR.
For contrast = "OR", one of the following methods may be selected, all of which are based on transformation of an interval for a single proportion b/(b+c):
"SCASp" = transformed skewness-corrected score (default);
"jeff" = transformed Jeffreys;
"midp" = transformed mid-p;
"wilson" = transformed Wilson score - included for reference only, not recommended.

moverbase

Character string indicating the base method used as input for the MOVER methods for RD or RR (when method = "MOVER" or "MOVER_newc"), and for the Hybrid BP method for RR: "jeff" = Jeffreys equal-tailed interval (default), "SCASp" = skewness-corrected score, "midp" = mid-p, "wilson" = Wilson score (not recommended, known to be skewed).

bcf

Logical (default FALSE) indicating whether to apply variance bias correction in the score denominator. (Under evaluation, manuscript under review.)

skew

Logical (default TRUE) indicating whether to apply skewness correction or not. (Under evaluation, manuscript under review.)

  • Only applies for the iterative method = "Score".

cc

Number or logical (default FALSE) specifying (amount of) continuity adjustment. When a score-based method is used, cc = 0.5 corresponds to the continuity-corrected McNemar test.

theta0

Number to be used in a one-sided significance test (e.g. non-inferiority margin). 1-sided p-value will be < 0.025 iff 2-sided 95\ excludes theta0. NB: can also be used for a superiority test by setting theta0 = 0.

precis

Number (default 6) specifying precision (i.e. number of decimal places) to be used in optimisation subroutine for the confidence interval.

warn

Logical (default TRUE) giving the option to suppress warnings.

method_RD

(deprecated: parameter renamed to method)

method_RR

(deprecated: parameter renamed to method)

method_OR

(deprecated: parameter renamed to method)

cctype

(deprecated: new equivariant cc method implemented instead.)

...

Other arguments.

Value

A list containing the following components:

data

the input data in 2x2 matrix form.

estimates

the requested contrast, with its confidence interval and the specified confidence level, along with estimates of the marginal probabilities and the correlation coefficient (uncorrected and corrected).

pval

the corresponding 2-sided significance test against the null hypothesis that p_1 = p_2, and one-sided significance tests against the null hypothesis that theta >= or <= theta0 as specified.

call

details of the function call.

Author(s)

Pete Laud, p.j.laud@sheffield.ac.uk

References

Tango T. Equivalence test and confidence interval for the difference in proportions for the paired-sample design. Statistics in Medicine 1998; 17:891-908

Newcombe RG. Improved confidence intervals for the difference between binomial proportions based on paired data. Statistics in Medicine 1998; 17:2635-2650

Tango T. Improved confidence intervals for the difference between binomial proportions based on paired data by Robert G. Newcombe, Statistics in Medicine, 17, 2635-2650 (1998). Statistics in Medicine 1999; 18(24):3511-3513

Nam J-M, Blackwelder WC. Analysis of the ratio of marginal probabilities in a matched-pair setting. Stat Med 2002; 21(5):689–699

Tang N-S, Tang M-L, Chan ISF. On tests of equivalence via non-unity relative risk for matched-pair design. Statistics in Medicine 2003; 22:1217-1233

Agresti A, Min Y. Simple improved confidence intervals for comparing matched proportions. Statistics in Medicine 2005; 24:729-740

Bonett DG, Price RM. Confidence intervals for a ratio of binomial proportions based on paired data. Statistics in Medicine 2006; 25:3039-3047

Tang M-L, Li H-Q, Tang N-S. Confidence interval construction for proportion ratio in paired studies based on hybrid method. Statistical Methods in Medical Research 2010; 21(4):361-378

Tang N-S et al. Asymptotic confidence interval construction for proportion difference in medical studies with bilateral data. Statistical Methods in Medical Research. 2011; 20(3):233-259

Yang Z, Sun X and Hardin JW. A non-iterative implementation of Tango's score confidence interval for a paired difference of proportions. Statistics in Medicine 2013; 32:1336-1342

Fagerland MW, Lydersen S, Laake P. Recommended tests and confidence intervals for paired binomial proportions. Statistics in Medicine 2014; 33(16):2850-2875

Laud PJ. Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2017; 16:334-348.

DelRocco N et al. New Confidence Intervals for Relative Risk of Two Correlated Proportions. Statistics in Biosciences 2023; 15:1–30

Chang P et al. Continuity corrected score confidence interval for the difference in proportions in paired data. Journal of Applied Statistics 2024; 51-1:139-152

Laud PJ. Comments on "New Confidence Intervals for Relative Risk of Two Correlated Proportions" (2023). Statistics in Biosciences 2025; https://doi.org/10.1007/s12561-025-09479-4

Laud PJ. Improved confidence intervals and tests for paired binomial proportions. (2025, Under review)

Examples

# Example from Fagerland et al 2014
# SCAS method for RD
pairbinci(x = c(1, 1, 7, 12), contrast = "RD", method = "Score")
# Tango method
pairbinci(x = c(1, 1, 7, 12), contrast = "RD", method = "Score", skew = FALSE, bcf = FALSE)
# MOVER-NJ method
pairbinci(x = c(1, 1, 7, 12), contrast = "RD", method = "MOVER_newc", moverbase = "jeff")
# SCAS for RR
pairbinci(x = c(1, 1, 7, 12), contrast = "RR", method = "Score")
# Tang method
pairbinci(x = c(1, 1, 7, 12), contrast = "RR", method = "Score", skew = FALSE, bcf = FALSE)
# MOVER-NJ
pairbinci(x = c(1, 1, 7, 12), contrast = "RR", method = "MOVER_newc", moverbase = "jeff")
# Transformed SCASp method for OR
pairbinci(x = c(1, 1, 7, 12), contrast = "OR", method = "SCASp")
# Transformed Wilson method
pairbinci(x = c(1, 1, 7, 12), contrast = "OR", method = "wilson")


Selected confidence intervals for the single binomial or Poisson rate.

Description

Confidence intervals for the single binomial or Poisson rate. Including SCAS or Jeffreys intervals, with or without continuity adjustment, and 'exact' Clopper-Pearson/Garwood or mid-p intervals. This function is vectorised in x, n.

Usage

rateci(x, n, distrib = "bin", level = 0.95, cc = FALSE)

Arguments

x

Numeric vector of number of events.

n

Numeric vector of sample size (for binomial rate) or exposure times (for Poisson rate).

distrib

Character string indicating distribution assumed for the input data: "bin" = binomial (default), "poi" = Poisson.

level

Number specifying confidence level (between 0 and 1, default 0.95).

cc

Number or logical (default FALSE) specifying continuity adjustment.

Value

A list containing, for each method, a matrix containing lower and upper confidence limits and point estimate of p for each value of x and n. Methods shown depend on the cc parameter, which specifies whether the continuity adjustment is applied to the SCAS and Jeffreys methods. The corresponding 'exact' method is Clopper-Pearson/Garwood if cc = TRUE and mid-p if cc = FALSE. The last list item contains details of the function call.

Author(s)

Pete Laud, p.j.laud@sheffield.ac.uk

References

Laud PJ. Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2017; 16:334-348. (Appendix A.4)

Brown LD, Cai TT and DasGupta A. Interval estimation for a binomial proportion. Statistical Science 2001; 16(2):101-133.


Skewness-corrected asymptotic score ("SCAS") confidence intervals for comparisons of independent binomial or Poisson rates.

Description

Wrapper function for the SCAS method. Score-based confidence intervals for the rate (or risk) difference ("RD") or ratio ("RR") for independent binomial or Poisson rates, or for odds ratio ("OR", binomial only), or the single rate ("p"). (This is the "GNbc" method from Laud & Dane, developed from Gart & Nam, and generalised as "SCAS" in Laud 2017) including optional continuity adjustment. This function is vectorised in x1, x2, n1, and n2. Vector inputs may also be combined into a single stratified analysis (e.g. meta-analysis). This method assumes the contrast is constant across strata (fixed effects). For a 'random-effects' method use tdasci (or scoreci with random = TRUE).

Usage

scasci(
  x1,
  n1,
  x2 = NULL,
  n2 = NULL,
  distrib = "bin",
  contrast = "RD",
  level = 0.95,
  cc = FALSE,
  theta0 = NULL,
  precis = 6,
  plot = FALSE,
  hetplot = FALSE,
  xlim = NULL,
  ylim = NULL,
  plotmax = 100,
  stratified = FALSE,
  weighting = NULL,
  mn_tol = 1e-08,
  MNtol = NULL,
  wt = NULL,
  warn = TRUE,
  ...
)

Arguments

x1, x2

Numeric vectors of numbers of events in group 1 & group 2 respectively.

n1, n2

Numeric vectors of sample sizes (for binomial rates) or exposure times (for Poisson rates) in each group.

distrib

Character string indicating distribution assumed for the input data:
"bin" = binomial (default),
"poi" = Poisson.

contrast

Character string indicating the contrast of interest:
"RD" = rate difference (default);
"RR" = rate ratio;
"OR" = odds ratio;
"p" gives an interval for the single proportion or rate x1/n1.

level

Number specifying confidence level (between 0 and 1, default 0.95).

cc

Number or logical (default FALSE) specifying (amount of) continuity adjustment. Numeric value between 0 and 0.5 is taken as the gamma parameter in Laud 2017, Appendix S2 (cc = TRUE translates to 0.5 for 'conventional' Yates adjustment).
IMPORTANT NOTES:

  1. This adjustment (conventionally but controversially termed 'continuity correction') is aimed at approximating strictly conservative coverage, NOT for dealing with zero cell counts. Such 'sparse data adjustments' are not needed in the score method, except to deal with double-zero cells for stratified RD (& double-100% cells for binomial RD & RR) with IVS/INV weights.

  2. The continuity adjustments provided here have not been fully tested for stratified methods, but are found to match the continuity-adjusted version of the Mantel-Haenszel test, when cc = 0.5 for any of the binomial contrasts. Flexibility is included for a less conservative adjustment, such as cc = 0.25 suggested in Laud 2017 (see Appendix S3.4), or cc = 3/16 = 0.1875 in Mehrotra & Railkar (2000).

theta0

Number to be used in a one-sided significance test (e.g. non-inferiority margin). 1-sided p-value will be <0.025 iff 2-sided 95\ excludes theta0. By default, a two-sided test against theta0 = 0 (for RD) or 1 (for RR/OR) is also output.

precis

Number (default 6) specifying precision (i.e. number of decimal places) to be used in optimisation subroutine for the confidence interval.

plot

Logical (default FALSE) indicating whether to output plot of the score function

hetplot

Logical (default FALSE) indicating whether to output plots for evaluating heterogeneity of stratified datasets.

xlim

pair of values indicating range of values to be plotted.

ylim

pair of values indicating range of values to be plotted.

plotmax

Numeric value indicating maximum value to be displayed on x-axis of plots (useful for ratio contrasts which can be infinite).

stratified

Logical (default FALSE) indicating whether to combine vector inputs into a single stratified analysis.
IMPORTANT NOTE: The mechanism for stratified calculations is enabled for contrast = "p", but the performance of the resulting intervals has not been fully evaluated.

weighting

String indicating which weighting method to use if stratified = "TRUE":
"IVS" = Inverse Variance of Score (see Laud 2017 for details);
"INV" = Inverse Variance (bcf omitted, default for contrast = "OR" giving CMH test);
"MH" = Mantel-Haenszel (n1j * n2j) / (n1j + n2j) (default for contrast = "RD" or "RR" giving CMH test); (= sample size for contrast = "p");
"MN" = Miettinen-Nurminen weights. (similar to MH for contrast = "RD" or "RR", similar to INV for contrast = "OR");
"Tang" = (n1j * n2j) / (n1j + n2j) / (1 - pj) from Tang 2020, for an optimal test of RD if RRs are constant across strata. (Included only for validation purposes. In general, such a test would more logically use contrast = "RR" with weighting = "INV") For CI consistent with a CMH test, select skew = FALSE, random = FALSE, and use default MH weighting for RD/RR and INV for OR.
Weighting = "MN" also matches the CMH test.
For the Radhakrishna optimal (most powerful) test, select INV weighting.
Note: Alternative user-specified weighting may also be applied, via the 'wt' argument.

mn_tol

Numeric value indicating convergence tolerance to be used in iteration with weighting = "MN".

MNtol

(deprecated: argument renamed to mn_tol)

wt

Numeric vector containing (optional) user-specified weights.
Overrides weighting if non-empty.

warn

Logical (default TRUE) giving the option to suppress warnings.

...

Other arguments.

Value

A list containing the following components:

estimates

a matrix containing estimates of the rates in each group and of the requested contrast, with its confidence interval

pval

a matrix containing details of the corresponding 2-sided significance test against the null hypothesis that p_1 = p_2, and one-sided significance tests against the null hypothesis that theta >= or <= theta0

call

details of the function call

If stratified = TRUE, the following outputs are added:

Qtest

a vector of values describing and testing heterogeneity

weighting

a string indicating the selected weighting method

stratdata

a matrix containing stratum estimates and weights

Author(s)

Pete Laud, p.j.laud@sheffield.ac.uk

References

Laud PJ. Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2017; 16:334-348.

Laud PJ. Corrigendum: Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2018; 17:290-293.


Skewness-corrected asymptotic score ("SCAS") confidence intervals for single binomial or Poisson rate using closed-form calculations.

Description

Closed-form function for computing confidence intervals for a single rate. Note: For associated hypothesis tests, use scoreci() with contrast = "p". This function is vectorised in x, n.

Usage

scaspci(
  x,
  n,
  distrib = "bin",
  level = 0.95,
  bcf = FALSE,
  bign = n,
  xihat = 1,
  cc = FALSE,
  ...
)

Arguments

x

Numeric vector of number of events.

n

Numeric vector of sample sizes (for binomial rates) or exposure times (for Poisson rates).

distrib

Character string indicating distribution assumed for the input data:
"bin" = binomial (default);
"poi" = Poisson.

level

Number specifying confidence level (between 0 and 1, default 0.95).

bcf

Logical (default TRUE) indicating whether to apply bias correction in the score denominator. Applicable to distrib = "bin" only.

bign

Sample size N to be used in the calculation of bcf, if different from n. (Used by transformed SCASp method for paired conditional OR in pairbinci().)

xihat

Number specifying estimated variance inflation factor for a skewness corrected version of the Saha Wilson Score interval for clustered binomial proportions. Need to calculate using BMS and WMS as per Saha 2016. Used by clusterpci() function for data entered per cluster.

cc

Number or logical (default FALSE) specifying (amount of) continuity adjustment. Numeric value is taken as the gamma parameter in Laud 2017, Appendix S2 (default 0.5 for 'conventional' adjustment if cc = TRUE).

...

Other arguments.

Value

A list containing the following components:

estimates

a matrix containing estimated rate(s), the SCAS confidence interval, and the input values x and n.

call

details of the function call.

Author(s)

Pete Laud, p.j.laud@sheffield.ac.uk

References

Laud PJ. Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2017; 16:334-348. (Appendix A.4)


Score confidence intervals and tests for a single binomial or Poisson rate, or for comparisons of independent rates, with or without stratification.

Description

Score-based confidence intervals for the rate (or risk) difference ("RD") or ratio ("RR") for independent binomial or Poisson rates, or for odds ratio ("OR", binomial only). Including options for variance bias correction (from Miettinen & Nurminen), skewness correction ("GNbc" method from Laud & Dane, developed from Gart & Nam, and generalised as "SCAS" in Laud 2017) and continuity adjustment (for strictly conservative coverage).

Also includes score intervals for a single binomial proportion or Poisson rate ("p"). These are based on the Wilson score interval, and when corrected for skewness, coverage is almost identical to the mid-p method, or to Clopper-Pearson when also continuity-adjusted.

Hypothesis tests for association or non-inferiority are provided using the same score, to ensure consistency between test and CI. This function is vectorised in x1, x2, n1, and n2. Vector inputs may also be combined into a single stratified analysis (e.g. meta-analysis), either using fixed effects, or the more general random effects "TDAS" method, which incorporates stratum variability using a t-distribution score (inspired by Hartung-Knapp-Sidik-Jonkman). For fixed-effects analysis of stratified datasets, with weighting = "MH" for RD or RR, or weighting = "INV" for OR, omitting the skewness correction produces the CMH test, together with a coherent confidence interval for the required contrast. Alternatively, weighting = "INV" for any contrast gives intervals consistent with the efficient score test.

Usage

scoreci(
  x1,
  n1,
  x2 = 0,
  n2 = 0,
  distrib = "bin",
  contrast = "RD",
  level = 0.95,
  skew = TRUE,
  simpleskew = FALSE,
  or_bias = TRUE,
  ORbias = NULL,
  rr_tang = NULL,
  RRtang = NULL,
  bcf = ifelse(contrast != "p", TRUE, FALSE),
  cc = FALSE,
  theta0 = NULL,
  precis = 6,
  plot = FALSE,
  plotmax = 100,
  hetplot = FALSE,
  xlim = NULL,
  ylim = NULL,
  stratified = FALSE,
  weighting = NULL,
  mn_tol = 1e-08,
  MNtol = NULL,
  wt = NULL,
  sda = NULL,
  fda = NULL,
  dropzeros = FALSE,
  random = FALSE,
  prediction = FALSE,
  warn = TRUE,
  ...
)

Arguments

x1, x2

Numeric vectors of numbers of events in group 1 & group 2 respectively.

n1, n2

Numeric vectors of sample sizes (for binomial rates) or exposure times (for Poisson rates) in each group.

distrib

Character string indicating distribution assumed for the input data:
"bin" = binomial (default),
"poi" = Poisson.

contrast

Character string indicating the contrast of interest:
"RD" = rate difference (default);
"RR" = rate ratio;
"OR" = odds ratio;
"p" gives an interval for the single proportion or rate x1/n1.

level

Number specifying confidence level (between 0 and 1, default 0.95).

skew

Logical (default TRUE) indicating whether to apply skewness correction (for the SCAS or Gart-Nam method) or not (for the Miettinen-Nurminen method).

simpleskew

Logical (default FALSE) indicating whether to use the "simplified" skewness correction instead of the quadratic solution. See Laud 2021 for details.
NOTE: this version of the score is only suitable for obtaining confidence limits, not p-values.

or_bias

Logical (default is TRUE for contrast = "OR", otherwise NULL) indicating whether to apply additional bias correction for OR derived from Gart 1985. (Laud 2018). Only applies if contrast is "OR".

ORbias

(deprecated: argument renamed to or_bias.)

rr_tang

Logical indicating whether to use Tang's score for RR: Stheta = (p1hat - p2hat * theta) / p2d (see Tang 2020). Default TRUE for stratified = TRUE, with weighting = "IVS" or "INV". Forced to FALSE for stratified = TRUE with other weightings. Has no effect when stratified = FALSE, as p2d terms cancel out. Experimental for distrib = "poi".

RRtang

(deprecated: argument renamed to rr_tang.)

bcf

Logical (default TRUE) indicating whether to apply 'N-1' variance correction in the score denominator. Applicable to distrib = "bin" only.
NOTE: bcf = FALSE option is really only included for legacy validation against previous published methods (i.e. Gart & Nam, Mee, or standard Chi-squared test) and for contrast = "p".

cc

Number or logical (default FALSE) specifying (amount of) continuity adjustment. Numeric value between 0 and 0.5 is taken as the gamma parameter in Laud 2017, Appendix S2 (cc = TRUE translates to 0.5 for 'conventional' Yates adjustment).
IMPORTANT NOTES:

  1. This adjustment (conventionally but controversially termed 'continuity correction') is aimed at approximating strictly conservative coverage, NOT for dealing with zero cell counts. Such 'sparse data adjustments' are not needed in the score method, except to deal with double-zero cells for stratified RD (& double-100% cells for binomial RD & RR) with IVS/INV weights.

  2. The continuity adjustments provided here have not been fully tested for stratified methods, but are found to match the continuity-adjusted version of the Mantel-Haenszel test, when cc = 0.5 for any of the binomial contrasts. Flexibility is included for a less conservative adjustment, such as cc = 0.25 suggested in Laud 2017 (see Appendix S3.4), or cc = 3/16 = 0.1875 in Mehrotra & Railkar (2000).

theta0

Number to be used in a one-sided significance test (e.g. non-inferiority margin). 1-sided p-value will be <0.025 iff 2-sided 95\ excludes theta0. (If bcf = FALSE and skew = FALSE this gives a Farrington-Manning test.)
By default, a two-sided test for association against theta0 = 0 (for RD) or 1 (for RR/OR) is also output:

  • If bcf = FALSE and skew = FALSE this is the same as K. Pearson's Chi-squared test in the single stratum case.

  • bcf = TRUE gives E. Pearson's 'N-1' Chi-squared test for a single stratum, (Recommended by Campbell 2007: https://doi.org/10.1002/sim.2832) and (with default weighting and random = FALSE) the CMH test for stratified tables.

  • Default bcf = TRUE and 'skew = TRUE produces a skewness-corrected version of the 'N-1' Chi-squared test or CMH. This correction will only change the p-value if group sizes are unequal.

precis

Number (default 6) specifying precision (i.e. number of decimal places) to be used in optimisation subroutine for the confidence interval.

plot

Logical (default FALSE) indicating whether to output plot of the score function

plotmax

Numeric value indicating maximum value to be displayed on x-axis of plots (useful for ratio contrasts which can be infinite).

hetplot

Logical (default FALSE) indicating whether to output plots for evaluating heterogeneity of stratified datasets.

xlim

pair of values indicating range of values to be plotted.

ylim

pair of values indicating range of values to be plotted.

stratified

Logical (default FALSE) indicating whether to combine vector inputs into a single stratified analysis.
IMPORTANT NOTE: The mechanism for stratified calculations is enabled for contrast = "p", but the performance of the resulting intervals has not been fully evaluated.

weighting

String indicating which weighting method to use if stratified = "TRUE":
"IVS" = Inverse Variance of Score (see Laud 2017 for details);
"INV" = Inverse Variance (bcf omitted, default for contrast = "OR" giving CMH test);
"MH" = Mantel-Haenszel (n1j * n2j) / (n1j + n2j) (default for contrast = "RD" or "RR" giving CMH test); (= sample size for contrast = "p");
"MN" = Miettinen-Nurminen weights. (similar to MH for contrast = "RD" or "RR", similar to INV for contrast = "OR");
"Tang" = (n1j * n2j) / (n1j + n2j) / (1 - pj) from Tang 2020, for an optimal test of RD if RRs are constant across strata. (Included only for validation purposes. In general, such a test would more logically use contrast = "RR" with weighting = "INV") For CI consistent with a CMH test, select skew = FALSE, random = FALSE, and use default MH weighting for RD/RR and INV for OR.
Weighting = "MN" also matches the CMH test.
For the Radhakrishna optimal (most powerful) test, select INV weighting.
Note: Alternative user-specified weighting may also be applied, via the 'wt' argument.

mn_tol

Numeric value indicating convergence tolerance to be used in iteration with weighting = "MN".

MNtol

(deprecated: argument renamed to mn_tol)

wt

Numeric vector containing (optional) user-specified weights.
Overrides weighting if non-empty.

sda

Sparse data adjustment to avoid zero variance when x1 + x2 = 0: Only applied when stratified = TRUE. Default 0.5 for RD with IVS/INV weights. Not required for RR/OR, default is to remove double-zero strata instead.

fda

Full data adjustment to avoid zero variance when x1 + x2 = n1 + n2: Only applied when stratified = TRUE. Default 0.5 for RD & RR with IVS/INV weights. Not required for OR, default is to remove affected strata.

dropzeros

Logical (default FALSE) indicating whether to drop uninformative strata for RR/OR (i.e. strata with x1 + x2 = 0), even when the choice of weights would allow them to be retained for a fixed effects analysis. Has no effect on estimates, just the heterogeneity test.

random

Logical (default FALSE) indicating whether to perform random effects meta-analysis for stratified data, using the t-distribution (TDAS) method for stratified data (defined in Laud 2017).
NOTE: If random = TRUE, then skew = TRUE only affects the per-stratum estimates.

prediction

Logical (default FALSE) indicating whether to produce a prediction interval (work in progress).

warn

Logical (default TRUE) giving the option to suppress warnings.

...

Other arguments.

Value

A list containing the following components:

estimates

a matrix containing estimates of the requested contrast and its confidence interval, and the estimated rates in each group: (p1hat, p2hat) are (r1, r0) from Miettinen-Nurminen, or (r1*, r0*) when stratified; (p1mle, p2mle) are (R1, R0), or (R1*, R0*) when stratified, evaluated at the MLE for the contrast parameter, incorporating any specified skewness/bias corrections.

pval

a matrix containing details of the corresponding 2-sided significance test against the null hypothesis that p_1 = p_2, and one-sided significance tests against the null hypothesis that theta >= or <= theta0.

call

details of the function call.

If stratified = TRUE, the following outputs are added:

Qtest

a vector of values describing and testing heterogeneity, including a score-based version of a Q statistic and p-value, I^2 and tau^2 to quantify heterogeneity, and a test for qualitative interaction analogous to the Gail and Simon test.

weighting

a string indicating the selected weighting method.

stratdata

a matrix containing stratum estimates and weights.

Author(s)

Pete Laud, p.j.laud@sheffield.ac.uk

References

Laud PJ. Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2017; 16:334-348.

Laud PJ. Corrigendum: Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2018; 17:290-293.

Laud PJ, Dane A. Confidence intervals for the difference between independent binomial proportions: comparison using a graphical approach and moving averages. Pharmaceutical Statistics 2014; 13(5):294-308.

Miettinen OS, Nurminen M. Comparative analysis of two rates. Statistics in Medicine 1985; 4:213-226.

Farrington CP, Manning G. Test statistics and sample size formulae for comparative binomial trials with null hypothesis of non-zero risk difference or non-unity relative risk. Statistics in Medicine 1990; 9(12):1447-1454.

Gart JJ. Analysis of the common odds ratio: corrections for bias and skewness. Bulletin of the International Statistical Institute 1985, 45th session, book 1, 175-176.

Gart JJ, Nam Jm. Approximate interval estimation of the ratio of binomial parameters: a review and corrections for skewness. Biometrics 1988; 44(2):323-338.

Gart JJ, Nam Jm. Approximate interval estimation of the difference in binomial parameters: correction for skewness and extension to multiple tables. Biometrics 1990; 46(3):637-643.

Tang Y. Score confidence intervals and sample sizes for stratified comparisons of binomial proportions. Statistics in Medicine 2020; 39:3427-3457.

Examples

# Binomial RD, SCAS method:
scoreci(
  x1 = c(12, 19, 5), n1 = c(16, 29, 56),
  x2 = c(1, 22, 0), n2 = c(16, 30, 29)
)

# Binomial RD, MN method:
scoreci(
  x1 = c(12, 19, 5), n1 = c(16, 29, 56),
  x2 = c(1, 22, 0), n2 = c(16, 30, 29), skew = FALSE
)

# Poisson RR, SCAS method:
scoreci(x1 = 5, n1 = 56, x2 = 0, n2 = 29, distrib = "poi", contrast = "RR")

# Poisson RR, MN method:
scoreci(
  x1 = 5, n1 = 56, x2 = 0, n2 = 29, distrib = "poi",
  contrast = "RR", skew = FALSE
)

# Binomial rate, SCAS method:
scoreci(x1 = c(5, 0), n1 = c(56, 29), contrast = "p")

# Binomial rate, Wilson score method:
scoreci(x1 = c(5, 0), n1 = c(56, 29), contrast = "p", skew = FALSE)

# Poisson rate, SCAS method:
scoreci(x1 = c(5, 0), n1 = c(56, 29), distrib = "poi", contrast = "p")

# Stratified example, using data from Hartung & Knapp:
scoreci(
  x1 = c(15, 12, 29, 42, 14, 44, 14, 29, 10, 17, 38, 19, 21),
  x2 = c(9, 1, 18, 31, 6, 17, 7, 23, 3, 6, 12, 22, 19),
  n1 = c(16, 16, 34, 56, 22, 54, 17, 58, 14, 26, 44, 29, 38),
  n2 = c(16, 16, 34, 56, 22, 55, 15, 58, 15, 27, 45, 30, 38),
  stratified = TRUE
)

# "Random effects" TDAS example, using data from Hartung & Knapp:
scoreci(
  x1 = c(15, 12, 29, 42, 14, 44, 14, 29, 10, 17, 38, 19, 21),
  x2 = c(9, 1, 18, 31, 6, 17, 7, 23, 3, 6, 12, 22, 19),
  n1 = c(16, 16, 34, 56, 22, 54, 17, 58, 14, 26, 44, 29, 38),
  n2 = c(16, 16, 34, 56, 22, 55, 15, 58, 15, 27, 45, 30, 38),
  stratified = TRUE, random = TRUE
)

# Stratified example, with extremely rare instance of non-calculable skewness
# correction seen on plot of score function:

scoreci(
  x1 = c(1, 16), n1 = c(20, 40), x2 = c(0, 139), n2 = c(80, 160),
  contrast = "RD", skew = TRUE, simpleskew = FALSE,
  distrib = "bin", stratified = TRUE, plot = TRUE, weighting = "IVS"
)


t-distribution asymptotic score ("TDAS") confidence intervals for random effects stratified comparisons of independent binomial or Poisson rates.

Description

Wrapper function for the TDAS method. Score-based stratified confidence intervals for the rate (or risk) difference ("RD") or ratio ("RR") for independent binomial or Poisson rates, or for odds ratio ("OR", binomial only), or for prevalence or incidence rate ("p"). This function combines vector inputs into a single stratified random effects analysis (e.g. meta-analysis), incorporating any stratum variability into the confidence interval.

Usage

tdasci(
  x1,
  n1,
  x2 = NULL,
  n2 = NULL,
  distrib = "bin",
  contrast = "RD",
  level = 0.95,
  cc = FALSE,
  theta0 = NULL,
  precis = 6,
  plot = FALSE,
  hetplot = FALSE,
  plotmax = 100,
  xlim = NULL,
  ylim = NULL,
  weighting = NULL,
  mn_tol = 1e-08,
  MNtol = NULL,
  wt = NULL,
  skew = TRUE,
  prediction = FALSE,
  warn = TRUE,
  ...
)

Arguments

x1, x2

Numeric vectors of numbers of events in group 1 & group 2 respectively.

n1, n2

Numeric vectors of sample sizes (for binomial rates) or exposure times (for Poisson rates) in each group.

distrib

Character string indicating distribution assumed for the input data:
"bin" = binomial (default),
"poi" = Poisson.

contrast

Character string indicating the contrast of interest:
"RD" = rate difference (default);
"RR" = rate ratio;
"OR" = odds ratio;
"p" gives an interval for the single proportion or rate x1/n1.

level

Number specifying confidence level (between 0 and 1, default 0.95).

cc

Number or logical (default FALSE) specifying (amount of) continuity adjustment. Numeric value between 0 and 0.5 is taken as the gamma parameter in Laud 2017, Appendix S2 (cc = TRUE translates to 0.5 for 'conventional' Yates adjustment).
IMPORTANT NOTES:

  1. This adjustment (conventionally but controversially termed 'continuity correction') is aimed at approximating strictly conservative coverage, NOT for dealing with zero cell counts. Such 'sparse data adjustments' are not needed in the score method, except to deal with double-zero cells for stratified RD (& double-100% cells for binomial RD & RR) with IVS/INV weights.

  2. The continuity adjustments provided here have not been fully tested for stratified methods, but are found to match the continuity-adjusted version of the Mantel-Haenszel test, when cc = 0.5 for any of the binomial contrasts. Flexibility is included for a less conservative adjustment, such as cc = 0.25 suggested in Laud 2017 (see Appendix S3.4), or cc = 3/16 = 0.1875 in Mehrotra & Railkar (2000).

theta0

Number to be used in a one-sided significance test (e.g. non-inferiority margin). 1-sided p-value will be <0.025 iff 2-sided 95\ excludes theta0. By default, a two-sided test against theta0 = 0 (for RD) or 1 (for RR/OR) is also output.

precis

Number (default 6) specifying precision (i.e. number of decimal places) to be used in optimisation subroutine for the confidence interval.

plot

Logical (default FALSE) indicating whether to output plot of the score function

hetplot

Logical (default FALSE) indicating whether to output plots for evaluating heterogeneity of stratified datasets.

plotmax

Numeric value indicating maximum value to be displayed on x-axis of plots (useful for ratio contrasts which can be infinite).

xlim

pair of values indicating range of values to be plotted.

ylim

pair of values indicating range of values to be plotted.

weighting

String indicating which weighting method to use if stratified = "TRUE":
"IVS" = Inverse Variance of Score (see Laud 2017 for details);
"INV" = Inverse Variance (bcf omitted, default for contrast = "OR" giving CMH test);
"MH" = Mantel-Haenszel (n1j * n2j) / (n1j + n2j) (default for contrast = "RD" or "RR" giving CMH test); (= sample size for contrast = "p");
"MN" = Miettinen-Nurminen weights. (similar to MH for contrast = "RD" or "RR", similar to INV for contrast = "OR");
"Tang" = (n1j * n2j) / (n1j + n2j) / (1 - pj) from Tang 2020, for an optimal test of RD if RRs are constant across strata. (Included only for validation purposes. In general, such a test would more logically use contrast = "RR" with weighting = "INV") For CI consistent with a CMH test, select skew = FALSE, random = FALSE, and use default MH weighting for RD/RR and INV for OR.
Weighting = "MN" also matches the CMH test.
For the Radhakrishna optimal (most powerful) test, select INV weighting.
Note: Alternative user-specified weighting may also be applied, via the 'wt' argument.

mn_tol

Numeric value indicating convergence tolerance to be used in iteration with weighting = "MN".

MNtol

(deprecated: argument renamed to mn_tol)

wt

Numeric vector containing (optional) user-specified weights.
Overrides weighting if non-empty.

skew

Logical (default TRUE) indicating whether to apply skewness correction (for the SCAS method recommended in Laud 2017) or not (for the Miettinen-Nurminen method) to the per-stratum estimates provided in the output. Has no effect on the TDAS interval itself.

prediction

Logical (default FALSE) indicating whether to produce a prediction interval (work in progress).

warn

Logical (default TRUE) giving the option to suppress warnings.

...

Other arguments.

Value

A list containing the following components:

estimates

a matrix containing estimates of the rates in each group and of the requested contrast, with its confidence interval

pval

a matrix containing details of the corresponding 2-sided significance test against the null hypothesis that p_1 = p_2, and one-sided significance tests against the null hypothesis that theta >= or <= theta0

Qtest

a vector of values describing and testing heterogeneity

weighting

a string indicating the selected weighting method

stratdata

a matrix containing stratum estimates and weights

call

details of the function call

Author(s)

Pete Laud, p.j.laud@sheffield.ac.uk

References

Laud PJ. Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2017; 16:334-348.

Laud PJ. Corrigendum: Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics 2018; 17:290-293.