## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set(collapse = TRUE, comment = "#>") ## ----setup-------------------------------------------------------------------- library(respondeR) ## ----------------------------------------------------------------------------- sample_responder_data ## ----------------------------------------------------------------------------- res <- responder_analysis(sample_responder_data, mid = 1) res[, c("method", "p_e", "p_c", "rd", "rd_lb", "rd_ub", "rr", "or", "nnt")] ## ----------------------------------------------------------------------------- format_responder_results(res) ## ----------------------------------------------------------------------------- responder_analysis(sample_responder_data, mid = 1, direction = "lower", method = "individual")[, c("method", "rd", "rd_lb", "rd_ub")] ## ----------------------------------------------------------------------------- responder_analysis(sample_responder_data, mid = 1, control = "median")[, c("method", "p_e", "p_c", "rd")] ## ----------------------------------------------------------------------------- responder_rd_individual(sample_responder_data, mid = 1) ## ----fig.width = 6, fig.height = 3.2, fig.alt = "Forest plot of per-study responder risk differences"---- ps <- responder_rd_individual(sample_responder_data, mid = 1) pooled <- responder_analysis(sample_responder_data, mid = 1, method = "individual") y <- rev(seq_len(nrow(ps) + 1)) est <- c(ps$rd, pooled$rd) * 100 lo <- c(ps$ci_lb, pooled$rd_lb) * 100 hi <- c(ps$ci_ub, pooled$rd_ub) * 100 labels <- c(as.character(ps$study), "Pooled") op <- par(mar = c(4, 6, 1, 1)) plot(NA, xlim = range(c(lo, hi, 0)), ylim = c(0.5, length(y) + 0.5), yaxt = "n", xlab = "Risk difference (%)", ylab = "", bty = "n") abline(v = 0, lty = 2, col = "grey60") segments(lo, y, hi, y, lwd = 2) points(est, y, pch = c(rep(15, nrow(ps)), 18), cex = c(rep(1.4, nrow(ps)), 2)) axis(2, at = y, labels = labels, las = 1, tick = FALSE) par(op) ## ----------------------------------------------------------------------------- responder_analysis(sample_responder_data, mid = 1, method = "individual", pooling = "random")[, c("method", "rd", "rd_lb", "rd_ub", "tau2", "i2", "pi_lb", "pi_ub")] ## ----------------------------------------------------------------------------- cles <- responder_cles(sample_responder_data) sprintf("CLES = %.1f%% (%.1f%% to %.1f%%)", 100 * cles$cles, 100 * cles$cles_lb, 100 * cles$cles_ub) ## ----------------------------------------------------------------------------- res <- responder_analysis(vas_pain, mid = -1.5, direction = "lower", pooling = "random", ci_method = "hksj") format_responder_results(res) ## ----------------------------------------------------------------------------- cles <- responder_cles(vas_pain, direction = "lower") sprintf("A treated patient has less pain than a control %.0f%% of the time (%.0f%% to %.0f%%)", 100 * cles$cles, 100 * cles$cles_lb, 100 * cles$cles_ub) ## ----eval = FALSE------------------------------------------------------------- # launch_responder_analysis()