#' @title
#' Calculate an odds ratio (OR) from a risk ratio (RR)
#'
#' @description
#' Calculate an odds ratio (OR) from a risk ratio (RR) and the outcome prevalence
#' in the unexposed (referent) group.
#'
#'
#' @param .riskratio
#' numeric: risk ratio.
#'
#' @param .baseline
#' numeric: outcome prevalence in unexposed (referent) group.
#'
#' @return
#' An odds ratio.
#'
#' @export
risk_ratio_to_odds_ratio <- function(.riskratio = NULL, .baseline = NULL) {
if (!hasArg(.riskratio) | !is.numeric(.riskratio)) {
cli::cli_abort(c(
"{.var .riskratio} must be a numeric vector.",
"x" = "You have supplied a {.cls {class(.riskratio)}} vector."
))
}
if (!hasArg(.baseline) | !is.numeric(.baseline)) {
cli::cli_abort(c(
"{.var .baseline} must be a numeric vector.",
"x" = "You have supplied a {.cls {class(.baseline)}} vector."
))
}
if (.baseline < 0 | .baseline > 1) {
cli::cli_abort(c(
"{.var .baseline} must be probability between [0, 1].",
"x" = "You have supplied a value less than 0 or greater than 1."
))
}
if (.baseline == 0 | .baseline == 1) {
cli::cli_warn(c(
"{.var .baseline} should not be 0 or 1, with rare exception.",
"i" = "You have supplied a {.var .baseline} value of 0 or 1.",
"i" = "Run {.run help(risk_ratio_to_odds_ratio)} for more details."
))
}
.oddsratio <- .riskratio * (1 - .baseline) / (1 - .riskratio * .baseline)
return(.oddsratio)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.