#' Summary method for class "mmkin" #' #' Shows status information on the [mkinfit] objects contained in the object #' and gives an overview of ill-defined parameters calculated by [illparms]. #' #' @param object an object of class [mmkin] #' @param x an object of class \code{summary.mmkin}. #' @param conf.level confidence level for testing parameters #' @param digits number of digits to use for printing #' @param \dots optional arguments passed to methods like \code{print}. #' @examples #' #' fits <- mmkin( #' c("SFO", "FOMC"), #' list("FOCUS A" = FOCUS_2006_A, #' "FOCUS C" = FOCUS_2006_C), #' quiet = TRUE, cores = 1) #' summary(fits) #' #' @export summary.mmkin <- function(object, conf.level = 0.95, ...) { ans <- list( err_mod = object[[1, 1]]$err_mod, time = attr(object, "time"), illparms = illparms(object), status = status(object) ) class(ans) <- c("summary.mmkin") return(ans) } #' @rdname summary.mmkin #' @export print.summary.mmkin <- function(x, digits = max(3, getOption("digits") - 3), ...) { if (!is.null(x$err_mod)) { cat("Error model: ") cat(switch(x$err_mod, const = "Constant variance", obs = "Variance unique to each observed variable", tc = "Two-component variance function"), "\n") } cat("Fitted in", x$time[["elapsed"]], "s\n") cat("\nStatus:\n") print(x$status) if (any(x$illparms != "")) { cat("\nIll-defined parameters:\n") print(x$illparms) } invisible(x) }