This function calculates the odds ratio and relative risk for a 2 x 2
contingency table and a
confidence interval (default conf.level is 95 percent) for the
each estimate. x should be a matrix, data frame or table. "Successes"
should be located in column 1 of x, and the treatment of interest
should be located in row 2. The odds ratio is calculated as (Odds row 2) /
(Odds row 1). The confidence interval is calculated from the log(OR) and
backtransformed.
orrr(
x,
conf.level = 0.95,
verbose = !quiet,
quiet = TRUE,
digits = 3,
relrisk = FALSE
)
oddsRatio(x, conf.level = 0.95, verbose = !quiet, quiet = TRUE, digits = 3)
relrisk(x, conf.level = 0.95, verbose = !quiet, quiet = TRUE, digits = 3)
# S3 method for oddsRatio
print(x, digits = 4, ...)
# S3 method for relrisk
print(x, digits = 4, ...)
# S3 method for oddsRatio
summary(object, digits = 4, ...)
# S3 method for relrisk
summary(object, digits = 4, ...)a 2 x 2 matrix, data frame, or table of counts
the confidence interval level
a logical indicating whether verbose output should be displayed
a logical indicating whether verbose output should be suppressed
number of digits to display
a logical indicating whether the relative risk should be returned instead of the odds ratio
additional arguments
an R object to print or summarise. Here an object of class
"oddsRatio" or "relrisk".
an odds ratio or relative risk. If verpose is true,
more details and the confidence intervals are displayed.
M1 <- matrix(c(14, 38, 51, 11), nrow = 2)
M1
#> [,1] [,2]
#> [1,] 14 51
#> [2,] 38 11
oddsRatio(M1)
#> [1] 12.58442
M2 <- matrix(c(18515, 18496, 1427, 1438), nrow = 2)
rownames(M2) <- c("Placebo", "Aspirin")
colnames(M2) <- c("No", "Yes")
M2
#> No Yes
#> Placebo 18515 1427
#> Aspirin 18496 1438
oddsRatio(M2)
#> [1] 0.9913321
oddsRatio(M2, verbose = TRUE)
#>
#> Odds Ratio
#>
#> Proportions
#> Prop. 1: 0.9284
#> Prop. 2: 0.9279
#> Rel. Risk: 0.9994
#>
#> Odds
#> Odds 1: 12.97
#> Odds 2: 12.86
#> Odds Ratio: 0.9913
#>
#> 95 percent confidence interval:
#> 0.9939 < RR < 1.005
#> 0.9188 < OR < 1.07
#> NULL
#> [1] 0.9913321
relrisk(M2, verbose = TRUE)
#>
#> Odds Ratio
#>
#> Proportions
#> Prop. 1: 0.9284
#> Prop. 2: 0.9279
#> Rel. Risk: 0.9994
#>
#> Odds
#> Odds 1: 12.97
#> Odds 2: 12.86
#> Odds Ratio: 0.9913
#>
#> 95 percent confidence interval:
#> 0.9939 < RR < 1.005
#> 0.9188 < OR < 1.07
#> NULL
#> [1] 0.9993747
if (require(mosaicData)) {
relrisk(tally(~ homeless + sex, data = HELPrct) )
do(3) * relrisk( tally( ~ homeless + shuffle(sex), data = HELPrct) )
}
#> Using parallel package.
#> * Set seed with set.rseed().
#> * Disable this message with options(`mosaic:parallelMessage` = FALSE)
#> RR
#> 1 1.0934775
#> 2 1.0528518
#> 3 0.8098361