CRAN Package Check Results for Maintainer ‘Martin Maechler <maechler at stat.math.ethz.ch>’

Last updated on 2026-02-17 09:50:09 CET.

Package ERROR NOTE OK
Bessel 14
bitops 14
CLA 14
classGraph 14
cluster 14
cobs 14
copula 5 9
diptest 14
DPQ 14
DPQmpfr 14
expm 14
fracdiff 14
lokern 14
longmemo 14
lpridge 14
nor1mix 1 13
plugdensity 2 12
Rmpfr 14
robustbase 14
robustX 5 9
round 14
sca 2 12
sfsmisc 14
simest 3 11
stabledist 14
supclust 2 12
VLMC 14

Package Bessel

Current CRAN status: OK: 14

Package bitops

Current CRAN status: OK: 14

Package CLA

Current CRAN status: OK: 14

Package classGraph

Current CRAN status: OK: 14

Package cluster

Current CRAN status: OK: 14

Package cobs

Current CRAN status: OK: 14

Package copula

Current CRAN status: NOTE: 5, OK: 9

Version: 1.1-6
Check: relative paths in package URLs
Result: NOTE Found the following (possibly) invalid URL: URL: ../doc/Frank-Rmpfr From: man/copula-package.Rd Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc

Version: 1.1-6
Check: installed package size
Result: NOTE installed size is 7.8Mb sub-directories of 1Mb or more: R 2.4Mb doc 3.2Mb Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Version: 1.1-6
Flags: --no-vignettes
Check: installed package size
Result: NOTE installed size is 7.3Mb sub-directories of 1Mb or more: R 2.1Mb doc 3.2Mb Flavor: r-oldrel-windows-x86_64

Package diptest

Current CRAN status: OK: 14

Package DPQ

Current CRAN status: OK: 14

Package DPQmpfr

Current CRAN status: OK: 14

Package expm

Current CRAN status: OK: 14

Package fracdiff

Current CRAN status: OK: 14

Package lokern

Current CRAN status: OK: 14

Package longmemo

Current CRAN status: OK: 14

Package lpridge

Current CRAN status: OK: 14

Package nor1mix

Current CRAN status: ERROR: 1, OK: 13

Version: 1.3-3
Check: tests
Result: ERROR Running ‘MW.R’ [0s/0s] Comparing ‘MW.Rout’ to ‘MW.Rout.save’ ... OK Running ‘par.R’ [0s/0s] Running ‘qnorMix-ex.R’ [0s/0s] Running the tests in ‘tests/qnorMix-ex.R’ failed. Complete output: > ## Marron Wand examples are defined as norMix() calls in ../R/zMarrWand-dens.R > library("nor1mix") > > ii <- c(32, 39, 40, 40, 48, 48, 49, 56, 57, 58, 65) > pp <- 0.486 + ii / 100000 # very constrained set > > e <- norMix(mu = c(-0.825,0.275), sigma = sqrt(0.773), w = c(1, 3)/4) > > qnorMix(pp, e, trace = TRUE) 1: relE =2.995e-14 [1] -0.007781385 -0.007605111 -0.007579910 -0.007579910 -0.007378307 [6] -0.007378307 -0.007353107 -0.007176708 -0.007151508 -0.007126309 [11] -0.006949786 > ## failed for version <= 1.0-5 > > q.pp <- -c(7.78151762922529, 7.60511100150266, 7.57991031275271, 7.57991031275271, + 7.37830712226037, 7.37830712226037, 7.35310701314534, 7.17670804948685, + 7.15150845450588, 7.12630892371882, 6.94991400429199) / 1000 > > for (m in eval(formals(qnorMix)$method)) { + cat("method ", m,":") + stopifnot(all.equal(q.pp, qnorMix(pp, e, method = m, tol = 1e-14), + tol = 1e-13),# 1.022e-14 (32-bit) + abs(qnorMix(rep(1/2, 8), MW.nm10, method = m)) < 1e-14 + ) + cat("\n") + } method interpQspline : method interpspline : method eachRoot : method root2 : > > ### a "nasty" example (for the newton steps): > ip <- c(0, 1e-11, 3.33e-09, 7.705488e-05, 0.0001670041, 0.00125378934, + 0.00141169953, 0.00357409109, 0.00644073795, 0.00853238955, 0.01361442421, + 0.01672761627, 0.02067755849, 0.02124092026, 0.03327537558, 0.03527226553, + 0.05365983941, 0.05482289811, 0.05669602608, 0.05982167629) > qv <- qnorMix(1-ip, MW.nm12, trace=1) ,,1: relE =0.003125 2: relE =0.0005494 3: relE =7.656e-05 > ## now ok > > ### --- lower.tail=FALSE did not work correctly at some point > qv. <- qnorMix(ip, MW.nm12, lower.tail=FALSE, trace=1)#2, maxiter=50) ,,1: relE =0.003125 2: relE =0.0005494 3: relE =7.656e-05 > stopifnot(all.equal(qv, qv., tol = 1e-5)) > > ## qnorMix(*, log.p=TRUE) currently warns about missing Newton step implementation > qnorMixLog <- function(p, obj, lower.tail = TRUE, ...) + suppressWarnings(qnorMix(p, obj, lower.tail=lower.tail, log.p=TRUE, ...)) > ## > n2 <- 8 > set.seed(11) > for(i in 1:50) { + cat(i, "", if(i %% 20 == 0)"\n") + u0 <- c(0,sort(runif(n2)),1) + q0 <- qnorMix(u0, MW.nm2, trace=0, tol=4e-16) + qL <- qnorMix(1-u0, MW.nm2, lower.tail=FALSE, trace=0, tol=4e-16) + stopifnot(all.equal(pnorMix(q0, MW.nm2), u0, tol=1e-15), + all.equal(q0, qL, tol=1e-14)) + i. <- 2:(n2+1); u0. <- u0[i.] + ## --- log.p= TRUE [no Newton steps] + q0. <- qnorMixLog(log ( u0.), MW.nm2, tol=4e-16) + qL. <- qnorMixLog(log1p(-u0.), MW.nm2, lower.tail=FALSE, tol=4e-16) + stopifnot(all.equal(pnorMix(q0, MW.nm2), u0, tol=1e-15), + all.equal(q0, qL, tol=1e-14), + all.equal(q0., qL., tol=1e-10), + all.equal(q0[i.], q0., tol = 6e-6)# no Newton => less accuracy + ) + }; cat("\n") 1 Error: q0 and qL are not equal: Mean relative difference: 1.037164e-14 Execution halted Flavor: r-devel-macos-arm64

Package plugdensity

Current CRAN status: NOTE: 2, OK: 12

Version: 0.8-5
Check: CRAN incoming feasibility
Result: NOTE Maintainer: ‘Martin Maechler <maechler@stat.math.ethz.ch>’ No Authors@R field in DESCRIPTION. Please add one, modifying Authors@R: c(person(given = c("Eva", "Herrmann;", "R", "interface", "etc", "by", "Martin"), family = "Maechler", role = "aut", email = "eherrmann@mathematik.tu-darmstadt.de", comment = "C original"), person(given = "Martin", family = "Maechler", role = "cre", email = "maechler@stat.math.ethz.ch")) as necessary. Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc

Package Rmpfr

Current CRAN status: OK: 14

Package robustbase

Current CRAN status: OK: 14

Package robustX

Current CRAN status: ERROR: 5, OK: 9

Version: 1.2-7
Check: tests
Result: ERROR Running ‘L1med-tst.R’ [1s/2s] Running ‘cov-ex.R’ [1s/1s] Running the tests in ‘tests/cov-ex.R’ failed. Complete output: > library(robustX) > library(robustbase) > (newRB <- (packageVersion("robustbase") >= "0.99")) [1] TRUE > > sessionInfo() R Under development (unstable) (2026-02-11 r89406) Platform: x86_64-pc-linux-gnu Running under: Debian GNU/Linux forky/sid Matrix products: default BLAS: /home/hornik/tmp/R.check/r-devel-clang/Work/build/lib/libRblas.so LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.1; LAPACK version 3.12.0 locale: [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 [4] LC_COLLATE=C LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C [10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C time zone: Europe/Vienna tzcode source: system (glibc) attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] robustbase_0.99-7 robustX_1.2-7 loaded via a namespace (and not attached): [1] DEoptimR_1.1-4 compiler_4.6.0 > packageDescription("robustX") Package: robustX Type: Package Title: 'eXtra' / 'eXperimental' Functionality for Robust Statistics Version: 1.2-7 Date: 2023-06-14 Authors@R: c(person("Martin","Maechler", role=c("aut","cre"), email="maechler@stat.math.ethz.ch", comment = c(ORCID = "0000-0002-8685-9910")) , person("Werner A.", "Stahel", role="aut", email="stahel@stat.math.ethz.ch") , person("Rolf", "Turner", role="ctb", email="r.turner@auckland.ac.nz", comment = "reclas()") , person("Ueli", "Oetliker", role="ctb", comment = "original version of BACON() and mvBACON for S+") , person("Tobias", "Schoch", role="ctb", comment = "init.sel=\"V2\" for BACON; fix alpha") ) Maintainer: Martin Maechler <maechler@stat.math.ethz.ch> Description: Robustness -- 'eXperimental', 'eXtraneous', or 'eXtraordinary' Functionality for Robust Statistics. Hence methods which are not well established, often related to methods in package 'robustbase'. Amazingly, 'BACON()', originally by Billor, Hadi, and Velleman (2000) <doi:10.1016/S0167-9473(99)00101-2> has become established in places. The "barrow wheel" `rbwheel()` is from Stahel and Mächler (2009) <doi:10.1111/j.1467-9868.2009.00706.x>. Imports: grDevices, graphics, stats, utils, robustbase (>= 0.92-3) Suggests: MASS, lattice, pcaPP Enhances: ICS License: GPL (>= 2) Encoding: UTF-8 NeedsCompilation: no Packaged: 2023-06-14 21:41:58 UTC; maechler Author: Martin Maechler [aut, cre] (<https://orcid.org/0000-0002-8685-9910>), Werner A. Stahel [aut], Rolf Turner [ctb] (reclas()), Ueli Oetliker [ctb] (original version of BACON() and mvBACON for S+), Tobias Schoch [ctb] (init.sel="V2" for BACON; fix alpha) Repository: CRAN Date/Publication: 2023-06-16 07:30:02 UTC Built: R 4.6.0; ; 2026-02-12 10:40:13 UTC; unix -- File: /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/robustX/Meta/package.rds > (ourBLAS <- grepl(print(normalizePath(R.home())), + normalizePath(extSoftVersion()[["BLAS"]]), fixed = TRUE)) [1] "/home/hornik/tmp/R.check/r-devel-clang/Work/build" [1] TRUE > ## need extended precision (typically *includes* 64-bit): > doCheck <- (.Machine$sizeof.longdouble >= 16) > cat("doCheck (= have long double):", doCheck,"\n") doCheck (= have long double): TRUE > > if(!dev.interactive(orNone=TRUE)) pdf("cov-ex.pdf") > > covNN.1 <- robustX:::covNNC1 ## the original definition (2003) > > data(iris) > system.time(cN1 <- covNN.1(iris[-5])) user system elapsed 0.174 0.015 0.189 > system.time(cN <- covNNC (iris[-5]))# faster indeed user system elapsed 0.088 0.000 0.169 > > ## report.and.stop.if.not.all.equal > report.stopifnot.all.eq <- function(a,b, tol, ...) { + call <- sys.call() + ae <- all.equal(a,b, tol=tol, ...) + call[[1]] <- quote(all.equal) + if(!isTRUE(ae)) + stop(sprintf("Not %s:\n%s\n\n", deparse(call), + paste(ae, collapse="\n")), + call.=FALSE) + ## else + TRUE + } > > UN <- function(L) lapply(L, unname) > > chk.NN.new.old <- function(cNew, cNold, tol = 2e-15, tol.1 = 20*tol) { + stopifnot(is.list(cNold$innc), length(n.i <- names(cNold$innc)) == 4) + cat("classification accordance matrix:\n") + print(table(new = cNew $classification, + old = cNold$classification)) + report.stopifnot.all.eq(UN(cNew [1:4]), + UN(cNold[1:4]), tol=tol.1) & + report.stopifnot.all.eq(cNew $innc[n.i], + cNold$innc[n.i], tol=tol) + } > > summ.NN <- function(cNN, digits = 3) { + cbind(class = cNN$classification, + pprob = round(cNN$postprob, digits), + incc.p= round(cNN$innc$postprob, digits)) + } > > s1 <- summ.NN(cN1) > ss <- summ.NN(cN) > if(isTRUE(all.equal(ss, s1))) ss else cbind(ss, s1) class pprob incc.p class pprob incc.p [1,] 1 1.000 1.000 1 1.000 1.000 [2,] 1 1.000 1.000 1 1.000 1.000 [3,] 1 1.000 1.000 1 1.000 1.000 [4,] 1 1.000 1.000 1 1.000 1.000 [5,] 1 1.000 1.000 1 1.000 1.000 [6,] 1 1.000 0.171 1 1.000 0.171 [7,] 1 1.000 1.000 1 1.000 1.000 [8,] 1 1.000 1.000 1 1.000 1.000 [9,] 1 1.000 1.000 1 1.000 1.000 [10,] 1 1.000 1.000 1 1.000 1.000 [11,] 1 1.000 1.000 1 1.000 1.000 [12,] 1 1.000 1.000 1 1.000 1.000 [13,] 1 1.000 1.000 1 1.000 1.000 [14,] 1 1.000 1.000 1 1.000 1.000 [15,] 1 1.000 0.000 1 0.998 0.000 [16,] 0 0.000 0.000 0 0.000 0.000 [17,] 1 1.000 0.718 1 1.000 0.718 [18,] 1 1.000 1.000 1 1.000 1.000 [19,] 1 1.000 0.002 1 1.000 0.002 [20,] 1 1.000 1.000 1 1.000 1.000 [21,] 1 1.000 1.000 1 1.000 1.000 [22,] 1 1.000 1.000 1 1.000 1.000 [23,] 1 1.000 1.000 1 1.000 1.000 [24,] 1 1.000 1.000 1 1.000 1.000 [25,] 1 1.000 1.000 1 1.000 1.000 [26,] 1 1.000 1.000 1 1.000 1.000 [27,] 1 1.000 1.000 1 1.000 1.000 [28,] 1 1.000 1.000 1 1.000 1.000 [29,] 1 1.000 1.000 1 1.000 1.000 [30,] 1 1.000 1.000 1 1.000 1.000 [31,] 1 1.000 1.000 1 1.000 1.000 [32,] 1 1.000 1.000 1 1.000 1.000 [33,] 1 1.000 0.000 1 1.000 0.000 [34,] 0 0.000 0.000 0 0.000 0.000 [35,] 1 1.000 1.000 1 1.000 1.000 [36,] 1 1.000 1.000 1 1.000 1.000 [37,] 1 1.000 1.000 1 1.000 1.000 [38,] 1 1.000 1.000 1 1.000 1.000 [39,] 1 1.000 1.000 1 1.000 1.000 [40,] 1 1.000 1.000 1 1.000 1.000 [41,] 1 1.000 1.000 1 1.000 1.000 [42,] 0 0.000 0.000 0 0.000 0.000 [43,] 1 1.000 1.000 1 1.000 1.000 [44,] 1 1.000 1.000 1 1.000 1.000 [45,] 1 1.000 1.000 1 1.000 1.000 [46,] 1 1.000 1.000 1 1.000 1.000 [47,] 1 1.000 1.000 1 1.000 1.000 [48,] 1 1.000 1.000 1 1.000 1.000 [49,] 1 1.000 1.000 1 1.000 1.000 [50,] 1 1.000 1.000 1 1.000 1.000 [51,] 1 1.000 0.058 1 1.000 0.058 [52,] 1 1.000 1.000 1 1.000 1.000 [53,] 1 1.000 1.000 1 1.000 1.000 [54,] 1 1.000 0.773 1 1.000 0.773 [55,] 1 1.000 1.000 1 1.000 1.000 [56,] 1 1.000 1.000 1 1.000 1.000 [57,] 1 1.000 0.999 1 1.000 0.999 [58,] 1 1.000 0.000 1 1.000 0.000 [59,] 1 1.000 1.000 1 1.000 1.000 [60,] 1 1.000 1.000 1 1.000 1.000 [61,] 0 0.000 0.000 0 0.000 0.000 [62,] 1 1.000 1.000 1 1.000 1.000 [63,] 1 0.611 0.000 0 0.000 0.000 [64,] 1 1.000 1.000 1 1.000 1.000 [65,] 1 1.000 1.000 1 1.000 1.000 [66,] 1 1.000 1.000 1 1.000 1.000 [67,] 1 1.000 1.000 1 1.000 1.000 [68,] 1 1.000 1.000 1 1.000 1.000 [69,] 1 0.786 0.000 0 0.000 0.000 [70,] 1 1.000 1.000 1 1.000 1.000 [71,] 1 1.000 1.000 1 1.000 1.000 [72,] 1 1.000 1.000 1 1.000 1.000 [73,] 1 1.000 1.000 1 1.000 1.000 [74,] 1 1.000 1.000 1 1.000 1.000 [75,] 1 1.000 1.000 1 1.000 1.000 [76,] 1 1.000 1.000 1 1.000 1.000 [77,] 1 1.000 1.000 1 1.000 1.000 [78,] 1 1.000 1.000 1 1.000 1.000 [79,] 1 1.000 1.000 1 1.000 1.000 [80,] 1 1.000 1.000 1 1.000 1.000 [81,] 1 1.000 1.000 1 1.000 1.000 [82,] 1 1.000 0.999 1 1.000 0.999 [83,] 1 1.000 1.000 1 1.000 1.000 [84,] 1 1.000 1.000 1 1.000 1.000 [85,] 1 1.000 1.000 1 1.000 1.000 [86,] 1 1.000 0.000 1 1.000 0.000 [87,] 1 1.000 1.000 1 1.000 1.000 [88,] 1 1.000 0.000 1 1.000 0.000 [89,] 1 1.000 1.000 1 1.000 1.000 [90,] 1 1.000 1.000 1 1.000 1.000 [91,] 1 1.000 1.000 1 1.000 1.000 [92,] 1 1.000 1.000 1 1.000 1.000 [93,] 1 1.000 1.000 1 1.000 1.000 [94,] 1 0.944 0.000 0 0.001 0.000 [95,] 1 1.000 1.000 1 1.000 1.000 [96,] 1 1.000 1.000 1 1.000 1.000 [97,] 1 1.000 1.000 1 1.000 1.000 [98,] 1 1.000 1.000 1 1.000 1.000 [99,] 1 1.000 0.000 1 1.000 0.000 [100,] 1 1.000 1.000 1 1.000 1.000 [101,] 1 1.000 0.000 1 1.000 0.000 [102,] 1 1.000 1.000 1 1.000 1.000 [103,] 1 1.000 1.000 1 1.000 1.000 [104,] 1 1.000 1.000 1 1.000 1.000 [105,] 1 1.000 1.000 1 1.000 1.000 [106,] 1 1.000 0.000 1 0.998 0.000 [107,] 1 1.000 0.000 0 0.317 0.000 [108,] 1 1.000 0.000 1 1.000 0.000 [109,] 1 1.000 0.000 1 0.999 0.000 [110,] 0 0.000 0.000 0 0.000 0.000 [111,] 1 1.000 1.000 1 1.000 1.000 [112,] 1 1.000 1.000 1 1.000 1.000 [113,] 1 1.000 1.000 1 1.000 1.000 [114,] 1 1.000 0.000 1 1.000 0.000 [115,] 1 1.000 0.899 1 1.000 0.899 [116,] 1 1.000 1.000 1 1.000 1.000 [117,] 1 1.000 1.000 1 1.000 1.000 [118,] 0 0.000 0.000 0 0.000 0.000 [119,] 0 0.000 0.000 0 0.000 0.000 [120,] 0 0.028 0.000 0 0.000 0.000 [121,] 1 1.000 1.000 1 1.000 1.000 [122,] 1 1.000 1.000 1 1.000 1.000 [123,] 0 0.000 0.000 0 0.000 0.000 [124,] 1 1.000 1.000 1 1.000 1.000 [125,] 1 1.000 1.000 1 1.000 1.000 [126,] 1 1.000 0.229 1 1.000 0.229 [127,] 1 1.000 1.000 1 1.000 1.000 [128,] 1 1.000 1.000 1 1.000 1.000 [129,] 1 1.000 1.000 1 1.000 1.000 [130,] 1 1.000 0.702 1 1.000 0.702 [131,] 1 1.000 0.000 0 0.357 0.000 [132,] 0 0.000 0.000 0 0.000 0.000 [133,] 1 1.000 1.000 1 1.000 1.000 [134,] 1 1.000 1.000 1 1.000 1.000 [135,] 1 1.000 0.818 1 1.000 0.818 [136,] 1 1.000 0.000 1 0.999 0.000 [137,] 1 1.000 0.000 1 1.000 0.000 [138,] 1 1.000 1.000 1 1.000 1.000 [139,] 1 1.000 1.000 1 1.000 1.000 [140,] 1 1.000 1.000 1 1.000 1.000 [141,] 1 1.000 1.000 1 1.000 1.000 [142,] 1 1.000 1.000 1 1.000 1.000 [143,] 1 1.000 1.000 1 1.000 1.000 [144,] 1 1.000 1.000 1 1.000 1.000 [145,] 1 1.000 1.000 1 1.000 1.000 [146,] 1 1.000 1.000 1 1.000 1.000 [147,] 1 1.000 0.991 1 1.000 0.991 [148,] 1 1.000 1.000 1 1.000 1.000 [149,] 1 1.000 0.000 1 1.000 0.000 [150,] 1 1.000 1.000 1 1.000 1.000 > > > try( # testing (tol=0 too small) + chk.NN.new.old(cN, cN1, tol=0) + ) classification accordance matrix: old new 0 1 0 10 0 1 5 135 Error : Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01479474 Component "mu": Mean relative difference: 0.003191909 Component "postprob": Mean relative difference: 0.1351993 Component "classification": Mean relative difference: 1 > ## This used to fail when we use R's instead of BLAS matrix products: > if(doCheck) + chk.NN.new.old(cN, cN1, tol = 4e-15) # seen 1.1e-15 work classification accordance matrix: old new 0 1 0 10 0 1 5 135 Error: Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01479474 Component "mu": Mean relative difference: 0.003191909 Component "postprob": Mean relative difference: 0.1351993 Component "classification": Mean relative difference: 1 Execution halted Flavor: r-devel-linux-x86_64-debian-clang

Version: 1.2-7
Check: tests
Result: ERROR Running ‘L1med-tst.R’ [1s/2s] Running ‘cov-ex.R’ [1s/1s] Running the tests in ‘tests/cov-ex.R’ failed. Complete output: > library(robustX) > library(robustbase) > (newRB <- (packageVersion("robustbase") >= "0.99")) [1] TRUE > > sessionInfo() R Under development (unstable) (2026-02-14 r89420) Platform: x86_64-pc-linux-gnu Running under: Debian GNU/Linux forky/sid Matrix products: default BLAS: /home/hornik/tmp/R.check/r-devel-gcc/Work/build/lib/libRblas.so LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.1; LAPACK version 3.12.0 locale: [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 [4] LC_COLLATE=C LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C [10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C time zone: Europe/Vienna tzcode source: system (glibc) attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] robustbase_0.99-7 robustX_1.2-7 loaded via a namespace (and not attached): [1] DEoptimR_1.1-4 compiler_4.6.0 > packageDescription("robustX") Package: robustX Type: Package Title: 'eXtra' / 'eXperimental' Functionality for Robust Statistics Version: 1.2-7 Date: 2023-06-14 Authors@R: c(person("Martin","Maechler", role=c("aut","cre"), email="maechler@stat.math.ethz.ch", comment = c(ORCID = "0000-0002-8685-9910")) , person("Werner A.", "Stahel", role="aut", email="stahel@stat.math.ethz.ch") , person("Rolf", "Turner", role="ctb", email="r.turner@auckland.ac.nz", comment = "reclas()") , person("Ueli", "Oetliker", role="ctb", comment = "original version of BACON() and mvBACON for S+") , person("Tobias", "Schoch", role="ctb", comment = "init.sel=\"V2\" for BACON; fix alpha") ) Maintainer: Martin Maechler <maechler@stat.math.ethz.ch> Description: Robustness -- 'eXperimental', 'eXtraneous', or 'eXtraordinary' Functionality for Robust Statistics. Hence methods which are not well established, often related to methods in package 'robustbase'. Amazingly, 'BACON()', originally by Billor, Hadi, and Velleman (2000) <doi:10.1016/S0167-9473(99)00101-2> has become established in places. The "barrow wheel" `rbwheel()` is from Stahel and Mächler (2009) <doi:10.1111/j.1467-9868.2009.00706.x>. Imports: grDevices, graphics, stats, utils, robustbase (>= 0.92-3) Suggests: MASS, lattice, pcaPP Enhances: ICS License: GPL (>= 2) Encoding: UTF-8 NeedsCompilation: no Packaged: 2023-06-14 21:41:58 UTC; maechler Author: Martin Maechler [aut, cre] (<https://orcid.org/0000-0002-8685-9910>), Werner A. Stahel [aut], Rolf Turner [ctb] (reclas()), Ueli Oetliker [ctb] (original version of BACON() and mvBACON for S+), Tobias Schoch [ctb] (init.sel="V2" for BACON; fix alpha) Repository: CRAN Date/Publication: 2023-06-16 07:30:02 UTC Built: R 4.6.0; ; 2026-02-16 09:58:18 UTC; unix -- File: /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/robustX/Meta/package.rds > (ourBLAS <- grepl(print(normalizePath(R.home())), + normalizePath(extSoftVersion()[["BLAS"]]), fixed = TRUE)) [1] "/home/hornik/tmp/R.check/r-devel-gcc/Work/build" [1] TRUE > ## need extended precision (typically *includes* 64-bit): > doCheck <- (.Machine$sizeof.longdouble >= 16) > cat("doCheck (= have long double):", doCheck,"\n") doCheck (= have long double): TRUE > > if(!dev.interactive(orNone=TRUE)) pdf("cov-ex.pdf") > > covNN.1 <- robustX:::covNNC1 ## the original definition (2003) > > data(iris) > system.time(cN1 <- covNN.1(iris[-5])) user system elapsed 0.107 0.014 0.123 > system.time(cN <- covNNC (iris[-5]))# faster indeed user system elapsed 0.048 0.000 0.054 > > ## report.and.stop.if.not.all.equal > report.stopifnot.all.eq <- function(a,b, tol, ...) { + call <- sys.call() + ae <- all.equal(a,b, tol=tol, ...) + call[[1]] <- quote(all.equal) + if(!isTRUE(ae)) + stop(sprintf("Not %s:\n%s\n\n", deparse(call), + paste(ae, collapse="\n")), + call.=FALSE) + ## else + TRUE + } > > UN <- function(L) lapply(L, unname) > > chk.NN.new.old <- function(cNew, cNold, tol = 2e-15, tol.1 = 20*tol) { + stopifnot(is.list(cNold$innc), length(n.i <- names(cNold$innc)) == 4) + cat("classification accordance matrix:\n") + print(table(new = cNew $classification, + old = cNold$classification)) + report.stopifnot.all.eq(UN(cNew [1:4]), + UN(cNold[1:4]), tol=tol.1) & + report.stopifnot.all.eq(cNew $innc[n.i], + cNold$innc[n.i], tol=tol) + } > > summ.NN <- function(cNN, digits = 3) { + cbind(class = cNN$classification, + pprob = round(cNN$postprob, digits), + incc.p= round(cNN$innc$postprob, digits)) + } > > s1 <- summ.NN(cN1) > ss <- summ.NN(cN) > if(isTRUE(all.equal(ss, s1))) ss else cbind(ss, s1) class pprob incc.p class pprob incc.p [1,] 1 1.000 1.000 1 1.000 1.000 [2,] 1 1.000 1.000 1 1.000 1.000 [3,] 1 1.000 1.000 1 1.000 1.000 [4,] 1 1.000 1.000 1 1.000 1.000 [5,] 1 1.000 1.000 1 1.000 1.000 [6,] 1 1.000 0.171 1 1.000 0.171 [7,] 1 1.000 1.000 1 1.000 1.000 [8,] 1 1.000 1.000 1 1.000 1.000 [9,] 1 1.000 1.000 1 1.000 1.000 [10,] 1 1.000 1.000 1 1.000 1.000 [11,] 1 1.000 1.000 1 1.000 1.000 [12,] 1 1.000 1.000 1 1.000 1.000 [13,] 1 1.000 1.000 1 1.000 1.000 [14,] 1 1.000 1.000 1 1.000 1.000 [15,] 1 1.000 0.000 1 0.998 0.000 [16,] 0 0.000 0.000 0 0.000 0.000 [17,] 1 1.000 0.718 1 1.000 0.718 [18,] 1 1.000 1.000 1 1.000 1.000 [19,] 1 1.000 0.002 1 1.000 0.002 [20,] 1 1.000 1.000 1 1.000 1.000 [21,] 1 1.000 1.000 1 1.000 1.000 [22,] 1 1.000 1.000 1 1.000 1.000 [23,] 1 1.000 1.000 1 1.000 1.000 [24,] 1 1.000 1.000 1 1.000 1.000 [25,] 1 1.000 1.000 1 1.000 1.000 [26,] 1 1.000 1.000 1 1.000 1.000 [27,] 1 1.000 1.000 1 1.000 1.000 [28,] 1 1.000 1.000 1 1.000 1.000 [29,] 1 1.000 1.000 1 1.000 1.000 [30,] 1 1.000 1.000 1 1.000 1.000 [31,] 1 1.000 1.000 1 1.000 1.000 [32,] 1 1.000 1.000 1 1.000 1.000 [33,] 1 1.000 0.000 1 1.000 0.000 [34,] 0 0.000 0.000 0 0.000 0.000 [35,] 1 1.000 1.000 1 1.000 1.000 [36,] 1 1.000 1.000 1 1.000 1.000 [37,] 1 1.000 1.000 1 1.000 1.000 [38,] 1 1.000 1.000 1 1.000 1.000 [39,] 1 1.000 1.000 1 1.000 1.000 [40,] 1 1.000 1.000 1 1.000 1.000 [41,] 1 1.000 1.000 1 1.000 1.000 [42,] 0 0.000 0.000 0 0.000 0.000 [43,] 1 1.000 1.000 1 1.000 1.000 [44,] 1 1.000 1.000 1 1.000 1.000 [45,] 1 1.000 1.000 1 1.000 1.000 [46,] 1 1.000 1.000 1 1.000 1.000 [47,] 1 1.000 1.000 1 1.000 1.000 [48,] 1 1.000 1.000 1 1.000 1.000 [49,] 1 1.000 1.000 1 1.000 1.000 [50,] 1 1.000 1.000 1 1.000 1.000 [51,] 1 1.000 0.058 1 1.000 0.058 [52,] 1 1.000 1.000 1 1.000 1.000 [53,] 1 1.000 1.000 1 1.000 1.000 [54,] 1 1.000 0.773 1 1.000 0.773 [55,] 1 1.000 1.000 1 1.000 1.000 [56,] 1 1.000 1.000 1 1.000 1.000 [57,] 1 1.000 0.999 1 1.000 0.999 [58,] 1 1.000 0.000 1 1.000 0.000 [59,] 1 1.000 1.000 1 1.000 1.000 [60,] 1 1.000 1.000 1 1.000 1.000 [61,] 0 0.000 0.000 0 0.000 0.000 [62,] 1 1.000 1.000 1 1.000 1.000 [63,] 1 0.611 0.000 0 0.000 0.000 [64,] 1 1.000 1.000 1 1.000 1.000 [65,] 1 1.000 1.000 1 1.000 1.000 [66,] 1 1.000 1.000 1 1.000 1.000 [67,] 1 1.000 1.000 1 1.000 1.000 [68,] 1 1.000 1.000 1 1.000 1.000 [69,] 1 0.786 0.000 0 0.000 0.000 [70,] 1 1.000 1.000 1 1.000 1.000 [71,] 1 1.000 1.000 1 1.000 1.000 [72,] 1 1.000 1.000 1 1.000 1.000 [73,] 1 1.000 1.000 1 1.000 1.000 [74,] 1 1.000 1.000 1 1.000 1.000 [75,] 1 1.000 1.000 1 1.000 1.000 [76,] 1 1.000 1.000 1 1.000 1.000 [77,] 1 1.000 1.000 1 1.000 1.000 [78,] 1 1.000 1.000 1 1.000 1.000 [79,] 1 1.000 1.000 1 1.000 1.000 [80,] 1 1.000 1.000 1 1.000 1.000 [81,] 1 1.000 1.000 1 1.000 1.000 [82,] 1 1.000 0.999 1 1.000 0.999 [83,] 1 1.000 1.000 1 1.000 1.000 [84,] 1 1.000 1.000 1 1.000 1.000 [85,] 1 1.000 1.000 1 1.000 1.000 [86,] 1 1.000 0.000 1 1.000 0.000 [87,] 1 1.000 1.000 1 1.000 1.000 [88,] 1 1.000 0.000 1 1.000 0.000 [89,] 1 1.000 1.000 1 1.000 1.000 [90,] 1 1.000 1.000 1 1.000 1.000 [91,] 1 1.000 1.000 1 1.000 1.000 [92,] 1 1.000 1.000 1 1.000 1.000 [93,] 1 1.000 1.000 1 1.000 1.000 [94,] 1 0.944 0.000 0 0.001 0.000 [95,] 1 1.000 1.000 1 1.000 1.000 [96,] 1 1.000 1.000 1 1.000 1.000 [97,] 1 1.000 1.000 1 1.000 1.000 [98,] 1 1.000 1.000 1 1.000 1.000 [99,] 1 1.000 0.000 1 1.000 0.000 [100,] 1 1.000 1.000 1 1.000 1.000 [101,] 1 1.000 0.000 1 1.000 0.000 [102,] 1 1.000 1.000 1 1.000 1.000 [103,] 1 1.000 1.000 1 1.000 1.000 [104,] 1 1.000 1.000 1 1.000 1.000 [105,] 1 1.000 1.000 1 1.000 1.000 [106,] 1 1.000 0.000 1 0.998 0.000 [107,] 1 1.000 0.000 0 0.317 0.000 [108,] 1 1.000 0.000 1 1.000 0.000 [109,] 1 1.000 0.000 1 0.999 0.000 [110,] 0 0.000 0.000 0 0.000 0.000 [111,] 1 1.000 1.000 1 1.000 1.000 [112,] 1 1.000 1.000 1 1.000 1.000 [113,] 1 1.000 1.000 1 1.000 1.000 [114,] 1 1.000 0.000 1 1.000 0.000 [115,] 1 1.000 0.899 1 1.000 0.899 [116,] 1 1.000 1.000 1 1.000 1.000 [117,] 1 1.000 1.000 1 1.000 1.000 [118,] 0 0.000 0.000 0 0.000 0.000 [119,] 0 0.000 0.000 0 0.000 0.000 [120,] 0 0.028 0.000 0 0.000 0.000 [121,] 1 1.000 1.000 1 1.000 1.000 [122,] 1 1.000 1.000 1 1.000 1.000 [123,] 0 0.000 0.000 0 0.000 0.000 [124,] 1 1.000 1.000 1 1.000 1.000 [125,] 1 1.000 1.000 1 1.000 1.000 [126,] 1 1.000 0.229 1 1.000 0.229 [127,] 1 1.000 1.000 1 1.000 1.000 [128,] 1 1.000 1.000 1 1.000 1.000 [129,] 1 1.000 1.000 1 1.000 1.000 [130,] 1 1.000 0.702 1 1.000 0.702 [131,] 1 1.000 0.000 0 0.357 0.000 [132,] 0 0.000 0.000 0 0.000 0.000 [133,] 1 1.000 1.000 1 1.000 1.000 [134,] 1 1.000 1.000 1 1.000 1.000 [135,] 1 1.000 0.818 1 1.000 0.818 [136,] 1 1.000 0.000 1 0.999 0.000 [137,] 1 1.000 0.000 1 1.000 0.000 [138,] 1 1.000 1.000 1 1.000 1.000 [139,] 1 1.000 1.000 1 1.000 1.000 [140,] 1 1.000 1.000 1 1.000 1.000 [141,] 1 1.000 1.000 1 1.000 1.000 [142,] 1 1.000 1.000 1 1.000 1.000 [143,] 1 1.000 1.000 1 1.000 1.000 [144,] 1 1.000 1.000 1 1.000 1.000 [145,] 1 1.000 1.000 1 1.000 1.000 [146,] 1 1.000 1.000 1 1.000 1.000 [147,] 1 1.000 0.991 1 1.000 0.991 [148,] 1 1.000 1.000 1 1.000 1.000 [149,] 1 1.000 0.000 1 1.000 0.000 [150,] 1 1.000 1.000 1 1.000 1.000 > > > try( # testing (tol=0 too small) + chk.NN.new.old(cN, cN1, tol=0) + ) classification accordance matrix: old new 0 1 0 10 0 1 5 135 Error : Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01479474 Component "mu": Mean relative difference: 0.003191909 Component "postprob": Mean relative difference: 0.1351993 Component "classification": Mean relative difference: 1 > ## This used to fail when we use R's instead of BLAS matrix products: > if(doCheck) + chk.NN.new.old(cN, cN1, tol = 4e-15) # seen 1.1e-15 work classification accordance matrix: old new 0 1 0 10 0 1 5 135 Error: Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01479474 Component "mu": Mean relative difference: 0.003191909 Component "postprob": Mean relative difference: 0.1351993 Component "classification": Mean relative difference: 1 Execution halted Flavor: r-devel-linux-x86_64-debian-gcc

Version: 1.2-7
Check: tests
Result: ERROR Running ‘L1med-tst.R’ Running ‘cov-ex.R’ Running the tests in ‘tests/cov-ex.R’ failed. Complete output: > library(robustX) > library(robustbase) > (newRB <- (packageVersion("robustbase") >= "0.99")) [1] TRUE > > sessionInfo() R Under development (unstable) (2026-02-12 r89409) Platform: x86_64-pc-linux-gnu Running under: Fedora Linux 42 (Workstation Edition) Matrix products: default BLAS: /data/gannet/ripley/R/R-clang/lib/libRblas.so LAPACK: /data/gannet/ripley/R/R-clang/lib/libRlapack.so; LAPACK version 3.12.1 locale: [1] LC_CTYPE=en_GB.utf8 LC_NUMERIC=C [3] LC_TIME=en_GB.UTF-8 LC_COLLATE=C [5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8 [7] LC_PAPER=en_GB.UTF-8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C time zone: Europe/London tzcode source: system (glibc) attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] robustbase_0.99-7 robustX_1.2-7 loaded via a namespace (and not attached): [1] DEoptimR_1.1-4 compiler_4.6.0 > packageDescription("robustX") Package: robustX Type: Package Title: 'eXtra' / 'eXperimental' Functionality for Robust Statistics Version: 1.2-7 Date: 2023-06-14 Authors@R: c(person("Martin","Maechler", role=c("aut","cre"), email="maechler@stat.math.ethz.ch", comment = c(ORCID = "0000-0002-8685-9910")) , person("Werner A.", "Stahel", role="aut", email="stahel@stat.math.ethz.ch") , person("Rolf", "Turner", role="ctb", email="r.turner@auckland.ac.nz", comment = "reclas()") , person("Ueli", "Oetliker", role="ctb", comment = "original version of BACON() and mvBACON for S+") , person("Tobias", "Schoch", role="ctb", comment = "init.sel=\"V2\" for BACON; fix alpha") ) Maintainer: Martin Maechler <maechler@stat.math.ethz.ch> Description: Robustness -- 'eXperimental', 'eXtraneous', or 'eXtraordinary' Functionality for Robust Statistics. Hence methods which are not well established, often related to methods in package 'robustbase'. Amazingly, 'BACON()', originally by Billor, Hadi, and Velleman (2000) <doi:10.1016/S0167-9473(99)00101-2> has become established in places. The "barrow wheel" `rbwheel()` is from Stahel and Mächler (2009) <doi:10.1111/j.1467-9868.2009.00706.x>. Imports: grDevices, graphics, stats, utils, robustbase (>= 0.92-3) Suggests: MASS, lattice, pcaPP Enhances: ICS License: GPL (>= 2) Encoding: UTF-8 NeedsCompilation: no Packaged: 2023-06-14 21:41:58 UTC; maechler Author: Martin Maechler [aut, cre] (<https://orcid.org/0000-0002-8685-9910>), Werner A. Stahel [aut], Rolf Turner [ctb] (reclas()), Ueli Oetliker [ctb] (original version of BACON() and mvBACON for S+), Tobias Schoch [ctb] (init.sel="V2" for BACON; fix alpha) Repository: CRAN Date/Publication: 2023-06-16 07:30:02 UTC Built: R 4.6.0; ; 2026-02-16 04:33:22 UTC; unix -- File: /data/gannet/ripley/R/packages/tests-clang/robustX.Rcheck/robustX/Meta/package.rds > (ourBLAS <- grepl(print(normalizePath(R.home())), + normalizePath(extSoftVersion()[["BLAS"]]), fixed = TRUE)) [1] "/data/gannet/ripley/R/R-clang" [1] TRUE > ## need extended precision (typically *includes* 64-bit): > doCheck <- (.Machine$sizeof.longdouble >= 16) > cat("doCheck (= have long double):", doCheck,"\n") doCheck (= have long double): TRUE > > if(!dev.interactive(orNone=TRUE)) pdf("cov-ex.pdf") > > covNN.1 <- robustX:::covNNC1 ## the original definition (2003) > > data(iris) > system.time(cN1 <- covNN.1(iris[-5])) user system elapsed 0.306 0.028 0.353 > system.time(cN <- covNNC (iris[-5]))# faster indeed user system elapsed 0.150 0.000 0.318 > > ## report.and.stop.if.not.all.equal > report.stopifnot.all.eq <- function(a,b, tol, ...) { + call <- sys.call() + ae <- all.equal(a,b, tol=tol, ...) + call[[1]] <- quote(all.equal) + if(!isTRUE(ae)) + stop(sprintf("Not %s:\n%s\n\n", deparse(call), + paste(ae, collapse="\n")), + call.=FALSE) + ## else + TRUE + } > > UN <- function(L) lapply(L, unname) > > chk.NN.new.old <- function(cNew, cNold, tol = 2e-15, tol.1 = 20*tol) { + stopifnot(is.list(cNold$innc), length(n.i <- names(cNold$innc)) == 4) + cat("classification accordance matrix:\n") + print(table(new = cNew $classification, + old = cNold$classification)) + report.stopifnot.all.eq(UN(cNew [1:4]), + UN(cNold[1:4]), tol=tol.1) & + report.stopifnot.all.eq(cNew $innc[n.i], + cNold$innc[n.i], tol=tol) + } > > summ.NN <- function(cNN, digits = 3) { + cbind(class = cNN$classification, + pprob = round(cNN$postprob, digits), + incc.p= round(cNN$innc$postprob, digits)) + } > > s1 <- summ.NN(cN1) > ss <- summ.NN(cN) > if(isTRUE(all.equal(ss, s1))) ss else cbind(ss, s1) class pprob incc.p class pprob incc.p [1,] 1 1.000 1.000 1 1.000 1.000 [2,] 1 1.000 1.000 1 1.000 1.000 [3,] 1 1.000 1.000 1 1.000 1.000 [4,] 1 1.000 1.000 1 1.000 1.000 [5,] 1 1.000 1.000 1 1.000 1.000 [6,] 1 1.000 0.171 1 1.000 0.171 [7,] 1 1.000 1.000 1 1.000 1.000 [8,] 1 1.000 1.000 1 1.000 1.000 [9,] 1 1.000 1.000 1 1.000 1.000 [10,] 1 1.000 1.000 1 1.000 1.000 [11,] 1 1.000 1.000 1 1.000 1.000 [12,] 1 1.000 1.000 1 1.000 1.000 [13,] 1 1.000 1.000 1 1.000 1.000 [14,] 1 1.000 1.000 1 1.000 1.000 [15,] 1 1.000 0.000 1 0.998 0.000 [16,] 0 0.000 0.000 0 0.000 0.000 [17,] 1 1.000 0.718 1 1.000 0.718 [18,] 1 1.000 1.000 1 1.000 1.000 [19,] 1 1.000 0.002 1 1.000 0.002 [20,] 1 1.000 1.000 1 1.000 1.000 [21,] 1 1.000 1.000 1 1.000 1.000 [22,] 1 1.000 1.000 1 1.000 1.000 [23,] 1 1.000 1.000 1 1.000 1.000 [24,] 1 1.000 1.000 1 1.000 1.000 [25,] 1 1.000 1.000 1 1.000 1.000 [26,] 1 1.000 1.000 1 1.000 1.000 [27,] 1 1.000 1.000 1 1.000 1.000 [28,] 1 1.000 1.000 1 1.000 1.000 [29,] 1 1.000 1.000 1 1.000 1.000 [30,] 1 1.000 1.000 1 1.000 1.000 [31,] 1 1.000 1.000 1 1.000 1.000 [32,] 1 1.000 1.000 1 1.000 1.000 [33,] 1 1.000 0.000 1 1.000 0.000 [34,] 0 0.000 0.000 0 0.000 0.000 [35,] 1 1.000 1.000 1 1.000 1.000 [36,] 1 1.000 1.000 1 1.000 1.000 [37,] 1 1.000 1.000 1 1.000 1.000 [38,] 1 1.000 1.000 1 1.000 1.000 [39,] 1 1.000 1.000 1 1.000 1.000 [40,] 1 1.000 1.000 1 1.000 1.000 [41,] 1 1.000 1.000 1 1.000 1.000 [42,] 0 0.000 0.000 0 0.000 0.000 [43,] 1 1.000 1.000 1 1.000 1.000 [44,] 1 1.000 1.000 1 1.000 1.000 [45,] 1 1.000 1.000 1 1.000 1.000 [46,] 1 1.000 1.000 1 1.000 1.000 [47,] 1 1.000 1.000 1 1.000 1.000 [48,] 1 1.000 1.000 1 1.000 1.000 [49,] 1 1.000 1.000 1 1.000 1.000 [50,] 1 1.000 1.000 1 1.000 1.000 [51,] 1 1.000 0.058 1 1.000 0.058 [52,] 1 1.000 1.000 1 1.000 1.000 [53,] 1 1.000 1.000 1 1.000 1.000 [54,] 1 1.000 0.773 1 1.000 0.773 [55,] 1 1.000 1.000 1 1.000 1.000 [56,] 1 1.000 1.000 1 1.000 1.000 [57,] 1 1.000 0.999 1 1.000 0.999 [58,] 1 1.000 0.000 1 1.000 0.000 [59,] 1 1.000 1.000 1 1.000 1.000 [60,] 1 1.000 1.000 1 1.000 1.000 [61,] 0 0.000 0.000 0 0.000 0.000 [62,] 1 1.000 1.000 1 1.000 1.000 [63,] 1 0.611 0.000 0 0.000 0.000 [64,] 1 1.000 1.000 1 1.000 1.000 [65,] 1 1.000 1.000 1 1.000 1.000 [66,] 1 1.000 1.000 1 1.000 1.000 [67,] 1 1.000 1.000 1 1.000 1.000 [68,] 1 1.000 1.000 1 1.000 1.000 [69,] 1 0.786 0.000 0 0.000 0.000 [70,] 1 1.000 1.000 1 1.000 1.000 [71,] 1 1.000 1.000 1 1.000 1.000 [72,] 1 1.000 1.000 1 1.000 1.000 [73,] 1 1.000 1.000 1 1.000 1.000 [74,] 1 1.000 1.000 1 1.000 1.000 [75,] 1 1.000 1.000 1 1.000 1.000 [76,] 1 1.000 1.000 1 1.000 1.000 [77,] 1 1.000 1.000 1 1.000 1.000 [78,] 1 1.000 1.000 1 1.000 1.000 [79,] 1 1.000 1.000 1 1.000 1.000 [80,] 1 1.000 1.000 1 1.000 1.000 [81,] 1 1.000 1.000 1 1.000 1.000 [82,] 1 1.000 0.999 1 1.000 0.999 [83,] 1 1.000 1.000 1 1.000 1.000 [84,] 1 1.000 1.000 1 1.000 1.000 [85,] 1 1.000 1.000 1 1.000 1.000 [86,] 1 1.000 0.000 1 1.000 0.000 [87,] 1 1.000 1.000 1 1.000 1.000 [88,] 1 1.000 0.000 1 1.000 0.000 [89,] 1 1.000 1.000 1 1.000 1.000 [90,] 1 1.000 1.000 1 1.000 1.000 [91,] 1 1.000 1.000 1 1.000 1.000 [92,] 1 1.000 1.000 1 1.000 1.000 [93,] 1 1.000 1.000 1 1.000 1.000 [94,] 1 0.944 0.000 0 0.001 0.000 [95,] 1 1.000 1.000 1 1.000 1.000 [96,] 1 1.000 1.000 1 1.000 1.000 [97,] 1 1.000 1.000 1 1.000 1.000 [98,] 1 1.000 1.000 1 1.000 1.000 [99,] 1 1.000 0.000 1 1.000 0.000 [100,] 1 1.000 1.000 1 1.000 1.000 [101,] 1 1.000 0.000 1 1.000 0.000 [102,] 1 1.000 1.000 1 1.000 1.000 [103,] 1 1.000 1.000 1 1.000 1.000 [104,] 1 1.000 1.000 1 1.000 1.000 [105,] 1 1.000 1.000 1 1.000 1.000 [106,] 1 1.000 0.000 1 0.998 0.000 [107,] 1 1.000 0.000 0 0.317 0.000 [108,] 1 1.000 0.000 1 1.000 0.000 [109,] 1 1.000 0.000 1 0.999 0.000 [110,] 0 0.000 0.000 0 0.000 0.000 [111,] 1 1.000 1.000 1 1.000 1.000 [112,] 1 1.000 1.000 1 1.000 1.000 [113,] 1 1.000 1.000 1 1.000 1.000 [114,] 1 1.000 0.000 1 1.000 0.000 [115,] 1 1.000 0.899 1 1.000 0.899 [116,] 1 1.000 1.000 1 1.000 1.000 [117,] 1 1.000 1.000 1 1.000 1.000 [118,] 0 0.000 0.000 0 0.000 0.000 [119,] 0 0.000 0.000 0 0.000 0.000 [120,] 0 0.028 0.000 0 0.000 0.000 [121,] 1 1.000 1.000 1 1.000 1.000 [122,] 1 1.000 1.000 1 1.000 1.000 [123,] 0 0.000 0.000 0 0.000 0.000 [124,] 1 1.000 1.000 1 1.000 1.000 [125,] 1 1.000 1.000 1 1.000 1.000 [126,] 1 1.000 0.229 1 1.000 0.229 [127,] 1 1.000 1.000 1 1.000 1.000 [128,] 1 1.000 1.000 1 1.000 1.000 [129,] 1 1.000 1.000 1 1.000 1.000 [130,] 1 1.000 0.702 1 1.000 0.702 [131,] 1 1.000 0.000 0 0.357 0.000 [132,] 0 0.000 0.000 0 0.000 0.000 [133,] 1 1.000 1.000 1 1.000 1.000 [134,] 1 1.000 1.000 1 1.000 1.000 [135,] 1 1.000 0.818 1 1.000 0.818 [136,] 1 1.000 0.000 1 0.999 0.000 [137,] 1 1.000 0.000 1 1.000 0.000 [138,] 1 1.000 1.000 1 1.000 1.000 [139,] 1 1.000 1.000 1 1.000 1.000 [140,] 1 1.000 1.000 1 1.000 1.000 [141,] 1 1.000 1.000 1 1.000 1.000 [142,] 1 1.000 1.000 1 1.000 1.000 [143,] 1 1.000 1.000 1 1.000 1.000 [144,] 1 1.000 1.000 1 1.000 1.000 [145,] 1 1.000 1.000 1 1.000 1.000 [146,] 1 1.000 1.000 1 1.000 1.000 [147,] 1 1.000 0.991 1 1.000 0.991 [148,] 1 1.000 1.000 1 1.000 1.000 [149,] 1 1.000 0.000 1 1.000 0.000 [150,] 1 1.000 1.000 1 1.000 1.000 > > > try( # testing (tol=0 too small) + chk.NN.new.old(cN, cN1, tol=0) + ) classification accordance matrix: old new 0 1 0 10 0 1 5 135 Error : Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01479474 Component "mu": Mean relative difference: 0.003191909 Component "postprob": Mean relative difference: 0.1351993 Component "classification": Mean relative difference: 1 > ## This used to fail when we use R's instead of BLAS matrix products: > if(doCheck) + chk.NN.new.old(cN, cN1, tol = 4e-15) # seen 1.1e-15 work classification accordance matrix: old new 0 1 0 10 0 1 5 135 Error: Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01479474 Component "mu": Mean relative difference: 0.003191909 Component "postprob": Mean relative difference: 0.1351993 Component "classification": Mean relative difference: 1 Execution halted Flavor: r-devel-linux-x86_64-fedora-clang

Version: 1.2-7
Check: tests
Result: ERROR Running ‘L1med-tst.R’ Running ‘cov-ex.R’ Running the tests in ‘tests/cov-ex.R’ failed. Complete output: > library(robustX) > library(robustbase) > (newRB <- (packageVersion("robustbase") >= "0.99")) [1] TRUE > > sessionInfo() R Under development (unstable) (2026-02-07 r89380) Platform: x86_64-pc-linux-gnu Running under: Fedora Linux 42 (Workstation Edition) Matrix products: default BLAS: /data/gannet/ripley/R/R-devel/lib/libRblas.so LAPACK: /usr/lib64/liblapack.so.3.12.0 LAPACK version 3.12.0 locale: [1] LC_CTYPE=en_GB.utf8 LC_NUMERIC=C [3] LC_TIME=en_GB.UTF-8 LC_COLLATE=C [5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8 [7] LC_PAPER=en_GB.UTF-8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C time zone: Europe/London tzcode source: system (glibc) attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] robustbase_0.99-7 robustX_1.2-7 loaded via a namespace (and not attached): [1] DEoptimR_1.1-4 compiler_4.6.0 > packageDescription("robustX") Package: robustX Type: Package Title: 'eXtra' / 'eXperimental' Functionality for Robust Statistics Version: 1.2-7 Date: 2023-06-14 Authors@R: c(person("Martin","Maechler", role=c("aut","cre"), email="maechler@stat.math.ethz.ch", comment = c(ORCID = "0000-0002-8685-9910")) , person("Werner A.", "Stahel", role="aut", email="stahel@stat.math.ethz.ch") , person("Rolf", "Turner", role="ctb", email="r.turner@auckland.ac.nz", comment = "reclas()") , person("Ueli", "Oetliker", role="ctb", comment = "original version of BACON() and mvBACON for S+") , person("Tobias", "Schoch", role="ctb", comment = "init.sel=\"V2\" for BACON; fix alpha") ) Maintainer: Martin Maechler <maechler@stat.math.ethz.ch> Description: Robustness -- 'eXperimental', 'eXtraneous', or 'eXtraordinary' Functionality for Robust Statistics. Hence methods which are not well established, often related to methods in package 'robustbase'. Amazingly, 'BACON()', originally by Billor, Hadi, and Velleman (2000) <doi:10.1016/S0167-9473(99)00101-2> has become established in places. The "barrow wheel" `rbwheel()` is from Stahel and Mächler (2009) <doi:10.1111/j.1467-9868.2009.00706.x>. Imports: grDevices, graphics, stats, utils, robustbase (>= 0.92-3) Suggests: MASS, lattice, pcaPP Enhances: ICS License: GPL (>= 2) Encoding: UTF-8 NeedsCompilation: no Packaged: 2023-06-14 21:41:58 UTC; maechler Author: Martin Maechler [aut, cre] (<https://orcid.org/0000-0002-8685-9910>), Werner A. Stahel [aut], Rolf Turner [ctb] (reclas()), Ueli Oetliker [ctb] (original version of BACON() and mvBACON for S+), Tobias Schoch [ctb] (init.sel="V2" for BACON; fix alpha) Repository: CRAN Date/Publication: 2023-06-16 07:30:02 UTC Built: R 4.6.0; ; 2026-02-09 21:10:39 UTC; unix -- File: /data/gannet/ripley/R/packages/tests-devel/robustX.Rcheck/robustX/Meta/package.rds > (ourBLAS <- grepl(print(normalizePath(R.home())), + normalizePath(extSoftVersion()[["BLAS"]]), fixed = TRUE)) [1] "/data/gannet/ripley/R/R-devel" [1] TRUE > ## need extended precision (typically *includes* 64-bit): > doCheck <- (.Machine$sizeof.longdouble >= 16) > cat("doCheck (= have long double):", doCheck,"\n") doCheck (= have long double): TRUE > > if(!dev.interactive(orNone=TRUE)) pdf("cov-ex.pdf") > > covNN.1 <- robustX:::covNNC1 ## the original definition (2003) > > data(iris) > system.time(cN1 <- covNN.1(iris[-5])) user system elapsed 0.289 0.022 0.315 > system.time(cN <- covNNC (iris[-5]))# faster indeed user system elapsed 0.136 0.000 0.138 > > ## report.and.stop.if.not.all.equal > report.stopifnot.all.eq <- function(a,b, tol, ...) { + call <- sys.call() + ae <- all.equal(a,b, tol=tol, ...) + call[[1]] <- quote(all.equal) + if(!isTRUE(ae)) + stop(sprintf("Not %s:\n%s\n\n", deparse(call), + paste(ae, collapse="\n")), + call.=FALSE) + ## else + TRUE + } > > UN <- function(L) lapply(L, unname) > > chk.NN.new.old <- function(cNew, cNold, tol = 2e-15, tol.1 = 20*tol) { + stopifnot(is.list(cNold$innc), length(n.i <- names(cNold$innc)) == 4) + cat("classification accordance matrix:\n") + print(table(new = cNew $classification, + old = cNold$classification)) + report.stopifnot.all.eq(UN(cNew [1:4]), + UN(cNold[1:4]), tol=tol.1) & + report.stopifnot.all.eq(cNew $innc[n.i], + cNold$innc[n.i], tol=tol) + } > > summ.NN <- function(cNN, digits = 3) { + cbind(class = cNN$classification, + pprob = round(cNN$postprob, digits), + incc.p= round(cNN$innc$postprob, digits)) + } > > s1 <- summ.NN(cN1) > ss <- summ.NN(cN) > if(isTRUE(all.equal(ss, s1))) ss else cbind(ss, s1) class pprob incc.p class pprob incc.p [1,] 1 1.000 1.000 1 1.000 1.000 [2,] 1 1.000 1.000 1 1.000 1.000 [3,] 1 1.000 1.000 1 1.000 1.000 [4,] 1 1.000 1.000 1 1.000 1.000 [5,] 1 1.000 1.000 1 1.000 1.000 [6,] 1 1.000 0.171 1 1.000 0.171 [7,] 1 1.000 1.000 1 1.000 1.000 [8,] 1 1.000 1.000 1 1.000 1.000 [9,] 1 1.000 1.000 1 1.000 1.000 [10,] 1 1.000 1.000 1 1.000 1.000 [11,] 1 1.000 1.000 1 1.000 1.000 [12,] 1 1.000 1.000 1 1.000 1.000 [13,] 1 1.000 1.000 1 1.000 1.000 [14,] 1 1.000 1.000 1 1.000 1.000 [15,] 1 1.000 0.000 1 0.998 0.000 [16,] 0 0.000 0.000 0 0.000 0.000 [17,] 1 1.000 0.718 1 1.000 0.718 [18,] 1 1.000 1.000 1 1.000 1.000 [19,] 1 1.000 0.002 1 1.000 0.002 [20,] 1 1.000 1.000 1 1.000 1.000 [21,] 1 1.000 1.000 1 1.000 1.000 [22,] 1 1.000 1.000 1 1.000 1.000 [23,] 1 1.000 1.000 1 1.000 1.000 [24,] 1 1.000 1.000 1 1.000 1.000 [25,] 1 1.000 1.000 1 1.000 1.000 [26,] 1 1.000 1.000 1 1.000 1.000 [27,] 1 1.000 1.000 1 1.000 1.000 [28,] 1 1.000 1.000 1 1.000 1.000 [29,] 1 1.000 1.000 1 1.000 1.000 [30,] 1 1.000 1.000 1 1.000 1.000 [31,] 1 1.000 1.000 1 1.000 1.000 [32,] 1 1.000 1.000 1 1.000 1.000 [33,] 1 1.000 0.000 1 1.000 0.000 [34,] 0 0.000 0.000 0 0.000 0.000 [35,] 1 1.000 1.000 1 1.000 1.000 [36,] 1 1.000 1.000 1 1.000 1.000 [37,] 1 1.000 1.000 1 1.000 1.000 [38,] 1 1.000 1.000 1 1.000 1.000 [39,] 1 1.000 1.000 1 1.000 1.000 [40,] 1 1.000 1.000 1 1.000 1.000 [41,] 1 1.000 1.000 1 1.000 1.000 [42,] 0 0.000 0.000 0 0.000 0.000 [43,] 1 1.000 1.000 1 1.000 1.000 [44,] 1 1.000 1.000 1 1.000 1.000 [45,] 1 1.000 1.000 1 1.000 1.000 [46,] 1 1.000 1.000 1 1.000 1.000 [47,] 1 1.000 1.000 1 1.000 1.000 [48,] 1 1.000 1.000 1 1.000 1.000 [49,] 1 1.000 1.000 1 1.000 1.000 [50,] 1 1.000 1.000 1 1.000 1.000 [51,] 1 1.000 0.058 1 1.000 0.058 [52,] 1 1.000 1.000 1 1.000 1.000 [53,] 1 1.000 1.000 1 1.000 1.000 [54,] 1 1.000 0.773 1 1.000 0.773 [55,] 1 1.000 1.000 1 1.000 1.000 [56,] 1 1.000 1.000 1 1.000 1.000 [57,] 1 1.000 0.999 1 1.000 0.999 [58,] 1 1.000 0.000 1 1.000 0.000 [59,] 1 1.000 1.000 1 1.000 1.000 [60,] 1 1.000 1.000 1 1.000 1.000 [61,] 0 0.000 0.000 0 0.000 0.000 [62,] 1 1.000 1.000 1 1.000 1.000 [63,] 1 0.611 0.000 0 0.000 0.000 [64,] 1 1.000 1.000 1 1.000 1.000 [65,] 1 1.000 1.000 1 1.000 1.000 [66,] 1 1.000 1.000 1 1.000 1.000 [67,] 1 1.000 1.000 1 1.000 1.000 [68,] 1 1.000 1.000 1 1.000 1.000 [69,] 1 0.786 0.000 0 0.000 0.000 [70,] 1 1.000 1.000 1 1.000 1.000 [71,] 1 1.000 1.000 1 1.000 1.000 [72,] 1 1.000 1.000 1 1.000 1.000 [73,] 1 1.000 1.000 1 1.000 1.000 [74,] 1 1.000 1.000 1 1.000 1.000 [75,] 1 1.000 1.000 1 1.000 1.000 [76,] 1 1.000 1.000 1 1.000 1.000 [77,] 1 1.000 1.000 1 1.000 1.000 [78,] 1 1.000 1.000 1 1.000 1.000 [79,] 1 1.000 1.000 1 1.000 1.000 [80,] 1 1.000 1.000 1 1.000 1.000 [81,] 1 1.000 1.000 1 1.000 1.000 [82,] 1 1.000 0.999 1 1.000 0.999 [83,] 1 1.000 1.000 1 1.000 1.000 [84,] 1 1.000 1.000 1 1.000 1.000 [85,] 1 1.000 1.000 1 1.000 1.000 [86,] 1 1.000 0.000 1 1.000 0.000 [87,] 1 1.000 1.000 1 1.000 1.000 [88,] 1 1.000 0.000 1 1.000 0.000 [89,] 1 1.000 1.000 1 1.000 1.000 [90,] 1 1.000 1.000 1 1.000 1.000 [91,] 1 1.000 1.000 1 1.000 1.000 [92,] 1 1.000 1.000 1 1.000 1.000 [93,] 1 1.000 1.000 1 1.000 1.000 [94,] 1 0.944 0.000 0 0.001 0.000 [95,] 1 1.000 1.000 1 1.000 1.000 [96,] 1 1.000 1.000 1 1.000 1.000 [97,] 1 1.000 1.000 1 1.000 1.000 [98,] 1 1.000 1.000 1 1.000 1.000 [99,] 1 1.000 0.000 1 1.000 0.000 [100,] 1 1.000 1.000 1 1.000 1.000 [101,] 1 1.000 0.000 1 1.000 0.000 [102,] 1 1.000 1.000 1 1.000 1.000 [103,] 1 1.000 1.000 1 1.000 1.000 [104,] 1 1.000 1.000 1 1.000 1.000 [105,] 1 1.000 1.000 1 1.000 1.000 [106,] 1 1.000 0.000 1 0.998 0.000 [107,] 1 1.000 0.000 0 0.317 0.000 [108,] 1 1.000 0.000 1 1.000 0.000 [109,] 1 1.000 0.000 1 0.999 0.000 [110,] 0 0.000 0.000 0 0.000 0.000 [111,] 1 1.000 1.000 1 1.000 1.000 [112,] 1 1.000 1.000 1 1.000 1.000 [113,] 1 1.000 1.000 1 1.000 1.000 [114,] 1 1.000 0.000 1 1.000 0.000 [115,] 1 1.000 0.899 1 1.000 0.899 [116,] 1 1.000 1.000 1 1.000 1.000 [117,] 1 1.000 1.000 1 1.000 1.000 [118,] 0 0.000 0.000 0 0.000 0.000 [119,] 0 0.000 0.000 0 0.000 0.000 [120,] 0 0.028 0.000 0 0.000 0.000 [121,] 1 1.000 1.000 1 1.000 1.000 [122,] 1 1.000 1.000 1 1.000 1.000 [123,] 0 0.000 0.000 0 0.000 0.000 [124,] 1 1.000 1.000 1 1.000 1.000 [125,] 1 1.000 1.000 1 1.000 1.000 [126,] 1 1.000 0.229 1 1.000 0.229 [127,] 1 1.000 1.000 1 1.000 1.000 [128,] 1 1.000 1.000 1 1.000 1.000 [129,] 1 1.000 1.000 1 1.000 1.000 [130,] 1 1.000 0.702 1 1.000 0.702 [131,] 1 1.000 0.000 0 0.357 0.000 [132,] 0 0.000 0.000 0 0.000 0.000 [133,] 1 1.000 1.000 1 1.000 1.000 [134,] 1 1.000 1.000 1 1.000 1.000 [135,] 1 1.000 0.818 1 1.000 0.818 [136,] 1 1.000 0.000 1 0.999 0.000 [137,] 1 1.000 0.000 1 1.000 0.000 [138,] 1 1.000 1.000 1 1.000 1.000 [139,] 1 1.000 1.000 1 1.000 1.000 [140,] 1 1.000 1.000 1 1.000 1.000 [141,] 1 1.000 1.000 1 1.000 1.000 [142,] 1 1.000 1.000 1 1.000 1.000 [143,] 1 1.000 1.000 1 1.000 1.000 [144,] 1 1.000 1.000 1 1.000 1.000 [145,] 1 1.000 1.000 1 1.000 1.000 [146,] 1 1.000 1.000 1 1.000 1.000 [147,] 1 1.000 0.991 1 1.000 0.991 [148,] 1 1.000 1.000 1 1.000 1.000 [149,] 1 1.000 0.000 1 1.000 0.000 [150,] 1 1.000 1.000 1 1.000 1.000 > > > try( # testing (tol=0 too small) + chk.NN.new.old(cN, cN1, tol=0) + ) classification accordance matrix: old new 0 1 0 10 0 1 5 135 Error : Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01479474 Component "mu": Mean relative difference: 0.003191909 Component "postprob": Mean relative difference: 0.1351993 Component "classification": Mean relative difference: 1 > ## This used to fail when we use R's instead of BLAS matrix products: > if(doCheck) + chk.NN.new.old(cN, cN1, tol = 4e-15) # seen 1.1e-15 work classification accordance matrix: old new 0 1 0 10 0 1 5 135 Error: Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01479474 Component "mu": Mean relative difference: 0.003191909 Component "postprob": Mean relative difference: 0.1351993 Component "classification": Mean relative difference: 1 Execution halted Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 1.2-7
Check: tests
Result: ERROR Running 'L1med-tst.R' [1s] Running 'cov-ex.R' [1s] Running the tests in 'tests/cov-ex.R' failed. Complete output: > library(robustX) > library(robustbase) > (newRB <- (packageVersion("robustbase") >= "0.99")) [1] TRUE > > sessionInfo() R Under development (unstable) (2026-02-13 r89414 ucrt) Platform: x86_64-w64-mingw32/x64 Running under: Windows Server 2022 x64 (build 20348) Matrix products: default LAPACK version 3.12.1 locale: [1] LC_COLLATE=C LC_CTYPE=German_Germany.utf8 [3] LC_MONETARY=C LC_NUMERIC=C [5] LC_TIME=C time zone: Europe/Berlin tzcode source: internal attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] robustbase_0.99-7 robustX_1.2-7 loaded via a namespace (and not attached): [1] DEoptimR_1.1-4 compiler_4.6.0 > packageDescription("robustX") Package: robustX Type: Package Title: 'eXtra' / 'eXperimental' Functionality for Robust Statistics Version: 1.2-7 Date: 2023-06-14 Authors@R: c(person("Martin","Maechler", role=c("aut","cre"), email="maechler@stat.math.ethz.ch", comment = c(ORCID = "0000-0002-8685-9910")) , person("Werner A.", "Stahel", role="aut", email="stahel@stat.math.ethz.ch") , person("Rolf", "Turner", role="ctb", email="r.turner@auckland.ac.nz", comment = "reclas()") , person("Ueli", "Oetliker", role="ctb", comment = "original version of BACON() and mvBACON for S+") , person("Tobias", "Schoch", role="ctb", comment = "init.sel=\"V2\" for BACON; fix alpha") ) Maintainer: Martin Maechler <maechler@stat.math.ethz.ch> Description: Robustness -- 'eXperimental', 'eXtraneous', or 'eXtraordinary' Functionality for Robust Statistics. Hence methods which are not well established, often related to methods in package 'robustbase'. Amazingly, 'BACON()', originally by Billor, Hadi, and Velleman (2000) <doi:10.1016/S0167-9473(99)00101-2> has become established in places. The "barrow wheel" `rbwheel()` is from Stahel and Mächler (2009) <doi:10.1111/j.1467-9868.2009.00706.x>. Imports: grDevices, graphics, stats, utils, robustbase (>= 0.92-3) Suggests: MASS, lattice, pcaPP Enhances: ICS License: GPL (>= 2) Encoding: UTF-8 NeedsCompilation: no Packaged: 2023-06-14 21:41:58 UTC; maechler Author: Martin Maechler [aut, cre] (<https://orcid.org/0000-0002-8685-9910>), Werner A. Stahel [aut], Rolf Turner [ctb] (reclas()), Ueli Oetliker [ctb] (original version of BACON() and mvBACON for S+), Tobias Schoch [ctb] (init.sel="V2" for BACON; fix alpha) Repository: CRAN Date/Publication: 2023-06-16 07:30:02 UTC Built: R 4.6.0; ; 2026-02-14 02:19:01 UTC; windows -- File: D:/RCompile/CRANpkg/lib/4.6/robustX/Meta/package.rds > (ourBLAS <- grepl(print(normalizePath(R.home())), + normalizePath(extSoftVersion()[["BLAS"]]), fixed = TRUE)) [1] "D:\\RCompile\\recent\\R" [1] FALSE Warning message: In normalizePath(path.expand(path), winslash, mustWork) : path[1]="": Das System kann den angegebenen Pfad nicht finden > ## need extended precision (typically *includes* 64-bit): > doCheck <- (.Machine$sizeof.longdouble >= 16) > cat("doCheck (= have long double):", doCheck,"\n") doCheck (= have long double): TRUE > > if(!dev.interactive(orNone=TRUE)) pdf("cov-ex.pdf") > > covNN.1 <- robustX:::covNNC1 ## the original definition (2003) > > data(iris) > system.time(cN1 <- covNN.1(iris[-5])) user system elapsed 0.14 0.00 0.14 > system.time(cN <- covNNC (iris[-5]))# faster indeed user system elapsed 0.06 0.01 0.08 > > ## report.and.stop.if.not.all.equal > report.stopifnot.all.eq <- function(a,b, tol, ...) { + call <- sys.call() + ae <- all.equal(a,b, tol=tol, ...) + call[[1]] <- quote(all.equal) + if(!isTRUE(ae)) + stop(sprintf("Not %s:\n%s\n\n", deparse(call), + paste(ae, collapse="\n")), + call.=FALSE) + ## else + TRUE + } > > UN <- function(L) lapply(L, unname) > > chk.NN.new.old <- function(cNew, cNold, tol = 2e-15, tol.1 = 20*tol) { + stopifnot(is.list(cNold$innc), length(n.i <- names(cNold$innc)) == 4) + cat("classification accordance matrix:\n") + print(table(new = cNew $classification, + old = cNold$classification)) + report.stopifnot.all.eq(UN(cNew [1:4]), + UN(cNold[1:4]), tol=tol.1) & + report.stopifnot.all.eq(cNew $innc[n.i], + cNold$innc[n.i], tol=tol) + } > > summ.NN <- function(cNN, digits = 3) { + cbind(class = cNN$classification, + pprob = round(cNN$postprob, digits), + incc.p= round(cNN$innc$postprob, digits)) + } > > s1 <- summ.NN(cN1) > ss <- summ.NN(cN) > if(isTRUE(all.equal(ss, s1))) ss else cbind(ss, s1) class pprob incc.p class pprob incc.p [1,] 1 1.000 1.000 1 1.000 1.000 [2,] 1 1.000 1.000 1 1.000 1.000 [3,] 1 1.000 1.000 1 1.000 1.000 [4,] 1 1.000 1.000 1 1.000 1.000 [5,] 1 1.000 1.000 1 1.000 1.000 [6,] 1 1.000 0.171 1 1.000 0.171 [7,] 1 1.000 1.000 1 1.000 1.000 [8,] 1 1.000 1.000 1 1.000 1.000 [9,] 1 1.000 1.000 1 1.000 1.000 [10,] 1 1.000 1.000 1 1.000 1.000 [11,] 1 1.000 1.000 1 1.000 1.000 [12,] 1 1.000 1.000 1 1.000 1.000 [13,] 1 1.000 1.000 1 1.000 1.000 [14,] 1 1.000 1.000 1 1.000 1.000 [15,] 1 1.000 0.000 1 0.998 0.000 [16,] 0 0.000 0.000 0 0.000 0.000 [17,] 1 1.000 0.718 1 1.000 0.718 [18,] 1 1.000 1.000 1 1.000 1.000 [19,] 1 1.000 0.002 1 1.000 0.002 [20,] 1 1.000 1.000 1 1.000 1.000 [21,] 1 1.000 1.000 1 1.000 1.000 [22,] 1 1.000 1.000 1 1.000 1.000 [23,] 1 1.000 1.000 1 1.000 1.000 [24,] 1 1.000 1.000 1 1.000 1.000 [25,] 1 1.000 1.000 1 1.000 1.000 [26,] 1 1.000 1.000 1 1.000 1.000 [27,] 1 1.000 1.000 1 1.000 1.000 [28,] 1 1.000 1.000 1 1.000 1.000 [29,] 1 1.000 1.000 1 1.000 1.000 [30,] 1 1.000 1.000 1 1.000 1.000 [31,] 1 1.000 1.000 1 1.000 1.000 [32,] 1 1.000 1.000 1 1.000 1.000 [33,] 1 1.000 0.000 1 1.000 0.000 [34,] 0 0.000 0.000 0 0.000 0.000 [35,] 1 1.000 1.000 1 1.000 1.000 [36,] 1 1.000 1.000 1 1.000 1.000 [37,] 1 1.000 1.000 1 1.000 1.000 [38,] 1 1.000 1.000 1 1.000 1.000 [39,] 1 1.000 1.000 1 1.000 1.000 [40,] 1 1.000 1.000 1 1.000 1.000 [41,] 1 1.000 1.000 1 1.000 1.000 [42,] 0 0.000 0.000 0 0.000 0.000 [43,] 1 1.000 1.000 1 1.000 1.000 [44,] 1 1.000 1.000 1 1.000 1.000 [45,] 1 1.000 1.000 1 1.000 1.000 [46,] 1 1.000 1.000 1 1.000 1.000 [47,] 1 1.000 1.000 1 1.000 1.000 [48,] 1 1.000 1.000 1 1.000 1.000 [49,] 1 1.000 1.000 1 1.000 1.000 [50,] 1 1.000 1.000 1 1.000 1.000 [51,] 1 1.000 0.058 1 1.000 0.058 [52,] 1 1.000 1.000 1 1.000 1.000 [53,] 1 1.000 1.000 1 1.000 1.000 [54,] 1 1.000 0.773 1 1.000 0.773 [55,] 1 1.000 1.000 1 1.000 1.000 [56,] 1 1.000 1.000 1 1.000 1.000 [57,] 1 1.000 0.999 1 1.000 0.999 [58,] 1 1.000 0.000 1 1.000 0.000 [59,] 1 1.000 1.000 1 1.000 1.000 [60,] 1 1.000 1.000 1 1.000 1.000 [61,] 0 0.000 0.000 0 0.000 0.000 [62,] 1 1.000 1.000 1 1.000 1.000 [63,] 1 0.611 0.000 0 0.000 0.000 [64,] 1 1.000 1.000 1 1.000 1.000 [65,] 1 1.000 1.000 1 1.000 1.000 [66,] 1 1.000 1.000 1 1.000 1.000 [67,] 1 1.000 1.000 1 1.000 1.000 [68,] 1 1.000 1.000 1 1.000 1.000 [69,] 1 0.786 0.000 0 0.000 0.000 [70,] 1 1.000 1.000 1 1.000 1.000 [71,] 1 1.000 1.000 1 1.000 1.000 [72,] 1 1.000 1.000 1 1.000 1.000 [73,] 1 1.000 1.000 1 1.000 1.000 [74,] 1 1.000 1.000 1 1.000 1.000 [75,] 1 1.000 1.000 1 1.000 1.000 [76,] 1 1.000 1.000 1 1.000 1.000 [77,] 1 1.000 1.000 1 1.000 1.000 [78,] 1 1.000 1.000 1 1.000 1.000 [79,] 1 1.000 1.000 1 1.000 1.000 [80,] 1 1.000 1.000 1 1.000 1.000 [81,] 1 1.000 1.000 1 1.000 1.000 [82,] 1 1.000 0.999 1 1.000 0.999 [83,] 1 1.000 1.000 1 1.000 1.000 [84,] 1 1.000 1.000 1 1.000 1.000 [85,] 1 1.000 1.000 1 1.000 1.000 [86,] 1 1.000 0.000 1 1.000 0.000 [87,] 1 1.000 1.000 1 1.000 1.000 [88,] 1 1.000 0.000 1 1.000 0.000 [89,] 1 1.000 1.000 1 1.000 1.000 [90,] 1 1.000 1.000 1 1.000 1.000 [91,] 1 1.000 1.000 1 1.000 1.000 [92,] 1 1.000 1.000 1 1.000 1.000 [93,] 1 1.000 1.000 1 1.000 1.000 [94,] 1 0.944 0.000 0 0.001 0.000 [95,] 1 1.000 1.000 1 1.000 1.000 [96,] 1 1.000 1.000 1 1.000 1.000 [97,] 1 1.000 1.000 1 1.000 1.000 [98,] 1 1.000 1.000 1 1.000 1.000 [99,] 1 1.000 0.000 1 1.000 0.000 [100,] 1 1.000 1.000 1 1.000 1.000 [101,] 1 1.000 0.000 1 1.000 0.000 [102,] 1 1.000 1.000 1 1.000 1.000 [103,] 1 1.000 1.000 1 1.000 1.000 [104,] 1 1.000 1.000 1 1.000 1.000 [105,] 1 1.000 1.000 1 1.000 1.000 [106,] 1 1.000 0.000 1 0.998 0.000 [107,] 1 1.000 0.000 0 0.317 0.000 [108,] 1 1.000 0.000 1 1.000 0.000 [109,] 1 1.000 0.000 1 0.999 0.000 [110,] 0 0.000 0.000 0 0.000 0.000 [111,] 1 1.000 1.000 1 1.000 1.000 [112,] 1 1.000 1.000 1 1.000 1.000 [113,] 1 1.000 1.000 1 1.000 1.000 [114,] 1 1.000 0.000 1 1.000 0.000 [115,] 1 1.000 0.899 1 1.000 0.899 [116,] 1 1.000 1.000 1 1.000 1.000 [117,] 1 1.000 1.000 1 1.000 1.000 [118,] 0 0.000 0.000 0 0.000 0.000 [119,] 0 0.000 0.000 0 0.000 0.000 [120,] 0 0.028 0.000 0 0.000 0.000 [121,] 1 1.000 1.000 1 1.000 1.000 [122,] 1 1.000 1.000 1 1.000 1.000 [123,] 0 0.000 0.000 0 0.000 0.000 [124,] 1 1.000 1.000 1 1.000 1.000 [125,] 1 1.000 1.000 1 1.000 1.000 [126,] 1 1.000 0.229 1 1.000 0.229 [127,] 1 1.000 1.000 1 1.000 1.000 [128,] 1 1.000 1.000 1 1.000 1.000 [129,] 1 1.000 1.000 1 1.000 1.000 [130,] 1 1.000 0.702 1 1.000 0.702 [131,] 1 1.000 0.000 0 0.357 0.000 [132,] 0 0.000 0.000 0 0.000 0.000 [133,] 1 1.000 1.000 1 1.000 1.000 [134,] 1 1.000 1.000 1 1.000 1.000 [135,] 1 1.000 0.818 1 1.000 0.818 [136,] 1 1.000 0.000 1 0.999 0.000 [137,] 1 1.000 0.000 1 1.000 0.000 [138,] 1 1.000 1.000 1 1.000 1.000 [139,] 1 1.000 1.000 1 1.000 1.000 [140,] 1 1.000 1.000 1 1.000 1.000 [141,] 1 1.000 1.000 1 1.000 1.000 [142,] 1 1.000 1.000 1 1.000 1.000 [143,] 1 1.000 1.000 1 1.000 1.000 [144,] 1 1.000 1.000 1 1.000 1.000 [145,] 1 1.000 1.000 1 1.000 1.000 [146,] 1 1.000 1.000 1 1.000 1.000 [147,] 1 1.000 0.991 1 1.000 0.991 [148,] 1 1.000 1.000 1 1.000 1.000 [149,] 1 1.000 0.000 1 1.000 0.000 [150,] 1 1.000 1.000 1 1.000 1.000 > > > try( # testing (tol=0 too small) + chk.NN.new.old(cN, cN1, tol=0) + ) classification accordance matrix: old new 0 1 0 10 0 1 5 135 Error : Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01479474 Component "mu": Mean relative difference: 0.003191909 Component "postprob": Mean relative difference: 0.1351993 Component "classification": Mean relative difference: 1 > ## This used to fail when we use R's instead of BLAS matrix products: > if(doCheck) + chk.NN.new.old(cN, cN1, tol = 4e-15) # seen 1.1e-15 work classification accordance matrix: old new 0 1 0 10 0 1 5 135 Error: Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01479474 Component "mu": Mean relative difference: 0.003191909 Component "postprob": Mean relative difference: 0.1351993 Component "classification": Mean relative difference: 1 Execution halted Flavor: r-devel-windows-x86_64

Package round

Current CRAN status: OK: 14

Package sca

Current CRAN status: NOTE: 2, OK: 12

Version: 0.9-2
Check: CRAN incoming feasibility
Result: NOTE Maintainer: ‘Martin Maechler <maechler@stat.math.ethz.ch>’ No Authors@R field in DESCRIPTION. Please add one, modifying Authors@R: c(person(given = "Valentin", family = "Rousson", role = "aut", email = "rousson@ifspm.unizh.ch"), person(given = "Martin", family = "Maechler", role = c("aut", "cre"), email = "maechler@stat.math.ethz.ch")) as necessary. Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc

Package sfsmisc

Current CRAN status: OK: 14

Package simest

Current CRAN status: ERROR: 3, OK: 11

Version: 0.4-1-1
Check: tests
Result: ERROR Running ‘ex_cvx.R’ [26s/26s] Running ‘fastmerge-ex.R’ [1s/1s] Running ‘smooth.pen_agcv.R’ [0s/1s] Running the tests in ‘tests/smooth.pen_agcv.R’ failed. Complete output: > library(simest) > > ## Test smooth.pen.reg(*, agcv=TRUE) --------------- > > ## -- Using a subset of R's sunspots data ------ > osV <- abbreviate(gsub("[^[:alnum:]]", '', sub("\\(.*", '', osVersion)), 12) > > if(!dev.interactive(TRUE)) pdf(paste0("smooth.pen_sunsp__", osV, ".pdf"), width = 9, height=5) > > str(ssp <- window(sunspot.m2014, start = 1900)) Error: object 'sunspot.m2014' not found Execution halted Flavor: r-oldrel-macos-arm64

Version: 0.4-1-1
Check: tests
Result: ERROR Running ‘ex_cvx.R’ [56s/130s] Running ‘fastmerge-ex.R’ [5s/9s] Running ‘smooth.pen_agcv.R’ [2s/4s] Running the tests in ‘tests/smooth.pen_agcv.R’ failed. Complete output: > library(simest) > > ## Test smooth.pen.reg(*, agcv=TRUE) --------------- > > ## -- Using a subset of R's sunspots data ------ > osV <- abbreviate(gsub("[^[:alnum:]]", '', sub("\\(.*", '', osVersion)), 12) > > if(!dev.interactive(TRUE)) pdf(paste0("smooth.pen_sunsp__", osV, ".pdf"), width = 9, height=5) > > str(ssp <- window(sunspot.m2014, start = 1900)) Error: object 'sunspot.m2014' not found Execution halted Flavor: r-oldrel-macos-x86_64

Version: 0.4-1-1
Check: tests
Result: ERROR Running 'ex_cvx.R' [86s] Running 'fastmerge-ex.R' [6s] Running 'smooth.pen_agcv.R' [2s] Running the tests in 'tests/smooth.pen_agcv.R' failed. Complete output: > library(simest) > > ## Test smooth.pen.reg(*, agcv=TRUE) --------------- > > ## -- Using a subset of R's sunspots data ------ > osV <- abbreviate(gsub("[^[:alnum:]]", '', sub("\\(.*", '', osVersion)), 12) > > if(!dev.interactive(TRUE)) pdf(paste0("smooth.pen_sunsp__", osV, ".pdf"), width = 9, height=5) > > str(ssp <- window(sunspot.m2014, start = 1900)) Error: object 'sunspot.m2014' not found Execution halted Flavor: r-oldrel-windows-x86_64

Package stabledist

Current CRAN status: OK: 14

Package supclust

Current CRAN status: NOTE: 2, OK: 12

Version: 1.1-1
Check: CRAN incoming feasibility
Result: NOTE Maintainer: ‘Martin Maechler <maechler@stat.math.ethz.ch>’ No Authors@R field in DESCRIPTION. Please add one, modifying Authors@R: c(person(given = "Marcel", family = "Dettling", role = "aut", email = "marcel.dettling@zhaw.ch"), person(given = "Martin", family = "Maechler", role = c("aut", "cre"), email = "maechler@stat.math.ethz.ch")) as necessary. Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc

Package VLMC

Current CRAN status: OK: 14