CRAN Package Check Results for Maintainer ‘Patrick Brown <patrick.brown at utoronto.ca>’

Last updated on 2026-02-15 07:51:18 CET.

Package ERROR NOTE OK
diseasemapping 2 12
geostatsp 3 3 8
mapmisc 14

Package diseasemapping

Current CRAN status: NOTE: 2, OK: 12

Version: 2.0.6
Check: package dependencies
Result: NOTE Package which this enhances but not available for checking: ‘INLA’ Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Package geostatsp

Current CRAN status: ERROR: 3, NOTE: 3, OK: 8

Version: 2.0.8
Check: examples
Result: ERROR Running examples in ‘geostatsp-Ex.R’ failed The error most likely occurred in: > ### Name: RFsimulate > ### Title: Simulation of Random Fields > ### Aliases: RFsimulate modelRandomFields RFsimulate RFsimulate-methods > ### RFsimulate,ANY,SpatRaster-method RFsimulate,numeric,SpatRaster-method > ### RFsimulate,numeric,SpatVector-method > ### RFsimulate,RMmodel,SpatVector-method > ### RFsimulate,RMmodel,SpatRaster-method > ### RFsimulate,matrix,SpatRaster-method > ### RFsimulate,matrix,SpatVector-method RFsimulate,data.frame,ANY-method > ### Keywords: spatial > > ### ** Examples > > library('geostatsp') > > # exclude this line to use the RandomFields package > options(useRandomFields = FALSE) > > model1 <- c(var=5, range=1,shape=0.5) > > > myraster = rast(nrows=20,ncols=30,extent = ext(0,6,0,4), + crs="+proj=utm +zone=17 +datum=NAD27 +units=m +no_defs") > > set.seed(0) > > simu <- RFsimulate(model1, x=myraster, n=3) install the RandomFields package for faster simulations OMP: Warning #96: Cannot form a team with 24 threads, using 2 instead. OMP: Hint Consider unsetting KMP_DEVICE_THREAD_LIMIT (KMP_ALL_THREADS), KMP_TEAMS_THREAD_LIMIT, and OMP_THREAD_LIMIT (if any are set). Flavor: r-devel-linux-x86_64-fedora-clang

Version: 2.0.8
Check: tests
Result: ERROR Running ‘RFsimulate.R’ [0m/90m] Running the tests in ‘tests/RFsimulate.R’ failed. Complete output: > library("geostatsp") Loading required package: Matrix Loading required package: terra terra 1.8.93 > > model <- c(var=5, range=20,shape=0.5) > > # any old crs > theCrs = "+proj=utm +zone=17 +datum=NAD27 +units=m +no_defs" > > # don't test using the randomFields package, it's currently broken on some R builds > options(useRandomFields = FALSE) > > myraster = rast(nrows=20,ncols=20,extent = ext(100,110,100,110), + crs=theCrs) > > set.seed(0) > simu = RFsimulate(model = rbind(a=model, b=model+0.1), + x=myraster, n=4 + ) OMP: Warning #96: Cannot form a team with 24 threads, using 2 instead. OMP: Hint Consider unsetting KMP_DEVICE_THREAD_LIMIT (KMP_ALL_THREADS), KMP_TEAMS_THREAD_LIMIT, and OMP_THREAD_LIMIT (if any are set). Flavor: r-devel-linux-x86_64-fedora-clang

Version: 2.0.8
Check: examples
Result: ERROR Running examples in ‘geostatsp-Ex.R’ failed The error most likely occurred in: > ### Name: RFsimulate > ### Title: Simulation of Random Fields > ### Aliases: RFsimulate modelRandomFields RFsimulate RFsimulate-methods > ### RFsimulate,ANY,SpatRaster-method RFsimulate,numeric,SpatRaster-method > ### RFsimulate,numeric,SpatVector-method > ### RFsimulate,RMmodel,SpatVector-method > ### RFsimulate,RMmodel,SpatRaster-method > ### RFsimulate,matrix,SpatRaster-method > ### RFsimulate,matrix,SpatVector-method RFsimulate,data.frame,ANY-method > ### Keywords: spatial > > ### ** Examples > > library('geostatsp') > > # exclude this line to use the RandomFields package > options(useRandomFields = FALSE) > > model1 <- c(var=5, range=1,shape=0.5) > > > myraster = rast(nrows=20,ncols=30,extent = ext(0,6,0,4), + crs="+proj=utm +zone=17 +datum=NAD27 +units=m +no_defs") > > set.seed(0) > > simu <- RFsimulate(model1, x=myraster, n=3) install the RandomFields package for faster simulations Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 2.0.8
Check: tests
Result: ERROR Running ‘RFsimulate.R’ [90m/61m] Running ‘krige.R’ [22s/48s] Running ‘lgcp.R’ [71s/122s] Running ‘lgm.R’ [67s/78s] Running ‘lgmRaster.R’ [0m/25m] Running ‘likfitLgm.R’ Running the tests in ‘tests/RFsimulate.R’ failed. Complete output: > library("geostatsp") Loading required package: Matrix Loading required package: terra terra 1.8.93 > > model <- c(var=5, range=20,shape=0.5) > > # any old crs > theCrs = "+proj=utm +zone=17 +datum=NAD27 +units=m +no_defs" > > # don't test using the randomFields package, it's currently broken on some R builds > options(useRandomFields = FALSE) > > myraster = rast(nrows=20,ncols=20,extent = ext(100,110,100,110), + crs=theCrs) > > set.seed(0) > simu = RFsimulate(model = rbind(a=model, b=model+0.1), + x=myraster, n=4 + ) Running the tests in ‘tests/lgmRaster.R’ failed. Complete output: > #+ setup > library('geostatsp') Loading required package: Matrix Loading required package: terra terra 1.8.93 > #' > > #' # simulated data > > # exclude this line to use the RandomFields package > options(useRandomFields = FALSE) > > Ncell = 40 > > myRaster = squareRaster(ext(0,6000,0,6000), Ncell) > > myParam=c(oneminusar=0.1, conditionalVariance=2.5^2,shape=2) > myQ = maternGmrfPrec(myRaster, param=myParam) > attributes(myQ)$info$optimalShape shape variance range cellSize 4.092496 110.524266 900.000000 150.000000 > set.seed(0) > mySim = RFsimulate(attributes(myQ)$info$optimalShape, myRaster) install the RandomFields package for faster simulations Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 2.0.8
Check: tests
Result: ERROR Running ‘RFsimulate.R’ [3s/3s] Running ‘krige.R’ [3s/3s] Running ‘lgcp.R’ [12s/12s] Running ‘lgm.R’ [7s/7s] Running ‘lgmRaster.R’ [39s/21s] Running ‘likfitLgm.R’ [2s/2s] Running ‘matern.R’ [2s/2s] Running ‘maternGmrfPrec.R’ [3s/3s] Running ‘profLlgm.R’ [2s/2s] Running the tests in ‘tests/profLlgm.R’ failed. Complete output: > > library('geostatsp') Loading required package: Matrix Loading required package: terra terra 1.8.93 > data('swissRain') > swissRain = unwrap(swissRain) > swissAltitude = unwrap(swissAltitude) > > Ncores = c(1,2)[1+(.Platform$OS.type=='unix')] > > > > sr2 = swissRain > sr2$elev = extract(swissAltitude, sr2) Warning message: [`[[<-`] only using the first column > swissFit = likfitLgm( + data=sr2, + formula=rain~ elev, + param=c(range=10000,shape=1,nugget=0,boxcox=0.5,anisoRatio=2,anisoAngleDegrees=45), + paramToEstimate = c("range",'anisoAngleDegrees','anisoRatio'), + reml=FALSE, + verbose=FALSE + ) > > > # calculate log-likelihood at the MLE's, but re-estimate variance > sl = loglikLgm( + swissFit$param[c('range','shape','boxcox', 'anisoRatio', 'anisoAngleRadians')], + data=sr2, + formula=rain~ elev, + reml=swissFit$model$reml) > > > # calculate log-likelihood without re-estimating variance > sigSqHat = attributes(sl)$totalVarHat > sl1 = loglikLgm( + c(attributes(sl)$param[ + c('boxcox','anisoRatio','anisoAngleRadians','shape', 'range')], + variance=sigSqHat), + data=sr2, + formula=rain~ elev, + reml=swissFit$model$reml) > > > # re=estimate the anisotropy parameters but not the range > sf2 = likfitLgm( + data=swissFit$data, + formula=swissFit$model$formula, + param= swissFit$param[c('range','nugget','shape','boxcox', 'anisoRatio', 'anisoAngleRadians')], + paramToEstimate = c('variance','anisoAngleRadians','anisoRatio'), + reml=swissFit$model$reml) > > # these should all be the same > as.numeric(sl1) [1] 644.4812 > as.numeric(sl) [1] 644.4812 > swissFit$optim$logL m2logL.ml logL.ml 644.4812 -322.2406 > sf2$optim$logL m2logL.ml logL.ml 644.4812 -322.2406 > > date() [1] "Fri Feb 13 15:03:43 2026" > x=profLlgm(swissFit, mc.cores=Ncores, + range=seq(15000, 55000 , len=12) + ) *** caught segfault *** address 0x110, cause 'invalid permissions' *** caught segfault *** address 0x110, cause 'invalid permissions' Traceback: 1: (function (formula, data, paramToEstimate = c("range", "nugget"), reml = TRUE, coordinates = data, param = NULL, upper = NULL, lower = NULL, parscale = NULL, verbose = FALSE) { param = param[!is.na(param)] coordinatesOrig = coordinates aniso = as.logical(length(grep("^aniso", c(names(param), paramToEstimate)))) | any(abs(param["anisoRatio"] - 1) > 1e-05, na.rm = TRUE) if (aniso) { if (is.matrix(coordinates)) { if (ncol(coordinates) != 2 | nrow(coordinates) != nrow(data)) stop("anisotropic model requested but coordinates appears to be a distance matrix") coordinates = vect(coordinates) } maxDist = dist(matrix(ext(coordinates), ncol = 2)) } else { if (is.matrix(coordinates)) { if (ncol(coordinates) == 2) { coordinates = dist(coordinates) } else { coordinates = as(coordinates, "dsyMatrix") } } if (any(class(coordinates) == "dist")) coordinates = as(as.matrix(coordinates), "dsyMatrix") if (length(grep("SpatVect", class(coordinates)))) { if (!nchar(crs(coordinates))) terra::crs(coordinates) = "+proj=utm +zone=1" coordinates = new("dsyMatrix", Dim = rep(length(coordinates), 2), x = as.vector(as.matrix(terra::distance(coordinates))), uplo = "L") } maxDist = max(coordinates, na.rm = TRUE) } trend = formula theFactors = NULL if (any(class(trend) == "formula")) { data = data.frame(data) theNA = apply(data[, all.vars(trend), drop = FALSE], 1, function(qq) any(is.na(qq))) noNA = !theNA theFactors = model.frame(trend, data[noNA, ]) whichFactors = unlist(lapply(theFactors, is.factor)) theFactors = theFactors[, whichFactors, drop = FALSE] theFactors = lapply(theFactors, levels) theFactors = unlist(lapply(theFactors, function(qq) qq[1])) covariates = model.matrix(trend, data[noNA, ]) covariates = covariates[, grep(paste("^(", paste(names(theFactors), collapse = "|"), ")NA$", sep = ""), colnames(covariates), invert = TRUE), drop = FALSE] observations = all.vars(trend)[1] if (!any(names(data) == observations)) warning("can't find observations ", observations, "in data") observations = data[noNA, observations, drop = FALSE] } else { trend = as.matrix(trend) theNA = is.na(data) | apply(trend, 1, function(qq) any(is.na(qq))) noNA = !theNA observations = data[noNA] covariates = trend[noNA, , drop = FALSE] } if (any(theNA)) { if (length(grep("^SpatVector", class(coordinates)))) { coordinates = coordinates[noNA] } else { if (ncol(coordinates) == nrow(coordinates)) { coordinates = coordinates[noNA, noNA] } else { coordinates = coordinates[noNA, ] } } } estimateVariance = TRUE if (any(paramToEstimate == "variance")) { paramToEstimate = paramToEstimate[paramToEstimate != "variance"] param = param[names(param) != "variance"] } else { if (any(names(param) == "variance")) { estimateVariance = FALSE } } paramToEstimate = gsub("anisoAngleDegrees", "anisoAngleRadians", paramToEstimate) degToRad = function(par) { if (length(grep("anisoAngleDegrees", names(par)))) { if (!length(grep("anisoAngleRadians", names(par)))) par["anisoAngleRadians"] = 2 * pi * par["anisoAngleDegrees"]/360 par = par[grep("anisoAngleDegrees", names(par), invert = TRUE)] } par } param = degToRad(param) lower = degToRad(lower) upper = degToRad(upper) parscale = degToRad(parscale) lowerDefaults = c(nugget = 0, range = maxDist/1000, anisoRatio = 0.01, anisoAngleRadians = -pi/2, shape = 0.1, boxcox = -1.5, variance = 0) upperDefaults = c(nugget = Inf, range = 10 * maxDist, anisoRatio = 100, anisoAngleRadians = pi/2, shape = 4, boxcox = 2.5, variance = Inf) paramDefaults = c(nugget = 0, anisoRatio = 1, anisoAngleRadians = 0, shape = 1.5, boxcox = 1, range = maxDist/10) if (any(names(paramToEstimate) == "nugget")) { paramDefaults["nugget"] = 1 } parscaleDefaults = c(range = maxDist/5, nugget = 0.05, boxcox = 0.5, anisoAngleRadians = 0.2, anisoRatio = 1, variance = 1, shape = 0.2) ndepsDefault = c(range = 0.01, nugget = 0.05, boxcox = 0.005, anisoAngleRadians = 0.01, anisoRatio = 0.01, variance = 0.01, shape = 0.01) paramDefaults[names(param)] = param parscaleDefaults[names(parscale)] = parscale lowerDefaults[names(lower)] = lower upperDefaults[names(upper)] = upper if (any(paramToEstimate == "nugget") & paramDefaults["nugget"] == lowerDefaults["nugget"]) { paramDefaults["nugget"] = min(c(0.5, upperDefaults["nugget"])) } startingParam = paramDefaults[paramToEstimate] names(startingParam) = paramToEstimate naStarting = is.na(startingParam) startingParam[naStarting] = paramDefaults[names(startingParam)[naStarting]] moreParams = paramDefaults[!names(paramDefaults) %in% paramToEstimate] allParams = c(startingParam, moreParams) allParams = fillParam(allParams) paramsForC = allParams[c("nugget", "variance", "range", "shape", "anisoRatio", "anisoAngleRadians", "boxcox")] Sparam = names(paramsForC) %in% paramToEstimate names(Sparam) = names(paramsForC) paramToEstimate = names(Sparam)[Sparam] parOptions = cbind(lower = lowerDefaults[paramToEstimate], upper = upperDefaults[paramToEstimate], parscale = parscaleDefaults[paramToEstimate], ndeps = ndepsDefault[paramToEstimate]) forO = list(scalarF = c(fnscale = -1, abstol = -1, reltol = -1, alpha = -1, beta = -1, gamma = -1, factr = 1e+06, pgtol = 0), scalarInt = c(trace = 0, maxit = 200, REPORT = 1, type = -1, lmm = 25, tmax = -1, temp = -1), pars = parOptions[, c("lower", "upper", "parscale", "ndeps"), drop = FALSE]) if (verbose) { forO$scalarInt["trace"] = 6 forO$scalarInt["REPORT"] = 200 } forO$parsInt = rep(0, nrow(forO$pars)) names(forO$parsInt) = rownames(forO$pars) forO$parsInt[forO$pars[, "lower"] != -Inf & forO$pars[, "upper"] != Inf] = 2 forO$parsInt[forO$pars[, "lower"] != -Inf & forO$pars[, "upper"] == Inf] = 1 forO$parsInt[forO$pars[, "lower"] == -Inf & forO$pars[, "upper"] != Inf] = 3 forOparsOrig = forO$pars forO$pars[!is.finite(forO$pars)] = -1 forO$pars = c(forO$pars, rep(0, ncol(covariates) + ncol(covariates)^2)) if (aniso) { xcoord = crds(coordinates)[, 1] ycoord = crds(coordinates)[, 2] } else { xcoord = as.vector(coordinates) ycoord = -99 } obsCov = cbind(y1 = observations, y2 = 0, y3 = 0, covariates) if (all(paramToEstimate == "variance") & param["nugget"] == 0) { theL = loglikLgm(param, data = observations, formula = covariates, coordinates = coordinates, reml = reml) fromOptim = attributes(theL) result = list(optim = list(mle = fillParam(fromOptim$param), logL = c(m2logL = as.numeric(theL), logL = -as.numeric(theL)/2), totalVarHat = fromOptim$totalVarHat, message = "numerical optimization not needed", options = NULL, detail = NULL), betaHat = fromOptim$betaHat, varBetaHat = fromOptim$varBetaHat) } else { fromOptim = .C(C_maternLogLOpt, start = as.double(paramsForC), Sparam = as.integer(Sparam), obsCov = as.double(as.matrix(obsCov)), as.double(xcoord), as.double(ycoord), as.integer(aniso), N = as.integer(c(nrow(obsCov), 3, ncol(covariates))), Ltype = as.integer(reml + 2 * !estimateVariance), optInt = as.integer(forO$scalarInt), optF = as.double(forO$scalarF), betas = as.double(forO$pars), limType = as.integer(forO$parsInt), message = format(" ", width = 80)) names(fromOptim$start) = names(paramsForC) if (fromOptim$start["anisoRatio"] < 1) { fromOptim$start["anisoRatio"] <- 1/fromOptim$start["anisoRatio"] if (fromOptim$start["anisoAngleRadians"] + pi/2 >= pi/2) { fromOptim$start["anisoAngleRadians"] <- fromOptim$start["anisoAngleRadians"] - pi/2 } else { fromOptim$start["anisoAngleRadians"] <- fromOptim$start["anisoAngleRadians"] + pi/2 } } result = list(optim = list(mle = fromOptim$start, logL = c(m2logL = fromOptim$optF[1], logL = -fromOptim$optF[1]/2), totalVarHat = fromOptim$optF[2], boxcox = fromOptim$optF[3:5], determinants = fromOptim$optF[6:7], message = fromOptim$message, options = cbind(start = paramsForC[Sparam], opt = fromOptim$start[Sparam], parOptions[, c("parscale", "lower", "upper", "ndeps")]), detail = fromOptim$optInt[1:3]), betaHat = fromOptim$betas[1:ncol(covariates)], varBetaHat = new("dsyMatrix", Dim = as.integer(rep(ncol(covariates), 2)), uplo = "L", x = fromOptim$betas[seq(1 + ncol(covariates), len = ncol(covariates)^2)])) result$optim$options = cbind(result$optim$options, gradient = fromOptim$betas[seq(ncol(covariates)^2 + ncol(covariates) + 1, len = sum(Sparam))]) names(result$optim$detail) = c("fail", "fncount", "grcount") names(result$betaHat) = colnames(covariates) dimnames(result$varBetaHat) = list(names(result$betaHat), names(result$betaHat)) } result$parameters = fillParam(c(result$optim$mle, result$betaHat)) if (estimateVariance) { result$parameters[c("nugget", "variance")] = result$parameters[c("nugget", "variance")] * result$optim$totalVarHat result$varBetaHat = result$varBetaHat * result$optim$totalVarHat } names(result$optim$logL) = paste(names(result$optim$logL), c(".ml", ".reml")[reml + 1], sep = "") result$data = cbind(data.frame(observations = observations, fitted = covariates %*% result$parameters[colnames(covariates)]), data.frame(data)[noNA, ]) if (abs(result$parameters["boxcox"] - 1) > 1e-04) { if (abs(result$parameters["boxcox"]) < 0.001) { result$data$obsBC = log(observations) } else { result$data$obsBC <- ((observations^result$parameters["boxcox"]) - 1)/result$parameters["boxcox"] } } else { result$data$obsBC <- obsCov[, 1] } result$data$resid = result$data$obsBC - result$data$fitted if (length(grep("^SpatVector", class(coordinatesOrig)))) { forDf = rep(NA, length(noNA)) forDf[noNA] = seq(1, sum(noNA)) theDf = result$data[forDf, ] result$data = vect(x = crds(coordinatesOrig), atts = theDf, crs = crs(coordinatesOrig)) } result$model = list(reml = reml, baseline = theFactors) if (any(class(trend) == "formula")) { result$model$formula = trend result$data[[all.vars(formula)[1]]] = result$data$observations } else { result$model$formula = names(trend) } if (length(result$model$baseline)) { rparams = result$parameters baseParams = data.frame(var = names(result$model$baseline), base = result$model$baseline, pasted = paste(names(result$model$baseline), result$model$baseline, sep = "")) for (D in which(!baseParams$pasted %in% names(rparams))) { sameFac = grep(paste("^", baseParams[D, "var"], sep = ""), names(rparams)) pseq = 1:length(rparams) if (length(sameFac)) { minFac = min(sameFac) toAdd = 0 names(toAdd) = baseParams[D, "pasted"] rparams = c(rparams[pseq < minFac], toAdd, rparams[pseq >= minFac]) } } result$parameters = rparams } parameterTable = data.frame(estimate = result$parameters) rownames(parameterTable) = names(result$parameters) parameterTable$stdErr = NA stdErr = sqrt(Matrix::diag(result$varBetaHat)) parameterTable[rownames(result$varBetaHat), "stdErr"] = stdErr thelims = c(0.005, 0.025, 0.05, 0.1) thelims = c(rbind(thelims, 1 - thelims)) theQ = qnorm(thelims) toadd = outer(parameterTable$stdErr, theQ) toadd = toadd + matrix(parameterTable$estimate, ncol = length(thelims), nrow = dim(parameterTable)[1]) colnames(toadd) = paste("ci", thelims, sep = "") parameterTable = cbind(parameterTable, toadd) parameterTable[, "pval"] = pchisq(parameterTable$estimate^2/parameterTable$stdErr^2, df = 1, lower.tail = FALSE) parameterTable[, "Estimated"] = FALSE parameterTable[paramToEstimate, "Estimated"] = TRUE parameterTable[rownames(result$varBetaHat), "Estimated"] = TRUE if (estimateVariance) parameterTable["variance", "Estimated"] = TRUE rownames(parameterTable) = gsub("^variance$", "sdSpatial", rownames(parameterTable)) rownames(parameterTable) = gsub("^nugget$", "sdNugget", rownames(parameterTable)) parameterTable[c("sdSpatial", "sdNugget"), "estimate"] = sqrt(parameterTable[c("sdSpatial", "sdNugget"), "estimate"]) result$summary = as.data.frame(parameterTable) result$summary$Estimated = as.logical(result$summary$Estimated) result})(param = dots[[1L]][[1L]], data = new("SpatVector", pntr = new("Rcpp_SpatVector", .xData = <environment>)), formula = rain ~ elev, paramToEstimate = c("variance", "anisoRatio", "anisoAngleRadians"), reml = FALSE, coordinates = new("SpatVector", pntr = new("Rcpp_SpatVector", .xData = <environment>))) 2: .mapply(FUN, dots, MoreArgs) 3: FUN(X[[i]], ...) 4: lapply(X = S, FUN = FUN, ...) 5: doTryCatch(return(expr), name, parentenv, handler) 6: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 7: tryCatchList(expr, classes, parentenv, handlers) 8: 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))}) 9: try(lapply(X = S, FUN = FUN, ...), silent = TRUE) 10: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE)) 11: FUN(X[[i]], ...) 12: lapply(seq_len(cores), inner.do) 13: mclapply(seq_len(n), do_one, mc.preschedule = mc.preschedule, mc.set.seed = mc.set.seed, mc.silent = mc.silent, mc.cores = mc.cores, mc.cleanup = mc.cleanup, affinity.list = affinity.list) 14: parallel::mcmapply(likfitLgm, param = parList, MoreArgs = list(data = fit$data, formula = fit$model$formula, paramToEstimate = reEstimate, reml = fit$model$reml, coordinates = fit$data), mc.cores = mc.cores, SIMPLIFY = FALSE) Traceback: 1: (function (formula, data, paramToEstimate = c("range", "nugget"), reml = TRUE, coordinates = data, param = NULL, upper = NULL, lower = NULL, parscale = NULL, verbose = FALSE) { param = param[!is.na(param)] coordinatesOrig = coordinates aniso = as.logical(length(grep("^aniso", c(names(param), paramToEstimate)))) | any(abs(param["anisoRatio"] - 1) > 1e-05, na.rm = TRUE) if (aniso) { if (is.matrix(coordinates)) { if (ncol(coordinates) != 2 | nrow(coordinates) != nrow(data)) stop("anisotropic model requested but coordinates appears to be a distance matrix") coordinates = vect(coordinates) } maxDist = dist(matrix(ext(coordinates), ncol = 2)) } else {15: profLlgm(swissFit, mc.cores = Ncores, range = seq(15000, 55000, len = 12)) An irrecoverable exception occurred. R is aborting now ... if (is.matrix(coordinates)) { if (ncol(coordinates) == 2) { coordinates = dist(coordinates) } else { coordinates = as(coordinates, "dsyMatrix") } } if (any(class(coordinates) == "dist")) coordinates = as(as.matrix(coordinates), "dsyMatrix") if (length(grep("SpatVect", class(coordinates)))) { if (!nchar(crs(coordinates))) terra::crs(coordinates) = "+proj=utm +zone=1" coordinates = new("dsyMatrix", Dim = rep(length(coordinates), 2), x = as.vector(as.matrix(terra::distance(coordinates))), uplo = "L") } maxDist = max(coordinates, na.rm = TRUE) } trend = formula theFactors = NULL if (any(class(trend) == "formula")) { data = data.frame(data) theNA = apply(data[, all.vars(trend), drop = FALSE], 1, function(qq) any(is.na(qq))) noNA = !theNA theFactors = model.frame(trend, data[noNA, ]) whichFactors = unlist(lapply(theFactors, is.factor)) theFactors = theFactors[, whichFactors, drop = FALSE] theFactors = lapply(theFactors, levels) theFactors = unlist(lapply(theFactors, function(qq) qq[1])) covariates = model.matrix(trend, data[noNA, ]) covariates = covariates[, grep(paste("^(", paste(names(theFactors), collapse = "|"), ")NA$", sep = ""), colnames(covariates), invert = TRUE), drop = FALSE] observations = all.vars(trend)[1] if (!any(names(data) == observations)) warning("can't find observations ", observations, "in data") observations = data[noNA, observations, drop = FALSE] } else { trend = as.matrix(trend) theNA = is.na(data) | apply(trend, 1, function(qq) any(is.na(qq))) noNA = !theNA observations = data[noNA] covariates = trend[noNA, , drop = FALSE] } if (any(theNA)) { if (length(grep("^SpatVector", class(coordinates)))) { coordinates = coordinates[noNA] } else { if (ncol(coordinates) == nrow(coordinates)) { coordinates = coordinates[noNA, noNA] } else { coordinates = coordinates[noNA, ] } } } estimateVariance = TRUE if (any(paramToEstimate == "variance")) { paramToEstimate = paramToEstimate[paramToEstimate != "variance"] param = param[names(param) != "variance"] } else { if (any(names(param) == "variance")) { estimateVariance = FALSE } } paramToEstimate = gsub("anisoAngleDegrees", "anisoAngleRadians", paramToEstimate) degToRad = function(par) { if (length(grep("anisoAngleDegrees", names(par)))) { if (!length(grep("anisoAngleRadians", names(par)))) par["anisoAngleRadians"] = 2 * pi * par["anisoAngleDegrees"]/360 par = par[grep("anisoAngleDegrees", names(par), invert = TRUE)] } par } param = degToRad(param) lower = degToRad(lower) upper = degToRad(upper) parscale = degToRad(parscale) lowerDefaults = c(nugget = 0, range = maxDist/1000, anisoRatio = 0.01, anisoAngleRadians = -pi/2, shape = 0.1, boxcox = -1.5, variance = 0) upperDefaults = c(nugget = Inf, range = 10 * maxDist, anisoRatio = 100, anisoAngleRadians = pi/2, shape = 4, boxcox = 2.5, variance = Inf) paramDefaults = c(nugget = 0, anisoRatio = 1, anisoAngleRadians = 0, shape = 1.5, boxcox = 1, range = maxDist/10) if (any(names(paramToEstimate) == "nugget")) { paramDefaults["nugget"] = 1 } parscaleDefaults = c(range = maxDist/5, nugget = 0.05, boxcox = 0.5, anisoAngleRadians = 0.2, anisoRatio = 1, variance = 1, shape = 0.2) ndepsDefault = c(range = 0.01, nugget = 0.05, boxcox = 0.005, anisoAngleRadians = 0.01, anisoRatio = 0.01, variance = 0.01, shape = 0.01) paramDefaults[names(param)] = param parscaleDefaults[names(parscale)] = parscale lowerDefaults[names(lower)] = lower upperDefaults[names(upper)] = upper if (any(paramToEstimate == "nugget") & paramDefaults["nugget"] == lowerDefaults["nugget"]) { paramDefaults["nugget"] = min(c(0.5, upperDefaults["nugget"])) } startingParam = paramDefaults[paramToEstimate] names(startingParam) = paramToEstimate naStarting = is.na(startingParam) startingParam[naStarting] = paramDefaults[names(startingParam)[naStarting]] moreParams = paramDefaults[!names(paramDefaults) %in% paramToEstimate] allParams = c(startingParam, moreParams) allParams = fillParam(allParams) paramsForC = allParams[c("nugget", "variance", "range", "shape", "anisoRatio", "anisoAngleRadians", "boxcox")] Sparam = names(paramsForC) %in% paramToEstimate names(Sparam) = names(paramsForC) paramToEstimate = names(Sparam)[Sparam] parOptions = cbind(lower = lowerDefaults[paramToEstimate], upper = upperDefaults[paramToEstimate], parscale = parscaleDefaults[paramToEstimate], ndeps = ndepsDefault[paramToEstimate]) forO = list(scalarF = c(fnscale = -1, abstol = -1, reltol = -1, alpha = -1, beta = -1, gamma = -1, factr = 1e+06, pgtol = 0), scalarInt = c(trace = 0, maxit = 200, REPORT = 1, type = -1, lmm = 25, tmax = -1, temp = -1), pars = parOptions[, c("lower", "upper", "parscale", "ndeps"), drop = FALSE]) if (verbose) { forO$scalarInt["trace"] = 6 forO$scalarInt["REPORT"] = 200 } forO$parsInt = rep(0, nrow(forO$pars)) names(forO$parsInt) = rownames(forO$pars) forO$parsInt[forO$pars[, "lower"] != -Inf & forO$pars[, "upper"] != Inf] = 2 forO$parsInt[forO$pars[, "lower"] != -Inf & forO$pars[, "upper"] == Inf] = 1 forO$parsInt[forO$pars[, "lower"] == -Inf & forO$pars[, "upper"] != Inf] = 3 forOparsOrig = forO$pars forO$pars[!is.finite(forO$pars)] = -1 forO$pars = c(forO$pars, rep(0, ncol(covariates) + ncol(covariates)^2)) if (aniso) { xcoord = crds(coordinates)[, 1] ycoord = crds(coordinates)[, 2] } else { xcoord = as.vector(coordinates) ycoord = -99 } obsCov = cbind(y1 = observations, y2 = 0, y3 = 0, covariates) if (all(paramToEstimate == "variance") & param["nugget"] == 0) { theL = loglikLgm(param, data = observations, formula = covariates, coordinates = coordinates, reml = reml) fromOptim = attributes(theL) result = list(optim = list(mle = fillParam(fromOptim$param), logL = c(m2logL = as.numeric(theL), logL = -as.numeric(theL)/2), totalVarHat = fromOptim$totalVarHat, message = "numerical optimization not needed", options = NULL, detail = NULL), betaHat = fromOptim$betaHat, varBetaHat = fromOptim$varBetaHat) } else { fromOptim = .C(C_maternLogLOpt, start = as.double(paramsForC), Sparam = as.integer(Sparam), obsCov = as.double(as.matrix(obsCov)), as.double(xcoord), as.double(ycoord), as.integer(aniso), N = as.integer(c(nrow(obsCov), 3, ncol(covariates))), Ltype = as.integer(reml + 2 * !estimateVariance), optInt = as.integer(forO$scalarInt), optF = as.double(forO$scalarF), betas = as.double(forO$pars), limType = as.integer(forO$parsInt), message = format(" ", width = 80)) names(fromOptim$start) = names(paramsForC) if (fromOptim$start["anisoRatio"] < 1) { fromOptim$start["anisoRatio"] <- 1/fromOptim$start["anisoRatio"] if (fromOptim$start["anisoAngleRadians"] + pi/2 >= pi/2) { fromOptim$start["anisoAngleRadians"] <- fromOptim$start["anisoAngleRadians"] - pi/2 } else { fromOptim$start["anisoAngleRadians"] <- fromOptim$start["anisoAngleRadians"] + pi/2 } } result = list(optim = list(mle = fromOptim$start, logL = c(m2logL = fromOptim$optF[1], logL = -fromOptim$optF[1]/2), totalVarHat = fromOptim$optF[2], boxcox = fromOptim$optF[3:5], determinants = fromOptim$optF[6:7], message = fromOptim$message, options = cbind(start = paramsForC[Sparam], opt = fromOptim$start[Sparam], parOptions[, c("parscale", "lower", "upper", "ndeps")]), detail = fromOptim$optInt[1:3]), betaHat = fromOptim$betas[1:ncol(covariates)], varBetaHat = new("dsyMatrix", Dim = as.integer(rep(ncol(covariates), 2)), uplo = "L", x = fromOptim$betas[seq(1 + ncol(covariates), len = ncol(covariates)^2)])) result$optim$options = cbind(result$optim$options, gradient = fromOptim$betas[seq(ncol(covariates)^2 + ncol(covariates) + 1, len = sum(Sparam))]) names(result$optim$detail) = c("fail", "fncount", "grcount") names(result$betaHat) = colnames(covariates) dimnames(result$varBetaHat) = list(names(result$betaHat), names(result$betaHat)) } result$parameters = fillParam(c(result$optim$mle, result$betaHat)) if (estimateVariance) { result$parameters[c("nugget", "variance")] = result$parameters[c("nugget", "variance")] * result$optim$totalVarHat result$varBetaHat = result$varBetaHat * result$optim$totalVarHat } names(result$optim$logL) = paste(names(result$optim$logL), c(".ml", ".reml")[reml + 1], sep = "") result$data = cbind(data.frame(observations = observations, fitted = covariates %*% result$parameters[colnames(covariates)]), data.frame(data)[noNA, ]) if (abs(result$parameters["boxcox"] - 1) > 1e-04) { if (abs(result$parameters["boxcox"]) < 0.001) { result$data$obsBC = log(observations) } else { result$data$obsBC <- ((observations^result$parameters["boxcox"]) - 1)/result$parameters["boxcox"] } } else { result$data$obsBC <- obsCov[, 1] } result$data$resid = result$data$obsBC - result$data$fitted if (length(grep("^SpatVector", class(coordinatesOrig)))) { forDf = rep(NA, length(noNA)) forDf[noNA] = seq(1, sum(noNA)) theDf = result$data[forDf, ] result$data = vect(x = crds(coordinatesOrig), atts = theDf, crs = crs(coordinatesOrig)) } result$model = list(reml = reml, baseline = theFactors) if (any(class(trend) == "formula")) { result$model$formula = trend result$data[[all.vars(formula)[1]]] = result$data$observations } else { result$model$formula = names(trend) } if (length(result$model$baseline)) { rparams = result$parameters baseParams = data.frame(var = names(result$model$baseline), base = result$model$baseline, pasted = paste(names(result$model$baseline), result$model$baseline, sep = "")) for (D in which(!baseParams$pasted %in% names(rparams))) { sameFac = grep(paste("^", baseParams[D, "var"], sep = ""), names(rparams)) pseq = 1:length(rparams) if (length(sameFac)) { minFac = min(sameFac) toAdd = 0 names(toAdd) = baseParams[D, "pasted"] rparams = c(rparams[pseq < minFac], toAdd, rparams[pseq >= minFac]) } } result$parameters = rparams } parameterTable = data.frame(estimate = result$parameters) rownames(parameterTable) = names(result$parameters) parameterTable$stdErr = NA stdErr = sqrt(Matrix::diag(result$varBetaHat)) parameterTable[rownames(result$varBetaHat), "stdErr"] = stdErr thelims = c(0.005, 0.025, 0.05, 0.1) thelims = c(rbind(thelims, 1 - thelims)) theQ = qnorm(thelims) toadd = outer(parameterTable$stdErr, theQ) toadd = toadd + matrix(parameterTable$estimate, ncol = length(thelims), nrow = dim(parameterTable)[1]) colnames(toadd) = paste("ci", thelims, sep = "") parameterTable = cbind(parameterTable, toadd) parameterTable[, "pval"] = pchisq(parameterTable$estimate^2/parameterTable$stdErr^2, df = 1, lower.tail = FALSE) parameterTable[, "Estimated"] = FALSE parameterTable[paramToEstimate, "Estimated"] = TRUE parameterTable[rownames(result$varBetaHat), "Estimated"] = TRUE if (estimateVariance) parameterTable["variance", "Estimated"] = TRUE rownames(parameterTable) = gsub("^variance$", "sdSpatial", rownames(parameterTable)) rownames(parameterTable) = gsub("^nugget$", "sdNugget", rownames(parameterTable)) parameterTable[c("sdSpatial", "sdNugget"), "estimate"] = sqrt(parameterTable[c("sdSpatial", "sdNugget"), "estimate"]) result$summary = as.data.frame(parameterTable) result$summary$Estimated = as.logical(result$summary$Estimated) result})(param = dots[[1L]][[1L]], data = new("SpatVector", pntr = new("Rcpp_SpatVector", .xData = <environment>)), formula = rain ~ elev, paramToEstimate = c("variance", "anisoRatio", "anisoAngleRadians"), reml = FALSE, coordinates = new("SpatVector", pntr = new("Rcpp_SpatVector", .xData = <environment>))) 2: .mapply(FUN, dots, MoreArgs) 3: FUN(X[[i]], ...) 4: lapply(X = S, FUN = FUN, ...) 5: doTryCatch(return(expr), name, parentenv, handler) 6: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 7: tryCatchList(expr, classes, parentenv, handlers) 8: 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))}) 9: try(lapply(X = S, FUN = FUN, ...), silent = TRUE) 10: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE)) 11: FUN(X[[i]], ...) 12: lapply(seq_len(cores), inner.do) 13: mclapply(seq_len(n), do_one, mc.preschedule = mc.preschedule, mc.set.seed = mc.set.seed, mc.silent = mc.silent, mc.cores = mc.cores, mc.cleanup = mc.cleanup, affinity.list = affinity.list) 14: parallel::mcmapply(likfitLgm, param = parList, MoreArgs = list(data = fit$data, formula = fit$model$formula, paramToEstimate = reEstimate, reml = fit$model$reml, coordinates = fit$data), mc.cores = mc.cores, SIMPLIFY = FALSE) 15: profLlgm(swissFit, mc.cores = Ncores, range = seq(15000, 55000, len = 12)) An irrecoverable exception occurred. R is aborting now ... Error in resL[grep("^m2logL", rownames(resL)), ] : incorrect number of dimensions Calls: profLlgm In addition: Warning message: In mclapply(seq_len(n), do_one, mc.preschedule = mc.preschedule, : scheduled cores 1, 2 did not deliver results, all values of the jobs will be affected Execution halted Flavor: r-devel-macos-arm64

Version: 2.0.8
Check: package dependencies
Result: NOTE Package suggested but not available for checking: ‘RandomFields’ Package which this enhances but not available for checking: ‘INLA’ Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Version: 2.0.8
Check: package dependencies
Result: NOTE Package suggested but not available for checking: 'RandomFields' Flavor: r-oldrel-windows-x86_64

Package mapmisc

Current CRAN status: OK: 14

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.