R vs SAS Confidence Intervals for Independent Proportions

Introduction

See the summary page for general introductory information on confidence intervals for proportions, including the principles underlying the most common methods.

For more technical derivation of methods for comparing independent proportions, see the corresponding SAS page.

The tables below provide an overview of findings from R & SAS, for calculation of CIs for comparisons of 2 independent proportions.

Note that if the number of responses in both groups is zero, SAS fails to produce confidence intervals for the difference.

Proportion Difference

Analysis of Two Independent Sample Proportions Supported in R Supported in SAS Results Match
Normal approximation (Wald Method)

Yes {ratesci} rdci()

Yes {DescTools}

BinomDiffCI(..,method = c("wald"))

Yes (default) Yes and results match by hand calculation
Agresti-Caffo

Yes {ratesci} rdci()

Yes {DescTools}

BinomDiffCI(..,method=c("ac"))

Yes Yes
MOVER Wilson (Newcombe hybrid score) method

Yes {ratesci} rdci()

Yes {DescTools}

BinomDiffCI(..,method=c("score"))

Yes (‘Newcombe’)

Yes and results match by hand calculation.

Warning: {DescTools} ‘method=score’ not to be confused with Asymptotic Score methods.

MOVER Jeffreys Yes {ratesci} rdci() No NA
Miettinen-Nurminen Asymptotic Score

Yes {ratesci} rdci()

Yes {DescTools}

BinomDiffCI(..,method=c("mn"))

Yes Yes
Mee Asymptotic Score

Yes {ratesci} rdci()

Yes {DescTools}

BinomDiffCI(..,method=c("mn"))

Yes (‘Miettinen-Nurminen-Mee’) Yes
Skewness-corrected Asymptotic Score

Yes {ratesci} rdci()

Yes {ratesci}

scasci(..,contrast="RD")

No NA
Normal approximation (Wald Method) with continuity correction

Yes {ratesci} rdci(..., cc=TRUE)

Yes {DescTools}

BinomDiffCI(..,method=c("waldcc"))

Yes Yes
Hauck-Anderson continuity adjusted

Yes {ratesci} rdci(..., cc=TRUE)

Yes {DescTools}

BinomDiffCI(..,method=c("ha"))

Yes Yes
MOVER Wilson (Newcombe) method with continuity adjustment

Yes {ratesci} rdci(..., cc=TRUE)

Yes {DescTools}

BinomDiffCI(..,method=c("scorecc"))

Yes (‘Newcombe (Corrected)’) Yes
MOVER Jeffreys with continuity adjustment Yes {ratesci} rdci(..., cc=TRUE) No NA
Asymptotic Score methods with continuity adjustment Yes {ratesci} rdci(..., cc=TRUE) No NA
‘Exact’ methods No Yes NA

Relative Risk

(Continuity-adjusted methods omitted for brevity)

Analysis of Two Independent Sample Proportions Supported in R Supported in SAS Results Match
Normal approximation (Wald/Katz log Method)

Yes {ratesci} rrci()

Yes {DescTools}

BinomRatioCI(..,method=c("katz.log"))

Yes (default) Yes
Likelihood ratio No

Yes

CL=LR

NA
MOVER-R Wilson Yes {ratesci} rrci() No NA
MOVER-R Jeffreys Yes {ratesci} rrci() No NA
Miettinen-Nurminen Asymptotic Score

Yes {ratesci} rrci()

Yes {DescTools}

BinomRatioCI(..,method=c("mn"))

Yes (‘Score’)

CL=score

Yes
Koopman Asymptotic Score

Yes {ratesci} rrci()

Yes {DescTools}

BinomDiffCI(..,method=c("mn"))

Yes

CL=(score(correct=no))

Yes
Skewness-corrected Asymptotic Score Yes {ratesci} rrci() No NA
Continuity adjusted methods Yes {ratesci} rrci(..., cc=TRUE) No NA

Odds Ratio

(Continuity-adjusted methods omitted for brevity)

Analysis of Two Independent Sample Proportions Supported in R Supported in SAS Results Match
Normal approximation (Wald/Woolf logit Method)

Yes {ratesci} orci()

Yes {contingencytables}

Woolf_logit_CI_2x2()

Yes (default) Yes
Likelihood ratio No

Yes

CL=LR

NA
Mid-P

Yes {contingencytables}

Cornfield_midP_CI_2x2()

Yes Yes
MOVER-R Wilson Yes {ratesci} orci() No NA
MOVER-R Jeffreys Yes {ratesci} orci() No NA
Miettinen-Nurminen Asymptotic Score Yes {ratesci} orci()

Yes (‘Score’)

CL=score

Yes
Uncorrected Asymptotic Score Yes {ratesci} orci()

Yes

CL=(score(correct=no))

Yes
Skewness-corrected Asymptotic Score Yes {ratesci} orci() No NA
Continuity adjusted methods

Yes {ratesci}

orci(..., cc=TRUE)

No NA

Prerequisites: R Packages

See the R page for more detail.

# Example R packages required
# pak::pak("petelaud/ratesci") # development version from GitHub
library(ratesci)