R/summary.OptGS_des.R

Defines functions summary.OptGS_des

Documented in summary.OptGS_des

#' Summarise the key details of a group-sequential clinical trial design for a
#' normally distributed primary outcome
#'
#' \code{summary.OptGS_des()} summarises the key details from a group-sequential
#' clinical trial design object for a normally distributed primary outcome.
#'
#' @param object An object of class OptGS_des, as returned by
#' \code{\link{des_gs}}, \code{\link{des_nearopt}}, \code{\link{des_opt}}, or
#' \code{\link{build}}. Defaults to \code{des_gs()}.
#' @param ... For compatability with the generic.
#' @examples
#' # A two-stage design
#' summary(opt_gs())
#' # A three-stage design
#' summary(opt_gs(J = 3))
#' @seealso \code{\link{an}}, \code{\link{des_gs}}, \code{\link{des_nearopt}},
#' \code{\link{des_opt}}, \code{\link{build}}, \code{\link{sim}},
#' \code{\link{plot.OptGS_des}}, \code{\link{plot.OptGS_opchar}},
#' \code{\link{opchar}}, \code{\link{summary.OptGS_des}}.
#' @export
summary.OptGS_des <- function(object, ...) {

  ##### Check input variables ##################################################

  check_OptGS_des(object, "object")
  x <- object

  ##### Print summary ##########################################################

  message("  ", rep("-", 37 + as.numeric(x$J >= 10) + as.numeric(x$J >= 100)))
  message("  ", x$J, "-stage group-sequential trial design")
  message("  ", rep("-", 37 + as.numeric(x$J >= 10) + as.numeric(x$J >= 100)))
  message("")
  message("  Control arm group-size:      n0 = ", round(x$n0, 2))
  message("  Experimental arm group-size: n1 = ", round(x$n1, 2))
  message("")
  message("  Efficacy boundaries: e = (", paste0(round(x$f, 3),
                                                 collapse = ", "), ")")
  message("  Futility boundaries: f = (", paste0(round(x$f, 3),
                                                 collapse = ", "), ")")
  message("")
  len <- length(strsplit(as.character(x$delta), split = "")[[1]])
  message("  ESS(0)", rep(" ", max(11, len)), "= ",
          round(x$opchar$`ESS(tau)`[1], 2))
  message("  ESS(", x$delta, ")", rep(" ", max(1*(len >= 12), 12 - len)),  "= ",
          round(x$opchar$`ESS(tau)`[3], 2))
  message("  max_tau ESS(tau)", rep(" ", max(len - 10, 1)), "= ",
          round(x$opchar$`ESS(tau)`[2], 2))
  message("  max N", rep(" ", max(12, len + 1)), "= ", x$n[x$J])

}
mjg211/OptGS documentation built on May 28, 2021, 3:44 p.m.