R/ddiwas_brglm.R

Defines functions ddiwas_brglm

Documented in ddiwas_brglm

#' DDIWAS Firth regression using implementation in `brglm2` package
#'
#' @param drug a string
#' @return A dataframe \code{ddiwas_results}
#' @export

ddiwas_brglm <- function(drug) try({
  print(paste(drug))
  regression_covariates["drug"] <- regression_drugs[drug]
  # run model to get statistics
  firthModel <- brglm::brglm(groupc ~ drug+obs_length_n+age_n+is_m+is_w, family = binomial(logit), data=regression_covariates, method = "brglm.fit")
  firthModel <- tidy(firthModel)
  # calculate 2x2 contingency table numbers
  regression_covariates_cases <- filter(regression_covariates, groupc == 1)
  regression_covariates_controls <- filter(regression_covariates, groupc == 0)
  nA <- sum(regression_covariates_cases["drug"])
  nB <- sum(regression_covariates_controls["drug"])
  nC <- nCases-nA
  nD <- nControls-nB
  # store results
  results <- tibble(
    drug = drug,
    coef = firthModel$estimate[2],
    se = firthModel$std.error[2],
    pval = firthModel$p.value[2],
    or = exp(firthModel$estimate[2]),
    nA = nA,
    nB = nB,
    nC = nC,
    nD = nD
  )
})
patrickwu510/ddiwas documentation built on June 26, 2020, 6:56 a.m.