diff options
author | Johannes Ranke <jranke@uni-bremen.de> | 2022-10-13 03:48:54 +0200 |
---|---|---|
committer | Johannes Ranke <jranke@uni-bremen.de> | 2022-10-13 03:50:05 +0200 |
commit | 37bd36fe8a75163cbf0f97cb7a0e2f7466a53617 (patch) | |
tree | 96bbd9b61006731b3d295e517def3b66ecd959ef /R/mhmkin.R | |
parent | e7e8105390ebf3d6f034811bc7cce1d9640b7357 (diff) |
Cope with failed FIM inversions
Diffstat (limited to 'R/mhmkin.R')
-rw-r--r-- | R/mhmkin.R | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -138,12 +138,19 @@ print.mhmkin <- function(x, ...) { #' @export convergence.mhmkin <- function(object, ...) { - all_summary_warnings <- character() - if (inherits(object[[1]], "saem.mmkin")) { test_func <- function(fit) { - if (inherits(fit$so, "try-error")) return("E") - else return("OK") + if (inherits(fit$so, "try-error")) { + return("E") + } else { + if (!is.null(fit$FIM_failed)) { + return_values <- c("fixed effects" = "Fth", + "random effects and error model parameters" = "FO") + return(paste(return_values[fit$FIM_failed], collapse = ", ")) + } else { + return("OK") + } + } } } else { stop("Only mhmkin objects containing saem.mmkin objects currently supported") @@ -163,6 +170,9 @@ print.convergence.mhmkin <- function(x, ...) { print(x, quote = FALSE) cat("\n") if (any(x == "OK")) cat("OK: Fit terminated successfully\n") + if (any(x == "Fth")) cat("Fth: Could not invert FIM for fixed effects\n") + if (any(x == "FO")) cat("FO: Could not invert FIM for random effects and error model parameters\n") + if (any(x == "Fth, FO")) cat("Fth, FO: Could not invert FIM for fixed effects, nor for random effects and error model parameters\n") if (any(x == "E")) cat("E: Error\n") } |