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 bias correction (from Miettinen & Nurminen), skewness correction ("GNbc" method from Laud & Dane, developed from Gart & Nam, and generalised as "SCAS" in Laud 2017 [in press]) and continuity correction. Also includes intervals for a single proportion, i.e. Wilson score method, with skewness correction, which has slightly better coverage properties than the Jeffreys method. 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 "TDAS" method, which incorporates stratum variability using a t-distribution score (inspired by to Hartung-Knapp-Sidik-Jonkman).

1 2 3 4 5 |

`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" = single proportion. |

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

`skew` |
Logical (default TRUE) indicating whether to apply skewness correction (Laud 2016). |

`bcf` |
Logical (default TRUE) indicating whether to apply bias correction in the score denominator. Applicable to distrib = "bin" only. (NB: bcf = FALSE option is really only included for legacy validation against previous published methods (i.e. Gart & Nam, Mee). |

`cc` |
Number or logical (default FALSE) specifying (amount of) continuity correction. |

`delta` |
(deprecated: parameter renamed to theta0) |

`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% CI excludes theta0. NB: can also be used for a superiority test by setting theta0 = 0 (RD) or 1 (RR/OR). By default, a two-sided test against theta0 = 0 or 1 is also output: if bcf=F and skew=F this is the same as Pearson's Chi-squared test. |

`precis` |
Number (default 6) specifying precision to be used in optimisation subroutine (i.e. number of decimal places). |

`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). |

`stratified` |
Logical (default FALSE) indicating whether to combine vector inputs into a single stratified analysis. |

`weighting` |
String indicating which weighting method to use if stratified = "TRUE": "IVS" = Inverse Variance of Score (default), "MH" = Mantel-Haenszel, "MN" = Miettinen-Nurminen iterative weights. |

`wt` |
Numeric vector containing (optional) user-specified weights. |

`tdas` |
Logical (default FALSE) indicating whether to use t-distribution method for stratified data (defined in Laud 2016). |

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

`...` |
Other arguments. |

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 agains 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 descibing and testing heterogeneity

- weighting
a string indicating the selected weighting method

- stratdata
a matrix containing stratum estimates and weights

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

Laud PJ. Equal-tailed confidence intervals for comparison of rates. Pharmaceutical Statistics [in press].

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, 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.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | ```
#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)
#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, tdas = TRUE)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.