Last updated on 2026-11-12 15:01:12 CET.
| Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
|---|---|---|---|---|---|---|
| r-devel-linux-x86_64-debian-clang | 0.4.7 | 44.07 | 421.20 | 465.27 | OK | |
| r-devel-linux-x86_64-debian-gcc | 1.0.0 | 25.19 | 430.59 | 455.78 | OK | |
| r-devel-linux-x86_64-fedora-clang | 1.0.0 | 31.00 | 381.46 | 412.46 | OK | |
| r-devel-linux-x86_64-fedora-gcc | 1.0.0 | 29.00 | 370.92 | 399.92 | OK | |
| r-devel-windows-x86_64 | 0.4.7 | 70.00 | 325.00 | 395.00 | OK | |
| r-patched-linux-x86_64 | 1.0.0 | 37.31 | 540.60 | 577.91 | OK | |
| r-release-linux-x86_64 | 0.4.7 | 37.67 | 401.25 | 438.92 | OK | |
| r-release-macos-arm64 | 1.0.0 | 9.00 | 99.00 | 108.00 | OK | |
| r-release-macos-x86_64 | 0.4.7 | 24.00 | 388.00 | 412.00 | OK | |
| r-release-windows-x86_64 | 1.0.0 | 44.00 | 360.00 | 404.00 | OK | |
| r-oldrel-macos-arm64 | 1.0.0 | 13.00 | 113.00 | 126.00 | ERROR | |
| r-oldrel-macos-x86_64 | 1.0.0 | 30.00 | 1085.00 | 1115.00 | OK | |
| r-oldrel-windows-x86_64 | 1.0.0 | 58.00 | 443.00 | 501.00 | OK |
Version: 1.0.0
Check: tests
Result: ERROR
Running ‘spelling.R’ [0s/0s]
Running ‘testthat.R’ [70s/51s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> library(testthat)
> library(sbm)
> library(aricode)
>
> test_check("sbm")
*** caught segfault ***
address 0x110, cause 'invalid permissions'
*** caught segfault ***
address 0x110, cause 'invalid permissions'
Traceback:
1: FUN(X[[i]], ...)
2: lapply(X = X, FUN = FUN, ...)
3: sapply(1:cardE, function(e) { gr = matE[e, 1] gc = matE[e, 2] don = list_Mat[[e]] maskNA = list_MaskNA[[e]] if (v_distrib[e] == "bernoulli") { Unmdon = (1 - don) * maskNA } if (v_distrib[e] %in% c("laplace", "poisson", "gaussian", "ZIgaussian")) { Unit <- maskNA } if (v_distrib[e] == "ZIgaussian") { NonZerosdon <- (don != 0) Zerosdon <- (don == 0) * maskNA } facteur = 1 if (gc < 1) { if (gc == 0) facteur = 1/2 gc = gr } if (v_distrib[e] == "bernoulli") { prov = (tau[[gr]]) %*% log(list_theta[[e]]) %*% t(tau[[gc]]) prov1m = (tau[[gr]]) %*% log(1 - list_theta[[e]]) %*% t(tau[[gc]]) return((sum(don * prov) + sum((Unmdon) * prov1m)) * facteur) } if (v_distrib[e] == "poisson") { prov = (tau[[gr]]) %*% log(list_theta[[e]]) %*% t(tau[[gc]]) prov2 = (tau[[gr]]) %*% list_theta[[e]] %*% t(tau[[gc]]) return((sum(don * prov) - sum(Unit * prov2)) * facteur) } if (v_distrib[e] == "laplace") { prov = (tau[[gr]]) %*% log(2 * list_theta[[e]]) %*% t(tau[[gc]]) prov2 = (tau[[gr]]) %*% (1/list_theta[[e]]) %*% t(tau[[gc]]) return((-sum(Unit * prov) - sum(don * prov2)) * facteur) } if (v_distrib[e] == "gaussian") { prov = 0.5 * (tau[[gr]]) %*% (log(2 * pi * list_theta[[e]]$var) + list_theta[[e]]$mean^2/list_theta[[e]]$var) %*% t(tau[[gc]]) prov2 = 0.5 * (tau[[gr]]) %*% (1/list_theta[[e]]$var) %*% t(tau[[gc]]) prov3 = (tau[[gr]]) %*% (list_theta[[e]]$mean/list_theta[[e]]$var) %*% t(tau[[gc]]) return((-sum(Unit * prov) - sum(don^2 * prov2) + sum(don * prov3)) * facteur) } if (v_distrib[e] == "ZIgaussian") { prov = 0.5 * (tau[[gr]]) %*% (log(2 * pi * list_theta[[e]]$var) + list_theta[[e]]$mean^2/list_theta[[e]]$var) %*% t(tau[[gc]]) prov2 = 0.5 * (tau[[gr]]) %*% (1/list_theta[[e]]$var) %*% t(tau[[gc]]) prov3 = (tau[[gr]]) %*% (list_theta[[e]]$mean/list_theta[[e]]$var) %*% t(tau[[gc]]) P1 <- sum((-Unit * prov - don^2 * prov2 + don * prov3) * (1 - Zerosdon)) prov4 = (tau[[gr]]) %*% log(list_theta[[e]]$p0 + (list_theta[[e]]$p0 == 0)) %*% t(tau[[gc]]) prov4m = (tau[[gr]]) %*% log(1 - list_theta[[e]]$p0 + (list_theta[[e]]$p0 == 1)) %*% t(tau[[gc]]) P2 <- sum(Zerosdon * prov4) + sum((1 - Zerosdon) * prov4m) return((P1 + P2) * facteur) }})
4: compLikICLInt(tau, list_theta, list_pi, matE, list_Mat, list_MaskNA, n_q, v_K, v_distrib)
5: varEMMBM(self, classif, tau = tau, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
6: dataR6$estime(list_classif_init[[l]], maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
7: FUN(X[[i]], ...)
8: lapply(X = S, FUN = FUN, ...)
9: doTryCatch(return(expr), name, parentenv, handler)
10: tryCatchOne(expr, names, parentenv, handlers[[1L]])
11: tryCatchList(expr, classes, parentenv, handlers)
12: 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))})
13: try(lapply(X = S, FUN = FUN, ...), silent = TRUE)
14: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
15: FUN(X[[i]], ...)
16: lapply(seq_len(cores), inner.do)
17: mclapply(1:L, function(l) { estim.c.l <- dataR6$estime(list_classif_init[[l]], maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)}, mc.cores = nbCores)
18: searchKQ(dataR6 = self, classifInit = classifInit, pastICL = pastICL, Kmin = Kmin, Kmax = Kmax, nbCores = nbCores, verbose = verbose, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
19: dataR6$searchNbClusters(classifInit, Kmin = v_Kmin, Kmax = v_Kmax, pastICL = c(), verbose = verbose, nbCores = nbCores, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
20: GREMLINS::multipartiteBM(list_Net = listNetG, v_distrib = vdistrib, namesFG = namesFG, v_Kmin = v_Kmin, v_Kmax = v_Kmax, v_Kinit = NULL, initBM = initBM, keep = TRUE, verbose = verbose, nbCores = nbCores, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
21: myMBM$optimize(estimOptions)
22: eval(code, test_env)
23: eval(code, test_env)
24: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
25: doTryCatch(return(expr), name, parentenv, handler)
26: tryCatchOne(expr, names, parentenv, handlers[[1L]])
27: tryCatchList(expr, classes, parentenv, handlers)
28:
Traceback:
tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations 1: if (snapshot_skipped) {FUN(X[[i]], ...) skip("On CRAN")
} 2: else if (!new_expectations && skip_on_empty) {lapply(X = X, FUN = FUN, ...) skip_empty()
} 3: }, expectation = handle_expectation, packageNotFoundError = function(e) {sapply(1:cardE, function(e) { if (on_cran()) { gr = matE[e, 1] skip(paste0("{", e$package, "} is not installed.")) gc = matE[e, 2] } don = list_Mat[[e]]}, snapshot_on_cran = function(cnd) { maskNA = list_MaskNA[[e]] snapshot_skipped <<- TRUE if (v_distrib[e] == "bernoulli") { invokeRestart("muffle_cran_snapshot") Unmdon = (1 - don) * maskNA}, skip = handle_skip, warning = handle_warning, message = handle_message, } error = handle_error, interrupt = handle_interrupt), error = handle_fatal) if (v_distrib[e] %in% c("laplace", "poisson", "gaussian",
"ZIgaussian")) {29: Unit <- maskNAdoWithOneRestart(return(expr), restart) }
if (v_distrib[e] == "ZIgaussian") {30: NonZerosdon <- (don != 0)withOneRestart(expr, restarts[[1L]]) Zerosdon <- (don == 0) * maskNA
}31: facteur = 1withRestarts(tryCatch(withCallingHandlers({ if (gc < 1) { eval(code, test_env) if (gc == 0) new_expectations <- the$test_expectations > starting_expectations facteur = 1/2 if (snapshot_skipped) { gc = gr skip("On CRAN") } } if (v_distrib[e] == "bernoulli") { else if (!new_expectations && skip_on_empty) { prov = (tau[[gr]]) %*% log(list_theta[[e]]) %*% t(tau[[gc]]) skip_empty() prov1m = (tau[[gr]]) %*% log(1 - list_theta[[e]]) %*% } t(tau[[gc]])}, expectation = handle_expectation, packageNotFoundError = function(e) { return((sum(don * prov) + sum((Unmdon) * prov1m)) * facteur) if (on_cran()) { } skip(paste0("{", e$package, "} is not installed.")) if (v_distrib[e] == "poisson") { } prov = (tau[[gr]]) %*% log(list_theta[[e]]) %*% t(tau[[gc]])}, snapshot_on_cran = function(cnd) { prov2 = (tau[[gr]]) %*% list_theta[[e]] %*% t(tau[[gc]]) snapshot_skipped <<- TRUE return((sum(don * prov) - sum(Unit * prov2)) * facteur) invokeRestart("muffle_cran_snapshot") }}, skip = handle_skip, warning = handle_warning, message = handle_message, if (v_distrib[e] == "laplace") { error = handle_error, interrupt = handle_interrupt), error = handle_fatal), prov = (tau[[gr]]) %*% log(2 * list_theta[[e]]) %*% t(tau[[gc]]) end_test = function() { prov2 = (tau[[gr]]) %*% (1/list_theta[[e]]) %*% t(tau[[gc]]) }) return((-sum(Unit * prov) - sum(don * prov2)) * facteur)
}32: if (v_distrib[e] == "gaussian") {test_code(code, parent.frame()) prov = 0.5 * (tau[[gr]]) %*% (log(2 * pi * list_theta[[e]]$var) +
list_theta[[e]]$mean^2/list_theta[[e]]$var) %*% t(tau[[gc]])33: prov2 = 0.5 * (tau[[gr]]) %*% (1/list_theta[[e]]$var) %*% test_that("initializing Multipartite SBM works", { t(tau[[gc]]) if (Sys.info()["sysname"] != "Windows") { prov3 = (tau[[gr]]) %*% (list_theta[[e]]$mean/list_theta[[e]]$var) %*% set.seed(2) t(tau[[gc]]) npc <- 30 return((-sum(Unit * prov) - sum(don^2 * prov2) + sum(don * Q <- 3 prov3)) * facteur) n <- npc * Q } Z <- diag(Q) %x% matrix(1, npc, 1) if (v_distrib[e] == "ZIgaussian") { P <- matrix(runif(Q * Q), Q, Q) prov = 0.5 * (tau[[gr]]) %*% (log(2 * pi * list_theta[[e]]$var) + A <- 1 * (matrix(runif(n * n), n, n) < Z %*% P %*% t(Z)) list_theta[[e]]$mean^2/list_theta[[e]]$var) %*% t(tau[[gc]]) B <- matrix(rpois(npc * Q * 20, 2), npc * Q, 20) netA <- defineSBM(A, "bernoulli", type = "simple", directed = TRUE, dimLabels = c("Actor")) prov2 = 0.5 * (tau[[gr]]) %*% (1/list_theta[[e]]$var) %*% netB <- defineSBM(B, "poisson", type = "bipartite", dimLabels = c("Actor", t(tau[[gc]]) "Stuff")) prov3 = (tau[[gr]]) %*% (list_theta[[e]]$mean/list_theta[[e]]$var) %*% myMBM <- MultipartiteSBM_fit$new(list(netA, netB)) t(tau[[gc]]) expect_true(inherits(myMBM, "SBM")) P1 <- sum((-Unit * prov - don^2 * prov2 + don * prov3) * expect_true(inherits(myMBM, "MultipartiteSBM")) (1 - Zerosdon)) expect_true(inherits(myMBM, "MultipartiteSBM_fit")) prov4 = (tau[[gr]]) %*% log(list_theta[[e]]$p0 + (list_theta[[e]]$p0 == expect_equal(myMBM$modelName, c("bernoulli", "poisson")) 0)) %*% t(tau[[gc]]) expect_true(is.character(myMBM$modelName)) prov4m = (tau[[gr]]) %*% log(1 - list_theta[[e]]$p0 + expect_equal(unname(myMBM$nbNodes), c(Q * npc, 20)) (list_theta[[e]]$p0 == 1)) %*% t(tau[[gc]]) expect_equal(myMBM$directed, c(TRUE, NA)) P2 <- sum(Zerosdon * prov4) + sum((1 - Zerosdon) * prov4m) expect_equal(myMBM$nbNetworks, 2) return((P1 + P2) * facteur) expect_equal(unname(myMBM$networkData[[1]]$nbNodes), } Q * npc)}) expect_equal(unname(myMBM$networkData[[2]]$nbNodes),
c(Q * npc, 20)) 4: expect_equal(unname(myMBM$architecture), matrix(c(1, compLikICLInt(tau, list_theta, list_pi, matE, list_Mat, list_MaskNA, 1, 1, 2), 2, 2)) n_q, v_K, v_distrib) if (packageVersion("purrr") >= "1.0.0") {
test_list <- vector("list", 2) 5: test_list[[1]] = numeric(0) test_list[[2]] = list(Actor = numeric(0), Stuff = numeric(0))varEMMBM(self, classif, tau = tau, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM) expect_equal(myMBM$blockProp, test_list)
} 6: expect_equal(myMBM$connectParam, list(list(mean = matrix(0, dataR6$estime(list_classif_init[[l]], maxiterVE = maxiterVE, 0, 0)), list(mean = matrix(0, 0, 0)))) maxiterVEM = maxiterVEM) expect_equal(coef(myMBM, "connectivity"), myMBM$connectParam)
expect_equal(coef(myMBM, "block"), myMBM$blockProp) 7: estimOptions = list(initBM = FALSE, verbosity = 0, nbCores = 2)FUN(X[[i]], ...) myMBM$optimize(estimOptions)
expect_equal(length(myMBM$networkData[[1]]$memberships), 8: npc * Q)lapply(X = S, FUN = FUN, ...) expect_equal(is.list(myMBM$networkData[[2]]$memberships),
TRUE) 9: expect_equal(length(myMBM$networkData[[1]]$blockProp), doTryCatch(return(expr), name, parentenv, handler) length(unique(myMBM$networkData[[1]]$memberships)))
expect_equal(myMBM$networkData[[1]]$blockProp, myMBM$networkData[[2]]$blockProp[[1]])10: expect_equal(length(myMBM$networkData[[1]]$blockProp), tryCatchOne(expr, names, parentenv, handlers[[1L]]) nrow(myMBM$networkData[[1]]$connectParam$mean))
expect_equal(ncol(myMBM$networkData[[1]]$connectParam$mean), 11: nrow(myMBM$networkData[[1]]$connectParam$mean))tryCatchList(expr, classes, parentenv, handlers) muAS <- myMBM$networkData[[2]]$connectParam$mean
expect_equal(ifelse(is.matrix(muAS), nrow(muAS), length(muAS)), 12: nrow(myMBM$networkData[[1]]$connectParam$mean))tryCatch(expr, error = function(e) { expect_equal(lengths(myMBM$blockProp), myMBM$nbBlocks) call <- conditionCall(e) expect_equal(length(myMBM$blockProp), length(myMBM$dimLabels)) if (!is.null(call)) { expect_equal(length(myMBM$connectParam), myMBM$nbNetworks) if (identical(call[[1L]], quote(doTryCatch))) expect_equal(lengths(myMBM$memberships), myMBM$nbNodes) call <- sys.call(-4L) expect_lt(myMBM$loglik, 0) dcall <- deparse(call, nlines = 1L) expect_lt(myMBM$ICL, 0) prefix <- paste("Error in", dcall, ": ") expect_lt(myMBM$ICL, myMBM$loglik) LONG <- 75L expect_silent(plot(myMBM, type = "data")) sm <- strsplit(conditionMessage(e), "\n")[[1L]] expect_silent(plot(myMBM, type = "meso")) w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w") expect_silent(plot(myMBM, type = "expected")) if (is.na(w)) expect_equal(coef(myMBM, "connectivity"), myMBM$connectParam) w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L], expect_equal(coef(myMBM, "block"), myMBM$blockProp) type = "b") expect_lt(rmse(myMBM$connectParam[[1]]$mean, netA$connectParam$mean), if (w > LONG) 0.01) prefix <- paste0(prefix, "\n ") expect_lt(rmse(myMBM$connectParam[[2]]$mean, netB$connectParam$mean), } else prefix <- "Error : " 0.01) expect_lt(1 - aricode::ARI(myMBM$memberships$Actor, netA$memberships), msg <- paste0(prefix, conditionMessage(e), "\n") .Internal(seterrmessage(msg[1L])) 0.05) if (!silent && isTRUE(getOption("show.error.messages"))) { } cat(msg, file = outFile)}) .Internal(printDeferredWarnings())
}34: invisible(structure(msg, class = "try-error", condition = e))})eval(code, test_env)
13: try(lapply(X = S, FUN = FUN, ...), silent = TRUE)35:
eval(code, test_env)14:
sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))36:
withCallingHandlers({15: eval(code, test_env) new_expectations <- the$test_expectations > starting_expectationsFUN(X[[i]], ...) if (snapshot_skipped) {
skip("On CRAN")16: }lapply(seq_len(cores), inner.do) else if (!new_expectations && skip_on_empty) {
skip_empty()17: }mclapply(1:L, function(l) {}, expectation = handle_expectation, packageNotFoundError = function(e) { estim.c.l <- dataR6$estime(list_classif_init[[l]], maxiterVE = maxiterVE, if (on_cran()) { maxiterVEM = maxiterVEM) skip(paste0("{", e$package, "} is not installed."))}, mc.cores = nbCores) }
}, snapshot_on_cran = function(cnd) {18: snapshot_skipped <<- TRUEsearchKQ(dataR6 = self, classifInit = classifInit, pastICL = pastICL, invokeRestart("muffle_cran_snapshot") Kmin = Kmin, Kmax = Kmax, nbCores = nbCores, verbose = verbose, }, skip = handle_skip, warning = handle_warning, message = handle_message, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM) error = handle_error, interrupt = handle_interrupt)
19: 37: dataR6$searchNbClusters(classifInit, Kmin = v_Kmin, Kmax = v_Kmax, doTryCatch(return(expr), name, parentenv, handler) pastICL = c(), verbose = verbose, nbCores = nbCores, maxiterVE = maxiterVE,
maxiterVEM = maxiterVEM)
38: 20: tryCatchOne(expr, names, parentenv, handlers[[1L]])GREMLINS::multipartiteBM(list_Net = listNetG, v_distrib = vdistrib,
namesFG = namesFG, v_Kmin = v_Kmin, v_Kmax = v_Kmax, v_Kinit = NULL, 39: initBM = initBM, keep = TRUE, verbose = verbose, nbCores = nbCores, tryCatchList(expr, classes, parentenv, handlers) maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
40: 21: tryCatch(withCallingHandlers({myMBM$optimize(estimOptions) eval(code, test_env)
new_expectations <- the$test_expectations > starting_expectations22: if (snapshot_skipped) {eval(code, test_env) skip("On CRAN")
}23: else if (!new_expectations && skip_on_empty) {eval(code, test_env) skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) {
if (on_cran()) {24: skip(paste0("{", e$package, "} is not installed."))withCallingHandlers({ }}, snapshot_on_cran = function(cnd) { eval(code, test_env) snapshot_skipped <<- TRUE new_expectations <- the$test_expectations > starting_expectations invokeRestart("muffle_cran_snapshot") if (snapshot_skipped) {}, skip = handle_skip, warning = handle_warning, message = handle_message, skip("On CRAN") error = handle_error, interrupt = handle_interrupt), error = handle_fatal) }
else if (!new_expectations && skip_on_empty) {41: skip_empty()doWithOneRestart(return(expr), restart) }
}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) {42: skip(paste0("{", e$package, "} is not installed."))withOneRestart(expr, restarts[[1L]]) }
}, snapshot_on_cran = function(cnd) {43: snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env)}, skip = handle_skip, warning = handle_warning, message = handle_message, new_expectations <- the$test_expectations > starting_expectations error = handle_error, interrupt = handle_interrupt)
if (snapshot_skipped) {25: skip("On CRAN")doTryCatch(return(expr), name, parentenv, handler) }
26: else if (!new_expectations && skip_on_empty) {tryCatchOne(expr, names, parentenv, handlers[[1L]]) skip_empty()
}27: tryCatchList(expr, classes, parentenv, handlers)}, expectation = handle_expectation, packageNotFoundError = function(e) {
if (on_cran()) {28: skip(paste0("{", e$package, "} is not installed."))tryCatch(withCallingHandlers({ } eval(code, test_env)}, snapshot_on_cran = function(cnd) { new_expectations <- the$test_expectations > starting_expectations snapshot_skipped <<- TRUE if (snapshot_skipped) { skip("On CRAN") invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { } }) else if (!new_expectations && skip_on_empty) {
44: skip_empty()test_code(code = exprs, env = env, reporter = get_reporter() %||% } StopReporter$new())}, expectation = handle_expectation, packageNotFoundError = function(e) {
if (on_cran()) { skip(paste0("{", e$package, "} is not installed."))45: }source_file(path, env = env(env), desc = desc, shuffle = shuffle, }, snapshot_on_cran = function(cnd) { error_call = error_call) snapshot_skipped <<- TRUE
invokeRestart("muffle_cran_snapshot")46: }, skip = handle_skip, warning = handle_warning, message = handle_message, FUN(X[[i]], ...) error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
29: 47: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)doWithOneRestart(return(expr), restart)
30: withOneRestart(expr, restarts[[1L]])48:
doTryCatch(return(expr), name, parentenv, handler)31:
withRestarts(tryCatch(withCallingHandlers({49: tryCatchOne(expr, names, parentenv, handlers[[1L]]) eval(code, test_env)
new_expectations <- the$test_expectations > starting_expectations50: if (snapshot_skipped) { skip("On CRAN")tryCatchList(expr, classes, parentenv, handlers) }
else if (!new_expectations && skip_on_empty) {51: skip_empty()tryCatch(code, testthat_abort_reporter = function(cnd) { } cat(conditionMessage(cnd), "\n") NULL}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) {})
skip(paste0("{", e$package, "} is not installed."))52: }with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call))}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE
invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, 53: error = handle_error, interrupt = handle_interrupt), error = handle_fatal), test_files_serial(test_dir = test_dir, test_package = test_package, end_test = function() { test_paths = test_paths, load_helpers = load_helpers, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, })
desc = desc, load_package = load_package, shuffle = shuffle, error_call = error_call)32:
test_code(code, parent.frame())54:
33: test_files(test_dir = path, test_paths = test_paths, test_package = package, test_that("initializing Multipartite SBM works", { reporter = reporter, load_helpers = load_helpers, env = env, if (Sys.info()["sysname"] != "Windows") { stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, set.seed(2) npc <- 30 Q <- 3 load_package = load_package, parallel = parallel, shuffle = shuffle) n <- npc * Q
Z <- diag(Q) %x% matrix(1, npc, 1)55: P <- matrix(runif(Q * Q), Q, Q)test_dir("testthat", package = package, reporter = reporter, A <- 1 * (matrix(runif(n * n), n, n) < Z %*% P %*% t(Z)) ..., load_package = "installed") B <- matrix(rpois(npc * Q * 20, 2), npc * Q, 20) netA <- defineSBM(A, "bernoulli", type = "simple", directed = TRUE,
56: dimLabels = c("Actor"))test_check("sbm") netB <- defineSBM(B, "poisson", type = "bipartite", dimLabels = c("Actor",
An irrecoverable exception occurred. R is aborting now ...
"Stuff")) myMBM <- MultipartiteSBM_fit$new(list(netA, netB)) expect_true(inherits(myMBM, "SBM")) expect_true(inherits(myMBM, "MultipartiteSBM")) expect_true(inherits(myMBM, "MultipartiteSBM_fit")) expect_equal(myMBM$modelName, c("bernoulli", "poisson")) expect_true(is.character(myMBM$modelName)) expect_equal(unname(myMBM$nbNodes), c(Q * npc, 20)) expect_equal(myMBM$directed, c(TRUE, NA)) expect_equal(myMBM$nbNetworks, 2) expect_equal(unname(myMBM$networkData[[1]]$nbNodes), Q * npc) expect_equal(unname(myMBM$networkData[[2]]$nbNodes), c(Q * npc, 20)) expect_equal(unname(myMBM$architecture), matrix(c(1, 1, 1, 2), 2, 2)) if (packageVersion("purrr") >= "1.0.0") { test_list <- vector("list", 2) test_list[[1]] = numeric(0) test_list[[2]] = list(Actor = numeric(0), Stuff = numeric(0)) expect_equal(myMBM$blockProp, test_list) } expect_equal(myMBM$connectParam, list(list(mean = matrix(0, 0, 0)), list(mean = matrix(0, 0, 0)))) expect_equal(coef(myMBM, "connectivity"), myMBM$connectParam) expect_equal(coef(myMBM, "block"), myMBM$blockProp) estimOptions = list(initBM = FALSE, verbosity = 0, nbCores = 2) myMBM$optimize(estimOptions) expect_equal(length(myMBM$networkData[[1]]$memberships), npc * Q) expect_equal(is.list(myMBM$networkData[[2]]$memberships), TRUE) expect_equal(length(myMBM$networkData[[1]]$blockProp), length(unique(myMBM$networkData[[1]]$memberships))) expect_equal(myMBM$networkData[[1]]$blockProp, myMBM$networkData[[2]]$blockProp[[1]]) expect_equal(length(myMBM$networkData[[1]]$blockProp), nrow(myMBM$networkData[[1]]$connectParam$mean)) expect_equal(ncol(myMBM$networkData[[1]]$connectParam$mean), nrow(myMBM$networkData[[1]]$connectParam$mean)) muAS <- myMBM$networkData[[2]]$connectParam$mean expect_equal(ifelse(is.matrix(muAS), nrow(muAS), length(muAS)), nrow(myMBM$networkData[[1]]$connectParam$mean)) expect_equal(lengths(myMBM$blockProp), myMBM$nbBlocks) expect_equal(length(myMBM$blockProp), length(myMBM$dimLabels)) expect_equal(length(myMBM$connectParam), myMBM$nbNetworks) expect_equal(lengths(myMBM$memberships), myMBM$nbNodes) expect_lt(myMBM$loglik, 0) expect_lt(myMBM$ICL, 0) expect_lt(myMBM$ICL, myMBM$loglik) expect_silent(plot(myMBM, type = "data")) expect_silent(plot(myMBM, type = "meso")) expect_silent(plot(myMBM, type = "expected")) expect_equal(coef(myMBM, "connectivity"), myMBM$connectParam) expect_equal(coef(myMBM, "block"), myMBM$blockProp) expect_lt(rmse(myMBM$connectParam[[1]]$mean, netA$connectParam$mean), 0.01) expect_lt(rmse(myMBM$connectParam[[2]]$mean, netB$connectParam$mean), 0.01) expect_lt(1 - aricode::ARI(myMBM$memberships$Actor, netA$memberships), 0.05) }})
34: eval(code, test_env)
35: eval(code, test_env)
36: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
37: doTryCatch(return(expr), name, parentenv, handler)
38: tryCatchOne(expr, names, parentenv, handlers[[1L]])
39: tryCatchList(expr, classes, parentenv, handlers)
40: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
41: doWithOneRestart(return(expr), restart)
42: withOneRestart(expr, restarts[[1L]])
43: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { })
44: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new())
45: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call)
46: FUN(X[[i]], ...)
47: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)
48: doTryCatch(return(expr), name, parentenv, handler)
49: tryCatchOne(expr, names, parentenv, handlers[[1L]])
50: tryCatchList(expr, classes, parentenv, handlers)
51: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL})
52: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call))
53: test_files_serial(test_dir = test_dir, test_package = test_package, test_paths = test_paths, load_helpers = load_helpers, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, desc = desc, load_package = load_package, shuffle = shuffle, error_call = error_call)
54: test_files(test_dir = path, test_paths = test_paths, test_package = package, reporter = reporter, load_helpers = load_helpers, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, load_package = load_package, parallel = parallel, shuffle = shuffle)
55: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed")
56: test_check("sbm")
An irrecoverable exception occurred. R is aborting now ...
Saving _problems/test-MultipartiteSBM-50.R
*** caught segfault ***
address 0x110, cause 'invalid permissions'
Traceback:
1: FUN(X[[i]], ...)
2: lapply(X = X, FUN = FUN, ...)
3: sapply(1:cardE, function(e) { gr = matE[e, 1] gc = matE[e, 2] don = list_Mat[[e]] maskNA = list_MaskNA[[e]] if (v_distrib[e] == "bernoulli") { Unmdon = (1 - don) * maskNA } if (v_distrib[e] %in% c("laplace", "poisson", "gaussian", "ZIgaussian")) { Unit <- maskNA } if (v_distrib[e] == "ZIgaussian") { NonZerosdon <- (don != 0) Zerosdon <- (don == 0) * maskNA } facteur = 1 if (gc < 1) { if (gc == 0) facteur = 1/2 gc = gr } if (v_distrib[e] == "bernoulli") { prov = (tau[[gr]]) %*% log(list_theta[[e]]) %*% t(tau[[gc]]) prov1m = (tau[[gr]]) %*% log(1 - list_theta[[e]]) %*% t(tau[[gc]]) return((sum(don * prov) + sum((Unmdon) * prov1m)) * facteur) } if (v_distrib[e] == "poisson") { prov = (tau[[gr]]) %*% log(list_theta[[e]]) %*% t(tau[[gc]]) prov2 = (tau[[gr]]) %*% list_theta[[e]] %*% t(tau[[gc]]) return((sum(don * prov) - sum(Unit * prov2)) * facteur) } if (v_distrib[e] == "laplace") { prov = (tau[[gr]]) %*% log(2 * list_theta[[e]]) %*% t(tau[[gc]]) prov2 = (tau[[gr]]) %*% (1/list_theta[[e]]) %*% t(tau[[gc]]) return((-sum(Unit * prov) - sum(don * prov2)) * facteur) } if (v_distrib[e] == "gaussian") { prov = 0.5 * (tau[[gr]]) %*% (log(2 * pi * list_theta[[e]]$var) + list_theta[[e]]$mean^2/list_theta[[e]]$var) %*% t(tau[[gc]]) prov2 = 0.5 * (tau[[gr]]) %*% (1/list_theta[[e]]$var) %*% t(tau[[gc]]) prov3 = (tau[[gr]]) %*% (list_theta[[e]]$mean/list_theta[[e]]$var) %*% t(tau[[gc]]) return((-sum(Unit * prov) - sum(don^2 * prov2) + sum(don * prov3)) * facteur) } if (v_distrib[e] == "ZIgaussian") { prov = 0.5 * (tau[[gr]]) %*% (log(2 * pi * list_theta[[e]]$var) + list_theta[[e]]$mean^2/list_theta[[e]]$var) %*% t(tau[[gc]]) prov2 = 0.5 * (tau[[gr]]) %*% (1/list_theta[[e]]$var) %*% t(tau[[gc]]) prov3 = (tau[[gr]]) %*% (list_theta[[e]]$mean/list_theta[[e]]$var) %*% t(tau[[gc]]) P1 <- sum((-Unit * prov - don^2 * prov2 + don * prov3) * (1 - Zerosdon)) prov4 = (tau[[gr]]) %*% log(list_theta[[e]]$p0 + (list_theta[[e]]$p0 == 0)) %*% t(tau[[gc]]) prov4m = (tau[[gr]]) %*% log(1 - list_theta[[e]]$p0 + (list_theta[[e]]$p0 == 1)) %*% t(tau[[gc]]) P2 <- sum(Zerosdon * prov4) + sum((1 - Zerosdon) * prov4m) return((P1 + P2) * facteur) }})
4: compLikICLInt(tau, list_theta, list_pi, matE, list_Mat, list_MaskNA, n_q, v_K, v_distrib)
5: varEMMBM(self, classif, tau = tau, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
6: dataR6$estime(list_classif_init[[l]], maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
7: FUN(X[[i]], ...)
8: lapply(X = S, FUN = FUN, ...)
9: doTryCatch(return(expr), name, parentenv, handler)
10: tryCatchOne(expr, names, parentenv, handlers[[1L]])
11: tryCatchList(expr, classes, parentenv, handlers)
12: 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))})
13: try(lapply(X = S, FUN = FUN, ...), silent = TRUE)
14: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
15: FUN(X[[i]], ...)
16: lapply(seq_len(cores), inner.do)
17: mclapply(1:L, function(l) { estim.c.l <- dataR6$estime(list_classif_init[[l]], maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)}, mc.cores = nbCores)
18: searchKQ(dataR6 = self, classifInit = classifInit, pastICL = pastICL, Kmin = Kmin, Kmax = Kmax, nbCores = nbCores, verbose = verbose, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
19: dataR6$searchNbClusters(classifInit, Kmin = v_Kmin, Kmax = v_Kmax, pastICL = c(), verbose = verbose, nbCores = nbCores, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
20: GREMLINS::multipartiteBM(list_Net = listNetG, v_distrib = vdistrib, namesFG = namesFG, v_Kmin = v_Kmin, v_Kmax = v_Kmax, v_Kinit = NULL, initBM = initBM, keep = TRUE, verbose = verbose, nbCores = nbCores, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
21: super$optimize(estimOptions)
22: myMultiplexFitindep$optimize(estimOptions = currentOptions)
23: eval(code, test_env)
24: eval(code, test_env)
25: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
26: doTryCatch(return(expr), name, parentenv, handler)
27: tryCatchOne(expr, names, parentenv, handlers[[1L]])
28: tryCatchList(expr, classes, parentenv, handlers)
29: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
30: doWithOneRestart(return(expr), restart)
31: withOneRestart(expr, restarts[[1L]])
32: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { })
33: test_code(code, parent.frame())
34: test_that("Inference for Multiplex networks", { if (Sys.info()["sysname"] != "Windows") { set.seed(2) npc <- 30 Q <- 3 n <- npc * Q Z <- diag(Q) %x% matrix(1, npc, 1) P <- matrix(runif(Q * Q), Q, Q) A <- 1 * (matrix(runif(n * n), n, n) < Z %*% P %*% t(Z)) type <- "simple" netA <- defineSBM(A, "bernoulli", type = "simple", directed = TRUE, dimLabels = c("Actor")) B <- 1 * (matrix(runif(n * n), n, n) < Z %*% P %*% t(Z)) netB <- defineSBM(B, "bernoulli", type = "simple", dimLabels = c("Actor")) myMultiplex <- MultiplexSBM_fit$new(list(netA, netB)) netC <- defineSBM(B * 4, "poisson", type = "simple", dimLabels = c("Actor")) expect_equal(myMultiplex$directed, c(TRUE, TRUE)) expect_equal(myMultiplex$nbNetworks, 2) expect_equal(myMultiplex$dependentNetwork, FALSE) expect_equal(MultiplexSBM_fit$new(list(netA, netB), TRUE)$dependentNetwork, TRUE) expect_error(MultiplexSBM_fit$new(list(netA, netC), TRUE)) expect_error(MultiplexSBM_fit$new(list(netA, netB, netB), TRUE)) expect_warning(defineSBM(B, "poisson", type = "simple", dimLabels = c("Actor")), "binary") currentOptions <- list(verbosity = 0, plot = FALSE, nbBlocksRange = list(c(1, 10)), nbCores = 2, maxiterVE = 100, maxiterVEM = 100, initBM = TRUE) myMultiplexFitindep <- MultiplexSBM_fit$new(list(netA, netB, netC)) myMultiplexFitindep$optimize(estimOptions = currentOptions) expect_equal(length(myMultiplexFitindep$connectParam), 3) myMultiplexFitdep <- MultiplexSBM_fit$new(list(netA, netB), dependentNet = TRUE) currentOptions <- list(verbosity = 0, plot = FALSE, explorFactor = 1.5, nbBlocksRange = c(4, Inf), nbCores = 2, fast = TRUE) myMultiplexFitdep$optimize(estimOptions = currentOptions) myMultiplexFitdep$probMemberships expect_equal(class(myMultiplexFitdep$memberships), "list") expect_equal(length(myMultiplexFitdep$connectParam), 4) expect_equal(myMultiplexFitdep$dependentNetwork, TRUE) set.seed(2) npc1 <- 30 npc2 <- 20 Q1 <- 2 Q2 <- 3 n1 <- npc1 * Q1 n2 <- npc2 * Q2 Z1 <- diag(Q1) %x% matrix(1, npc1, 1) Z2 <- diag(Q2) %x% matrix(1, npc2, 1) P <- matrix(runif(Q1 * Q2), Q1, Q2) A <- 1 * (matrix(runif(n1 * n2), n1, n2) < Z1 %*% P %*% t(Z2)) netA <- defineSBM(A, "bernoulli", type = "bipartite", directed = TRUE, dimLabels = c("Actor", "Object")) B <- 1 * (matrix(runif(n1 * n2), n1, n2) < Z1 %*% P %*% t(Z2)) netB <- defineSBM(B, "bernoulli", type = "bipartite", dimLabels = c("Actor", "Object")) myMultiplexFitindep <- MultiplexSBM_fit$new(list(netA, netB)) currentOptions <- list(verbosity = 0, nbBlocksRange = list(c(1, 10), c(1, 10)), nbCores = 2, maxiterVE = 100, maxiterVEM = 100, initBM = FALSE) names(currentOptions$nbBlocksRange) = c("Actor", "Object") myMultiplexFitindep$optimize(currentOptions) expect_equal(length(myMultiplexFitindep$connectParam), 2) }})
35: eval(code, test_env)
36: eval(code, test_env)
37: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
38: doTryCatch(return(expr), name, parentenv, handler)
39: tryCatchOne(expr, names, parentenv, handlers[[1L]])
40: tryCatchList(expr, classes, parentenv, handlers)
41: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
42: doWithOneRestart(return(expr), restart)
43: withOneRestart(expr, restarts[[1L]])
44: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { })
45: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new())
46: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call)
47: FUN(X[[i]], ...)
48: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)
49: doTryCatch(return(expr), name, parentenv, handler)
50: tryCatchOne(expr, names, parentenv, handlers[[1L]])
51: tryCatchList(expr, classes, parentenv, handlers)
52: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL})
53: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call))
54: test_files_serial(test_dir = test_dir, test_package = test_package, test_paths = test_paths, load_helpers = load_helpers, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, desc = desc, load_package = load_package, shuffle = shuffle, error_call = error_call)
55: test_files(test_dir = path, test_paths = test_paths, test_package = package, reporter = reporter, load_helpers = load_helpers, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, load_package = load_package, parallel = parallel, shuffle = shuffle)
56: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed")
57: test_check("sbm")
An irrecoverable exception occurred. R is aborting now ...
*** caught segfault ***
address 0x110, cause 'invalid permissions'
Traceback:
1: FUN(X[[i]], ...)
2: lapply(X = X, FUN = FUN, ...)
3: sapply(1:cardE, function(e) { gr = matE[e, 1] gc = matE[e, 2] don = list_Mat[[e]] maskNA = list_MaskNA[[e]] if (v_distrib[e] == "bernoulli") { Unmdon = (1 - don) * maskNA } if (v_distrib[e] %in% c("laplace", "poisson", "gaussian", "ZIgaussian")) { Unit <- maskNA } if (v_distrib[e] == "ZIgaussian") { NonZerosdon <- (don != 0) Zerosdon <- (don == 0) * maskNA } facteur = 1 if (gc < 1) { if (gc == 0) facteur = 1/2 gc = gr } if (v_distrib[e] == "bernoulli") { prov = (tau[[gr]]) %*% log(list_theta[[e]]) %*% t(tau[[gc]]) prov1m = (tau[[gr]]) %*% log(1 - list_theta[[e]]) %*% t(tau[[gc]]) return((sum(don * prov) + sum((Unmdon) * prov1m)) * facteur) } if (v_distrib[e] == "poisson") { prov = (tau[[gr]]) %*% log(list_theta[[e]]) %*% t(tau[[gc]]) prov2 = (tau[[gr]]) %*% list_theta[[e]] %*% t(tau[[gc]]) return((sum(don * prov) - sum(Unit * prov2)) * facteur) } if (v_distrib[e] == "laplace") { prov = (tau[[gr]]) %*% log(2 * list_theta[[e]]) %*% t(tau[[gc]]) prov2 = (tau[[gr]]) %*% (1/list_theta[[e]]) %*% t(tau[[gc]]) return((-sum(Unit * prov) - sum(don * prov2)) * facteur) } if (v_distrib[e] == "gaussian") { prov = 0.5 * (tau[[gr]]) %*% (log(2 * pi * list_theta[[e]]$var) + list_theta[[e]]$mean^2/list_theta[[e]]$var) %*% t(tau[[gc]]) prov2 = 0.5 * (tau[[gr]]) %*% (1/list_theta[[e]]$var) %*% t(tau[[gc]]) prov3 = (tau[[gr]]) %*% (list_theta[[e]]$mean/list_theta[[e]]$var) %*% t(tau[[gc]]) return((-sum(Unit * prov) - sum(don^2 * prov2) + sum(don * prov3)) * facteur) } if (v_distrib[e] == "ZIgaussian") { prov = 0.5 * (tau[[gr]]) %*% (log(2 * pi * list_theta[[e]]$var) + list_theta[[e]]$mean^2/list_theta[[e]]$var) %*% t(tau[[gc]]) prov2 = 0.5 * (tau[[gr]]) %*% (1/list_theta[[e]]$var) %*% t(tau[[gc]]) prov3 = (tau[[gr]]) %*% (list_theta[[e]]$mean/list_theta[[e]]$var) %*% t(tau[[gc]]) P1 <- sum((-Unit * prov - don^2 * prov2 + don * prov3) * (1 - Zerosdon)) prov4 = (tau[[gr]]) %*% log(list_theta[[e]]$p0 + (list_theta[[e]]$p0 == 0)) %*% t(tau[[gc]]) prov4m = (tau[[gr]]) %*% log(1 - list_theta[[e]]$p0 + (list_theta[[e]]$p0 == 1)) %*% t(tau[[gc]]) P2 <- sum(Zerosdon * prov4) + sum((1 - Zerosdon) * prov4m) return((P1 + P2) * facteur) }})
4: compLikICLInt(tau, list_theta, list_pi, matE, list_Mat, list_MaskNA, n_q, v_K, v_distrib)
5: varEMMBM(self, classif, tau = tau, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
6: dataR6$estime(list_classif_init[[l]], maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
7: FUN(X[[i]], ...)
8: lapply(X = S, FUN = FUN, ...)
9: doTryCatch(return(expr), name, parentenv, handler)
10: tryCatchOne(expr, names, parentenv, handlers[[1L]])
11: tryCatchList(expr, classes, parentenv, handlers)
12: 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))})
13: try(lapply(X = S, FUN = FUN, ...), silent = TRUE)
14: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
15: FUN(X[[i]], ...)
16: lapply(seq_len(cores), inner.do)
17: mclapply(1:L, function(l) { estim.c.l <- dataR6$estime(list_classif_init[[l]], maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)}, mc.cores = nbCores)
18: searchKQ(dataR6 = self, classifInit = classifInit, pastICL = pastICL, Kmin = Kmin, Kmax = Kmax, nbCores = nbCores, verbose = verbose, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
19: dataR6$searchNbClusters(classifInit, Kmin = v_Kmin, Kmax = v_Kmax, pastICL = c(), verbose = verbose, nbCores = nbCores, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
20: GREMLINS::multipartiteBM(list_Net = listNetG, v_distrib = vdistrib, namesFG = namesFG, v_Kmin = v_Kmin, v_Kmax = v_Kmax, v_Kinit = NULL, initBM = initBM, keep = TRUE, verbose = verbose, nbCores = nbCores, maxiterVE = maxiterVE, maxiterVEM = maxiterVEM)
21: super$optimize(estimOptions)
22: myMultiplexFitindep$optimize(estimOptions = currentOptions)
23: eval(code, test_env)
24: eval(code, test_env)
25: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
26: doTryCatch(return(expr), name, parentenv, handler)
27: tryCatchOne(expr, names, parentenv, handlers[[1L]])
28: tryCatchList(expr, classes, parentenv, handlers)
29: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
30: doWithOneRestart(return(expr), restart)
31: withOneRestart(expr, restarts[[1L]])
32: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { })
33: test_code(code, parent.frame())
34: test_that("Inference for Multiplex networks", { if (Sys.info()["sysname"] != "Windows") { set.seed(2) npc <- 30 Q <- 3 n <- npc * Q Z <- diag(Q) %x% matrix(1, npc, 1) P <- matrix(runif(Q * Q), Q, Q) A <- 1 * (matrix(runif(n * n), n, n) < Z %*% P %*% t(Z)) type <- "simple" netA <- defineSBM(A, "bernoulli", type = "simple", directed = TRUE, dimLabels = c("Actor")) B <- 1 * (matrix(runif(n * n), n, n) < Z %*% P %*% t(Z)) netB <- defineSBM(B, "bernoulli", type = "simple", dimLabels = c("Actor")) myMultiplex <- MultiplexSBM_fit$new(list(netA, netB)) netC <- defineSBM(B * 4, "poisson", type = "simple", dimLabels = c("Actor")) expect_equal(myMultiplex$directed, c(TRUE, TRUE)) expect_equal(myMultiplex$nbNetworks, 2) expect_equal(myMultiplex$dependentNetwork, FALSE) expect_equal(MultiplexSBM_fit$new(list(netA, netB), TRUE)$dependentNetwork, TRUE) expect_error(MultiplexSBM_fit$new(list(netA, netC), TRUE)) expect_error(MultiplexSBM_fit$new(list(netA, netB, netB), TRUE)) expect_warning(defineSBM(B, "poisson", type = "simple", dimLabels = c("Actor")), "binary") currentOptions <- list(verbosity = 0, plot = FALSE, nbBlocksRange = list(c(1, 10)), nbCores = 2, maxiterVE = 100, maxiterVEM = 100, initBM = TRUE) myMultiplexFitindep <- MultiplexSBM_fit$new(list(netA, netB, netC)) myMultiplexFitindep$optimize(estimOptions = currentOptions) expect_equal(length(myMultiplexFitindep$connectParam), 3) myMultiplexFitdep <- MultiplexSBM_fit$new(list(netA, netB), dependentNet = TRUE) currentOptions <- list(verbosity = 0, plot = FALSE, explorFactor = 1.5, nbBlocksRange = c(4, Inf), nbCores = 2, fast = TRUE) myMultiplexFitdep$optimize(estimOptions = currentOptions) myMultiplexFitdep$probMemberships expect_equal(class(myMultiplexFitdep$memberships), "list") expect_equal(length(myMultiplexFitdep$connectParam), 4) expect_equal(myMultiplexFitdep$dependentNetwork, TRUE) set.seed(2) npc1 <- 30 npc2 <- 20 Q1 <- 2 Q2 <- 3 n1 <- npc1 * Q1 n2 <- npc2 * Q2 Z1 <- diag(Q1) %x% matrix(1, npc1, 1) Z2 <- diag(Q2) %x% matrix(1, npc2, 1) P <- matrix(runif(Q1 * Q2), Q1, Q2) A <- 1 * (matrix(runif(n1 * n2), n1, n2) < Z1 %*% P %*% t(Z2)) netA <- defineSBM(A, "bernoulli", type = "bipartite", directed = TRUE, dimLabels = c("Actor", "Object")) B <- 1 * (matrix(runif(n1 * n2), n1, n2) < Z1 %*% P %*% t(Z2)) netB <- defineSBM(B, "bernoulli", type = "bipartite", dimLabels = c("Actor", "Object")) myMultiplexFitindep <- MultiplexSBM_fit$new(list(netA, netB)) currentOptions <- list(verbosity = 0, nbBlocksRange = list(c(1, 10), c(1, 10)), nbCores = 2, maxiterVE = 100, maxiterVEM = 100, initBM = FALSE) names(currentOptions$nbBlocksRange) = c("Actor", "Object") myMultiplexFitindep$optimize(currentOptions) expect_equal(length(myMultiplexFitindep$connectParam), 2) }})
35: eval(code, test_env)
36: eval(code, test_env)
37: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
38: doTryCatch(return(expr), name, parentenv, handler)
39: tryCatchOne(expr, names, parentenv, handlers[[1L]])
40: tryCatchList(expr, classes, parentenv, handlers)
41: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
42: doWithOneRestart(return(expr), restart)
43: withOneRestart(expr, restarts[[1L]])
44: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { })
45: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new())
46: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call)
47: FUN(X[[i]], ...)
48: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)
49: doTryCatch(return(expr), name, parentenv, handler)
50: tryCatchOne(expr, names, parentenv, handlers[[1L]])
51: tryCatchList(expr, classes, parentenv, handlers)
52: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL})
53: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call))
54: test_files_serial(test_dir = test_dir, test_package = test_package, test_paths = test_paths, load_helpers = load_helpers, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, desc = desc, load_package = load_package, shuffle = shuffle, error_call = error_call)
55: test_files(test_dir = path, test_paths = test_paths, test_package = package, reporter = reporter, load_helpers = load_helpers, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, load_package = load_package, parallel = parallel, shuffle = shuffle)
56: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed")
57: test_check("sbm")
An irrecoverable exception occurred. R is aborting now ...
Saving _problems/test-MultiplexSBM_fit-39.R
[1] "use of sampleMultipartite"
[1] "use of sampleMultipartite"
[ FAIL 2 | WARN 2 | SKIP 0 | PASS 1480 ]
══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-MultipartiteSBM.R:50:5'): initializing Multipartite SBM works ──
Error in `which(sapply(R, function(u) { u$convergence }))`: argument to 'which' is not logical
Backtrace:
▆
1. └─myMBM$optimize(estimOptions) at test-MultipartiteSBM.R:50:5
2. └─GREMLINS::multipartiteBM(...)
3. └─dataR6$searchNbClusters(...)
4. └─GREMLINS:::searchKQ(...)
5. └─dataR6$cleanResults(allEstim)
6. └─GREMLINS:::cleanEstim(self, R)
7. └─base::which(...)
── Error ('test-MultiplexSBM_fit.R:39:5'): Inference for Multiplex networks ────
Error in `which(sapply(R, function(u) { u$convergence }))`: argument to 'which' is not logical
Backtrace:
▆
1. └─myMultiplexFitindep$optimize(estimOptions = currentOptions) at test-MultiplexSBM_fit.R:39:5
2. └─super$optimize(estimOptions)
3. └─GREMLINS::multipartiteBM(...)
4. └─dataR6$searchNbClusters(...)
5. └─GREMLINS:::searchKQ(...)
6. └─dataR6$cleanResults(allEstim)
7. └─GREMLINS:::cleanEstim(self, R)
8. └─base::which(...)
[ FAIL 2 | WARN 2 | SKIP 0 | PASS 1480 ]
Error:
! Test failures.
Execution halted
Flavor: r-oldrel-macos-arm64