R/summary.gnlFit.R

summary.gnlFit <- function(object, ...) {

  if (! "gnlFit" %in% class(object))
    stop("Object must belong to class gnlFit")

  if (!is.null(object$hessian)) {
    varcov <- solve(object$hessian)
    par.ses <- sqrt(diag(varcov))
    object$sds <- par.ses
  }

  class(object) <- "summary.gnlFit"
  return(object)
}


print.summary.gnlFit <- function(x,
                                 digits = max(3, getOption("digits") - 3),
                                 ...) {

  if (class(x) != "summary.gnlFit")
    stop("Object must belong to class summary.gnlFit")

  cat("\nData:     ", x$obsName, "\n")
  cat("Parameter estimates:\n")

  if (is.null(x$sds)) {
    print.default(format(x$param, digits = digits),
                  print.gap = 2, quote = FALSE)
  } else {
    ans <- format(rbind(x$param, x$sds), digits = digits)
    ans[1, ] <- sapply(ans[1, ], function(obs) paste("", obs))
    ans[2, ] <- sapply(ans[2, ],
                       function(obs) paste("(", obs, ")", sep = ""))
    dn <- dimnames(ans)
    dn[[1]] <- rep("", 2)
    dn[[2]] <-
        paste(substring("      ", 1,
                        (nchar(ans[2, ]) - nchar(dn[[2]])) %/% 2), dn[[2]])
    dn[[2]] <- paste(dn[[2]],
                     substring("      ", 1,
                               (nchar(ans[2, ]) - nchar(dn[[2]])) %/% 2))
    dimnames(ans) <- dn
    print.default(ans, print.gap = 2, quote = FALSE)
  }

  cat("Likelihood:        ", x$maxLik, "\n")
  cat("Method:            ", x$method, "\n")
  cat("Convergence code:  ", x$conv, "\n")
  cat("Iterations:        ", x$iter, "\n")
  invisible(x)
}
sjp/NormalLaplace documentation built on May 30, 2019, 12:06 a.m.