Running examples in ‘logitr-Ex.R’ failed
The error most likely occurred in:

> ### Name: logitr
> ### Title: The main function for estimating logit models
> ### Aliases: logitr
> ### Keywords: logit logitr mixed mnl mxl willingness-to-pay wtp
> 
> ### ** Examples
> 
> # For more detailed examples, visit
> # https://jhelvy.github.io/logitr/articles/
> 
> library(logitr)
> 
> # Estimate a MNL model in the Preference space
> mnl_pref <- logitr(
+   data    = yogurt,
+   outcome = "choice",
+   obsID   = "obsID",
+   pars    = c("price", "feat", "brand")
+ )
Running model...
Done!
> 
> # Estimate a MNL model in the WTP space, using a 5-run multistart
> mnl_wtp <- logitr(
+   data           = yogurt,
+   outcome        = "choice",
+   obsID          = "obsID",
+   pars           = c("feat", "brand"),
+   scalePar       = "price",
+   numMultiStarts = 5
+ )
Running multistart...
  Random starting point iterations: 5
  Number of cores: 15

 *** caught segfault ***
address 0x110, cause 'invalid permissions'

Traceback:
 1: mi$logitFuncs$getMnlV(pars, d$X, d$scalePar)
 2: eval_f(x0, ...)
 3: nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,     mi = mi, opts = mi$options)
 4: doTryCatch(return(expr), name, parentenv, handler)
 5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
 6: tryCatchList(expr, classes, parentenv, handlers)
 7: tryCatch({    result <- nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,         mi = mi, opts = mi$options)}, error = function(e) {})
 8: system.time({    model <- mi$model    result <- NULL    tryCatch({        result <- nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,             mi = mi, opts = mi$options)    }, error = function(e) {    })    if (!is.null(result)) {        model$fail <- FALSE        model$coefficients <- result$solution        model$logLik <- as.numeric(-1 * result$objective)        model$iterations <- result$iterations        model$status <- result$status        model$message <- result$message    }})
 9: FUN(X[[i]], ...)
10: lapply(X = S, FUN = FUN, ...)
11: doTryCatch(return(expr), name, parentenv, handler)
12: tryCatchOne(expr, names, parentenv, handlers[[1L]])
13: tryCatchList(expr, classes, parentenv, handlers)
14: 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, nlines = 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))})
15: try(lapply(X = S, FUN = FUN, ...), silent = TRUE)
16: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
17: FUN(X[[i]], ...)
18: lapply(seq_len(cores), inner.do)
19: parallel::mclapply(miList, runModel, mc.cores = numCores)
20: withCallingHandlers(expr, warning = function(w) if (inherits(w,     classes)) tryInvokeRestart("muffleWarning"))
21: suppressWarnings(parallel::mclapply(miList, runModel, mc.cores = numCores))
22: withCallingHandlers(expr, message = function(c) if (inherits(c,     classes)) tryInvokeRestart("muffleMessage"))
23: suppressMessages(suppressWarnings(parallel::mclapply(miList,     runModel, mc.cores = numCores)))
24: runMultistart(modelInputs)
25: logitr(data = yogurt, outcome = "choice", obsID = "obsID", pars = c("feat",     "brand"), scalePar = "price", numMultiStarts = 5)
An irrecoverable exception occurred. R is aborting now ...

 *** caught segfault ***

 *** caught segfault ***
address 0x110, cause 'invalid permissions'
address 0x110, cause 'invalid permissions'

 *** caught segfault ***
address 0x110, cause 'invalid permissions'

Traceback:
 1: mi$logitFuncs$getMnlV(pars, d$X, d$scalePar)
 2: eval_f(x0, ...)
 3: nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,     mi = mi, opts = mi$options)
 4: doTryCatch(return(expr), name, parentenv, handler)
 5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
 6: tryCatchList(expr, classes, parentenv, handlers)
 7: tryCatch({    result <- nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,         mi = mi, opts = mi$options)}, error = function(e) {})
 8: system.time({    model <- mi$model
Traceback:

Traceback:
 1: mi$logitFuncs$getMnlV(pars, d$X, d$scalePar)
 2: eval_f(x0, ...) 1: mi$logitFuncs$getMnlV(pars, d$X, d$scalePar)
 2:     result <- NULL
eval_f(x0, ...)
 3: nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,     mi = mi, opts = mi$options)
 4: doTryCatch(return(expr), name, parentenv, handler)
 5:  3:     tryCatch({        result <- nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective, nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,     mi = mi, opts = mi$options)            mi = mi, opts = mi$options)tryCatchOne(expr, names, parentenv, handlers[[1L]])
 6: tryCatchList(expr, classes, parentenv, handlers)
 7: tryCatch({    result <- nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective, 
 4: doTryCatch(return(expr), name, parentenv, handler)    }, error = function(e) {    })
 5:     if (!is.null(result)) {        mi = mi, opts = mi$options)}, error = function(e) {tryCatchOne(expr, names, parentenv, handlers[[1L]])})
        model$fail <- FALSE 8: system.time({    model <- mi$model    result <- NULL        model$coefficients <- result$solution
 *** caught segfault ***

 6: tryCatchList(expr, classes, parentenv, handlers)
 7: tryCatch({    result <- nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,         mi = mi, opts = mi$options)}, error = function(e) {})
 8: system.time({    model <- mi$model    result <- NULL    tryCatch({        result <- nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,             mi = mi, opts = mi$options)    }, error = function(e) {    })    if (!is.null(result)) {        model$fail <- FALSE        model$coefficients <- result$solution        model$logLik <- as.numeric(-1 * result$objective)        model$iterations <- result$iterationsaddress 0x110, cause 'invalid permissions'
    tryCatch({        model$logLik <- as.numeric(-1 * result$objective)        result <- nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,             mi = mi, opts = mi$options)    }, error = function(e) {        model$status <- result$status        model$message <- result$message    }})    })
        model$iterations <- result$iterations        model$status <- result$status 9:         model$message <- result$message    if (!is.null(result)) {    }FUN(X[[i]], ...)
10: lapply(X = S, FUN = FUN, ...)        model$fail <- FALSE
        model$coefficients <- result$solution        model$logLik <- as.numeric(-1 * result$objective)        model$iterations <- result$iterations})
11: doTryCatch(return(expr), name, parentenv, handler)
 9: 12:         model$status <- result$status        model$message <- result$message    }tryCatchOne(expr, names, parentenv, handlers[[1L]])
FUN(X[[i]], ...)
10: 13: tryCatchList(expr, classes, parentenv, handlers)})
 9: FUN(X[[i]], ...)lapply(X = S, FUN = FUN, ...)
11: doTryCatch(return(expr), name, parentenv, handler)
12: tryCatchOne(expr, names, parentenv, handlers[[1L]])

13: 
14: tryCatch(expr, error = function(e) {
Traceback:
    call <- conditionCall(e)10: lapply(X = S, FUN = FUN, ...)
11: doTryCatch(return(expr), name, parentenv, handler)tryCatchList(expr, classes, parentenv, handlers)

    if (!is.null(call)) {        if (identical(call[[1L]], quote(doTryCatch))) 12:             call <- sys.call(-4L)14: tryCatch(expr, error = function(e) {    call <- conditionCall(e)    if (!is.null(call)) {        if (identical(call[[1L]], quote(doTryCatch)))  1:             call <- sys.call(-4L)mi$logitFuncs$getMnlV(pars, d$X, d$scalePar)        dcall <- deparse(call, nlines = 1L)        dcall <- deparse(call, nlines = 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))         prefix <- paste("Error in", dcall, ": ")            w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],                 type = "b")        LONG <- 75L
tryCatchOne(expr, names, parentenv, handlers[[1L]])
 2:         if (w > LONG) eval_f(x0, ...)
 3: nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,     mi = mi, opts = mi$options)
 4: 13:             prefix <- paste0(prefix, "\n  ")tryCatchList(expr, classes, parentenv, handlers)doTryCatch(return(expr), name, parentenv, handler)    }    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())    }        sm <- strsplit(conditionMessage(e), "\n")[[1L]]    invisible(structure(msg, class = "try-error", condition = e))        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  ")
})
14:  5: 
    }    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))tryCatch(expr, error = function(e) {})    call <- conditionCall(e)
15: 15: try(lapply(X = S, FUN = FUN, ...), silent = TRUE)
    if (!is.null(call)) {        if (identical(call[[1L]], quote(doTryCatch)))             call <- sys.call(-4L)tryCatchOne(expr, names, parentenv, handlers[[1L]])try(lapply(X = S, FUN = FUN, ...), silent = TRUE)16:         dcall <- deparse(call, nlines = 1L)        prefix <- paste("Error in", dcall, ": ")        LONG <- 75L        sm <- strsplit(conditionMessage(e), "\n")[[1L]]
sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
        w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")16:         if (is.na(w)) sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
            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]))17:  6: FUN(X[[i]], ...)tryCatchList(expr, classes, parentenv, handlers)    if (!silent && isTRUE(getOption("show.error.messages"))) {17:         cat(msg, file = outFile)
        .Internal(printDeferredWarnings())    }    invisible(structure(msg, class = "try-error", condition = e))
18: })lapply(seq_len(cores), inner.do)
 7: FUN(X[[i]], ...)tryCatch({
    result <- nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective, 19: parallel::mclapply(miList, runModel, mc.cores = numCores)
20: withCallingHandlers(expr, warning = function(w) if (inherits(w,     classes)) tryInvokeRestart("muffleWarning"))
21: suppressWarnings(parallel::mclapply(miList, runModel, mc.cores = numCores))
15: 22: 
withCallingHandlers(expr, message = function(c) if (inherits(c, try(lapply(X = S, FUN = FUN, ...), silent = TRUE)        mi = mi, opts = mi$options)    classes)) tryInvokeRestart("muffleMessage"))
}, error = function(e) {
16: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
17: FUN(X[[i]], ...)23: })

18: suppressMessages(suppressWarnings(parallel::mclapply(miList,     runModel, mc.cores = numCores))) 8: system.time({18: lapply(seq_len(cores), inner.do)lapply(seq_len(cores), inner.do)    model <- mi$model
    result <- NULL
19: 19: 
parallel::mclapply(miList, runModel, mc.cores = numCores)
20: withCallingHandlers(expr, warning = function(w) if (inherits(w,     tryCatch({parallel::mclapply(miList, runModel, mc.cores = numCores)
    classes)) tryInvokeRestart("muffleWarning"))20: withCallingHandlers(expr, warning = function(w) if (inherits(w,         result <- nloptr::nloptr(x0 = mi$model$startVals, eval_f = mi$evalFuncs$objective,     classes)) tryInvokeRestart("muffleWarning"))
21:             mi = mi, opts = mi$options)24:     }, error = function(e) {    })
    if (!is.null(result)) {21:         model$fail <- FALSE        model$coefficients <- result$solutionrunMultistart(modelInputs)suppressWarnings(parallel::mclapply(miList, runModel, mc.cores = numCores))suppressWarnings(parallel::mclapply(miList, runModel, mc.cores = numCores))        model$logLik <- as.numeric(-1 * result$objective)
25:         model$iterations <- result$iterations        model$status <- result$status

        model$message <- result$message22: logitr(data = yogurt, outcome = "choice", obsID = "obsID", pars = c("feat", withCallingHandlers(expr, message = function(c) if (inherits(c,     classes)) tryInvokeRestart("muffleMessage"))
    }22: 23: suppressMessages(suppressWarnings(parallel::mclapply(miList,     runModel, mc.cores = numCores)))})    "brand"), scalePar = "price", numMultiStarts = 5)

An irrecoverable exception occurred. R is aborting now ...
 9: withCallingHandlers(expr, message = function(c) if (inherits(c,     classes)) tryInvokeRestart("muffleMessage"))FUN(X[[i]], ...)


10: 23: suppressMessages(suppressWarnings(parallel::mclapply(miList,     runModel, mc.cores = numCores)))24: runMultistart(modelInputs)
25: 
24: runMultistart(modelInputs)
logitr(data = yogurt, outcome = "choice", obsID = "obsID", pars = c("feat",     "brand"), scalePar = "price", numMultiStarts = 5)
An irrecoverable exception occurred. R is aborting now ...
lapply(X = S, FUN = FUN, ...)
11: 25: logitr(data = yogurt, outcome = "choice", obsID = "obsID", pars = c("feat",     "brand"), scalePar = "price", numMultiStarts = 5)
An irrecoverable exception occurred. R is aborting now ...
doTryCatch(return(expr), name, parentenv, handler)
12: tryCatchOne(expr, names, parentenv, handlers[[1L]])
13: tryCatchList(expr, classes, parentenv, handlers)
14: 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, nlines = 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))})
15: try(lapply(X = S, FUN = FUN, ...), silent = TRUE)
16: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
17: FUN(X[[i]], ...)
18: lapply(seq_len(cores), inner.do)
19: parallel::mclapply(miList, runModel, mc.cores = numCores)
20: withCallingHandlers(expr, warning = function(w) if (inherits(w,     classes)) tryInvokeRestart("muffleWarning"))
21: suppressWarnings(parallel::mclapply(miList, runModel, mc.cores = numCores))
22: withCallingHandlers(expr, message = function(c) if (inherits(c,     classes)) tryInvokeRestart("muffleMessage"))
23: suppressMessages(suppressWarnings(parallel::mclapply(miList,     runModel, mc.cores = numCores)))
24: runMultistart(modelInputs)
25: logitr(data = yogurt, outcome = "choice", obsID = "obsID", pars = c("feat",     "brand"), scalePar = "price", numMultiStarts = 5)
An irrecoverable exception occurred. R is aborting now ...
Error in names(x) <- value : 
  'names' attribute [3] must be the same length as the vector [0]
Calls: logitr -> getMultistartSummary -> colnames<-
Execution halted