CRAN Package Check Results for Package jmdem

Last updated on 2020-02-26 18:47:21 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 1.0 6.54 47.23 53.77 ERROR
r-devel-linux-x86_64-debian-gcc 1.0 ERROR
r-devel-linux-x86_64-fedora-clang 1.0 65.77 ERROR
r-devel-linux-x86_64-fedora-gcc 1.0 65.46 ERROR
r-devel-windows-ix86+x86_64 1.0 12.00 64.00 76.00 OK
r-devel-windows-ix86+x86_64-gcc8 1.0 13.00 68.00 81.00 OK
r-patched-linux-x86_64 1.0 5.23 49.55 54.78 OK
r-patched-solaris-x86 1.0 100.80 OK
r-release-linux-x86_64 1.0 4.96 49.39 54.35 OK
r-release-windows-ix86+x86_64 1.0 10.00 63.00 73.00 OK
r-release-osx-x86_64 1.0 OK
r-oldrel-windows-ix86+x86_64 1.0 9.00 62.00 71.00 OK
r-oldrel-osx-x86_64 1.0 OK

Check Details

Version: 1.0
Check: examples
Result: ERROR
    Running examples in 'jmdem-Ex.R' failed
    The error most likely occurred in:
    
    > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
    > ### Name: anova.jmdem
    > ### Title: Analysis of Deviance for Joint Mean and Dispersion Effect Models
    > ### Fits
    > ### Aliases: anova.jmdem
    >
    > ### ** Examples
    >
    > ## Example in jmdem(...)
    > MyData <- simdata.jmdem.sim(mformula = y ~ x, dformula = ~ z,
    + mfamily = poisson(),
    + dfamily = Gamma(link = "log"),
    + beta.true = c(0.5, 4),
    + lambda.true = c(2.5, 3), n = 100)
    >
    > fit <- jmdem(mformula = y ~ x, dformula = ~ z, data = MyData,
    + mfamily = poisson, dfamily = Gamma(link = "log"),
    + dev.type = "deviance", method = "CG")
    >
    > ## Run a partial analysis (type 3) with Wald test
    > anova(fit, test = "Wald", type = 3)
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: solve(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(solve(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x6fa5780>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Warning in chol2inv(m) : restarting interrupted promise evaluation
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: chol2inv(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(chol2inv(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x6fa5780>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Warning in ginv(m) : restarting interrupted promise evaluation
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: ginv(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(ginv(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x6fa5780>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Error in t(g0) %*% i0 : requires numeric/complex matrix/vector arguments
    Calls: anova -> anova.jmdem -> wald.jmdem
    Execution halted
Flavor: r-devel-linux-x86_64-debian-clang

Version: 1.0
Check: examples
Result: ERROR
    Running examples in ‘jmdem-Ex.R’ failed
    The error most likely occurred in:
    
    > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
    > ### Name: anova.jmdem
    > ### Title: Analysis of Deviance for Joint Mean and Dispersion Effect Models
    > ### Fits
    > ### Aliases: anova.jmdem
    >
    > ### ** Examples
    >
    > ## Example in jmdem(...)
    > MyData <- simdata.jmdem.sim(mformula = y ~ x, dformula = ~ z,
    + mfamily = poisson(),
    + dfamily = Gamma(link = "log"),
    + beta.true = c(0.5, 4),
    + lambda.true = c(2.5, 3), n = 100)
    >
    > fit <- jmdem(mformula = y ~ x, dformula = ~ z, data = MyData,
    + mfamily = poisson, dfamily = Gamma(link = "log"),
    + dev.type = "deviance", method = "CG")
    >
    > ## Run a partial analysis (type 3) with Wald test
    > anova(fit, test = "Wald", type = 3)
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: solve(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(solve(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x563767d8ef40>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Warning in chol2inv(m) : restarting interrupted promise evaluation
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: chol2inv(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(chol2inv(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x563767d8ef40>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Warning in ginv(m) : restarting interrupted promise evaluation
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: ginv(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(ginv(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x563767d8ef40>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Error in t(g0) %*% i0 : requires numeric/complex matrix/vector arguments
    Calls: anova -> anova.jmdem -> wald.jmdem
    Execution halted
Flavor: r-devel-linux-x86_64-debian-gcc

Version: 1.0
Check: examples
Result: ERROR
    Running examples in ‘jmdem-Ex.R’ failed
    The error most likely occurred in:
    
    > ### Name: anova.jmdem
    > ### Title: Analysis of Deviance for Joint Mean and Dispersion Effect Models
    > ### Fits
    > ### Aliases: anova.jmdem
    >
    > ### ** Examples
    >
    > ## Example in jmdem(...)
    > MyData <- simdata.jmdem.sim(mformula = y ~ x, dformula = ~ z,
    + mfamily = poisson(),
    + dfamily = Gamma(link = "log"),
    + beta.true = c(0.5, 4),
    + lambda.true = c(2.5, 3), n = 100)
    >
    > fit <- jmdem(mformula = y ~ x, dformula = ~ z, data = MyData,
    + mfamily = poisson, dfamily = Gamma(link = "log"),
    + dev.type = "deviance", method = "CG")
    >
    > ## Run a partial analysis (type 3) with Wald test
    > anova(fit, test = "Wald", type = 3)
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: solve(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(solve(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x7b94590>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Warning in chol2inv(m) : restarting interrupted promise evaluation
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: chol2inv(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(chol2inv(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x7b94590>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Warning in ginv(m) : restarting interrupted promise evaluation
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: ginv(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(ginv(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x7b94590>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Error in t(g0) %*% i0 : requires numeric/complex matrix/vector arguments
    Calls: anova -> anova.jmdem -> wald.jmdem
    Execution halted
Flavor: r-devel-linux-x86_64-fedora-clang

Version: 1.0
Check: examples
Result: ERROR
    Running examples in ‘jmdem-Ex.R’ failed
    The error most likely occurred in:
    
    > ### Name: anova.jmdem
    > ### Title: Analysis of Deviance for Joint Mean and Dispersion Effect Models
    > ### Fits
    > ### Aliases: anova.jmdem
    >
    > ### ** Examples
    >
    > ## Example in jmdem(...)
    > MyData <- simdata.jmdem.sim(mformula = y ~ x, dformula = ~ z,
    + mfamily = poisson(),
    + dfamily = Gamma(link = "log"),
    + beta.true = c(0.5, 4),
    + lambda.true = c(2.5, 3), n = 100)
    >
    > fit <- jmdem(mformula = y ~ x, dformula = ~ z, data = MyData,
    + mfamily = poisson, dfamily = Gamma(link = "log"),
    + dev.type = "deviance", method = "CG")
    >
    > ## Run a partial analysis (type 3) with Wald test
    > anova(fit, test = "Wald", type = 3)
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: solve(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(solve(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x7c87f90>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Warning in chol2inv(m) : restarting interrupted promise evaluation
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: chol2inv(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(chol2inv(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x7c87f90>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Warning in ginv(m) : restarting interrupted promise evaluation
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
    :
     --- package (from environment) ---
    jmdem
     --- call from context ---
    minv(object2$info.matrix)
     --- call from argument ---
    if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values < 0)
    } else {
     not.ok <- TRUE
    }
     --- R stacktrace ---
    where 1: minv(object2$info.matrix)
    where 2: ginv(m)
    where 3: doTryCatch(return(expr), name, parentenv, handler)
    where 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    where 5: tryCatchList(expr, classes, parentenv, handlers)
    where 6: tryCatch(expr, error = function(e) {
     call <- conditionCall(e)
     if (!is.null(call)) {
     if (identical(call[[1L]], quote(doTryCatch)))
     call <- sys.call(-4L)
     dcall <- deparse(call)[1L]
     prefix <- paste("Error in", dcall, ": ")
     LONG <- 75L
     sm <- strsplit(conditionMessage(e), "\n")[[1L]]
     w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")
     if (is.na(w))
     w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],
     type = "b")
     if (w > LONG)
     prefix <- paste0(prefix, "\n ")
     }
     else prefix <- "Error : "
     msg <- paste0(prefix, conditionMessage(e), "\n")
     .Internal(seterrmessage(msg[1L]))
     if (!silent && isTRUE(getOption("show.error.messages"))) {
     cat(msg, file = outFile)
     .Internal(printDeferredWarnings())
     }
     invisible(structure(msg, class = "try-error", condition = e))
    })
    where 7: try(ginv(m), silent = TRUE)
    where 8: minv(t(par0) %*% minv(object2$info.matrix)$inv %*% par0)
    where 9: wald.jmdem(test.list)
    where 10: anova.jmdem(fit, test = "Wald", type = 3)
    where 11: anova(fit, test = "Wald", type = 3)
    
     --- value of length: 2 type: logical ---
    [1] TRUE TRUE
     --- function from context ---
    function (m, minv.method = NULL, tol = sqrt(.Machine$double.eps))
    {
     if (!is.null(minv.method)) {
     ans <- try(do.call(minv.method, list(m)), silent = TRUE)
     if (minv.method == "solve") {
     ansnam <- "inverse"
     }
     else if (minv.method == "chol2inv") {
     ansnam <- "inverse from Choleski decomposition"
     }
     else {
     ansnam <- "generalised inverse"
     }
     }
     else {
     ans <- try(solve(m), silent = TRUE)
     ansnam <- "inverse"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(chol2inv(m), silent = TRUE)
     ansnam <- "inverse from Choleski decomposition"
     if (!class(ans) == "try-error") {
     not.ok <- any(diag(ans) < 0) | any(eigen(ans)$values <
     0)
     }
     else {
     not.ok <- TRUE
     }
     if (not.ok) {
     ans <- try(ginv(m), silent = TRUE)
     ansnam <- "generalised inverse"
     }
     }
     }
     return(list(inv = ans, inv.nam = ansnam))
    }
    <bytecode: 0x7c87f90>
    <environment: namespace:jmdem>
     --- function search by body ---
    Function minv in namespace jmdem has this body.
     ----------- END OF FAILURE REPORT --------------
    Error in t(g0) %*% i0 : requires numeric/complex matrix/vector arguments
    Calls: anova -> anova.jmdem -> wald.jmdem
    Execution halted
Flavor: r-devel-linux-x86_64-fedora-gcc