R/print.R

Defines functions print.fitTROC print.TimeROC

Documented in print.fitTROC print.TimeROC

#' print.TimeROC
#'
#' @param x A TimeROC object
#' @param ... Additional arguments (not use)
#' @return Summarize model's info in console
#' @examples
#' test <- timeroc_obj(dist = 'lognormal-weibull-PH')
#' print(test)
#'
#' @export
print.TimeROC <- function(x, ...){
  cat("Model Assumptions: ")
  if(is.list(x$copula)){
    cat(x$copula$name, "Copula")
  } else {cat("Proportional Hazard (PH)")}

  cat('\nX                :',x$x.dist$name)
  cat('\nTime-to-Event    :',x$t.dist$name,"\n")
}

#' print.fitTROC
#'
#' @param x A fitTROC object
#' @param ... Additional argument (not use)
#' @return Summarize estimated parameters in console
#' @examples
#' test <- timeroc_obj(dist = 'lognormal-weibull-PH')
#' rr <- rtimeroc(test, n=300, params.x=c(meanlog=1,sdlog=0.8),
#'                params.t = c(shape=1.6,scale=1.2),
#'                params.ph = 1.1)
#' cc <- timeroc_fit(test, rr$x, rr$t, rr$event)
#' print(cc)
#'
#' @export
print.fitTROC <- function(x, ...){
  if(is.null(x$copula)){
    tparname <- !(names(x$t$par) %in% c("beta"))
    b.dat <- data.frame(est = round(x$t$par["beta"],4),
                        low = round(x$t$lbound["beta"],4),
                        upper = round(x$t$ubound["beta"],4),
                        se = round(x$t$se["beta"],4))
  } else tparname <- names(x$t$par)

  x.dat <- data.frame(est = x$x$par,
                      low = x$x$lbound,
                      upper = x$x$ubound,
                      se = x$x$se)

  t.dat <- data.frame(est = x$t$par[tparname],
                      low = x$t$lbound[tparname],
                      upper = x$t$ubound[tparname],
                      se = x$t$se[tparname])

  if(!is.null(x$copula)){
    c.dat <- data.frame(est = round(x$copula$par,4),
                        low = round(x$copula$lbound,4),
                        upper = round(x$copula$ubound,4),
                        se = round(x$copula$se,4))
  }

  cat('Model: ', x$name,'\n')
  cat('------\n')
  cat('X', paste0('(',x$conf*100,'% CI)'),':\nAIC = ', x$x$aic,'\n')
  print(x.dat)

  cat('------\n')
  cat('Time-to-Event', paste0('(',x$conf*100,'% CI)'),':\nAIC = ', x$t$aic,'\n')
  print(t.dat)
  cat('------\n')
  if(!is.null(x$copula)){cat('Copula', paste0('(',x$conf*100,'% CI)'),':\nAIC = ', x$copula$aic,'\n');
    print(c.dat)}
  else{cat('PH', paste0('(',x$conf*100,'% CI)'),':\n'); print(b.dat)}
}

Try the parTimeROC package in your browser

Any scripts or data that you put into this service are public.

parTimeROC documentation built on April 11, 2025, 5:43 p.m.