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

Last updated on 2026-02-15 13:53:05 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-13 r89414) 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-14 09:57:55 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.082 0.025 0.154 > system.time(cN <- covNNC (iris[-5]))# faster indeed user system elapsed 0.049 0.000 0.060 > > ## 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-04 r89376) 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-05 19:29:48 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.342 0.099 1.223 > system.time(cN <- covNNC (iris[-5]))# faster indeed user system elapsed 0.181 0.002 2.148 > > ## 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’ [1s/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’ [55s/110s] Running ‘fastmerge-ex.R’ [4s/7s] Running ‘smooth.pen_agcv.R’ [2s/3s] 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' [88s] Running 'fastmerge-ex.R' [7s] Running 'smooth.pen_agcv.R' [3s] 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

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