CRAN Package Check Results for Package wordspace

Last updated on 2017-06-22 21:48:37.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 0.2-0 19.04 68.21 87.25 NOTE
r-devel-linux-x86_64-debian-gcc 0.2-0 19.53 67.03 86.57 NOTE
r-devel-linux-x86_64-fedora-clang 0.2-0 192.60 NOTE
r-devel-linux-x86_64-fedora-gcc 0.2-0 178.90 NOTE
r-devel-windows-ix86+x86_64 0.2-0 64.00 163.00 227.00 OK
r-patched-linux-x86_64 0.2-0 17.76 65.67 83.44 NOTE
r-patched-solaris-sparc 0.2-0 1021.90 ERROR
r-patched-solaris-x86 0.2-0 224.80 ERROR
r-release-linux-x86_64 0.2-0 17.85 66.13 83.98 NOTE
r-release-windows-ix86+x86_64 0.2-0 61.00 177.00 238.00 OK
r-release-osx-x86_64 0.2-0 OK
r-oldrel-windows-ix86+x86_64 0.2-0 66.00 145.00 211.00 OK
r-oldrel-osx-x86_64 0.2-0 OK

Check Details

Version: 0.2-0
Check: compiled code
Result: NOTE
    File ‘wordspace/libs/wordspace.so’:
     Found no calls to: ‘R_registerRoutines’, ‘R_useDynamicSymbols’
    
    It is good practice to register native routines and to disable symbol
    search.
    
    See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual.
Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-patched-linux-x86_64, r-release-linux-x86_64

Version: 0.2-0
Check: tests
Result: ERROR
     Running ‘dist_matrix.R’ [21s/21s]
     Running ‘dsm_projection.R’ [22s/51s]
     Running ‘dsm_score.R’ [22s/26s]
     Running ‘file_formats.R’ [23s/25s]
     Running ‘nearest_neighbours.R’ [20s/22s]
     Running ‘scale_margins.R’ [20s/21s]
     Running ‘subset.R’ [19s/20s]
    Running the tests in ‘tests/dsm_projection.R’ failed.
    Complete output:
     > ## Validate SVD and other latent subspace projections
     > ## based on small "hieroglyphs" example matrix
     >
     > library(wordspace)
     Loading required package: Matrix
     > library(Matrix)
     >
     > matrix.equal <- function(x, y, name="matrix comparison", tol=1e-12, ignore.sign=FALSE, verbose=TRUE) {
     + if (nrow(x) == nrow(y) && ncol(x) == ncol(y)) {
     + if (ignore.sign) {
     + ## sign of columns is arbitrary in SVD projection
     + max.diff.col.1 <- apply(abs(x - y), 2, max) # max diff in each column (same sign)
     + max.diff.col.2 <- apply(abs(x + y), 2, max) # max diff in each column (opposite sign)
     + max.diff <- max(pmin(max.diff.col.1, max.diff.col.2)) # pick smaller diff for each col, then take maximum
     + } else {
     + max.diff <- max(abs(x - y))
     + }
     + if (max.diff < tol) {
     + invisible(TRUE)
     + } else {
     + if (verbose) cat(sprintf("%s: largest difference between matrices = %g exceeds tolerance limit\n", name, max.diff))
     + invisible(FALSE)
     + }
     + } else {
     + if (verbose) cat(sprintf("%s: different matrix formats %d x %d != %d x %d\n", name, nrow(x), ncol(x), nrow(y), ncol(y)))
     + invisible(FALSE)
     + }
     + }
     >
     > dist.compare <- function (M1, M2, label="TODO", verbose=TRUE, method="euclidean", tol=0.3) { # tol = proportion of average distance (for matrix with larger distances)
     + stopifnot(nrow(M1) == nrow(M2))
     + nr <- nrow(M1)
     + M1 <- dist.matrix(M1, method=method)
     + M2 <- dist.matrix(M2, method=method)
     + n <- nr * (nr - 1)
     + sum1 <- sum(M1) / n
     + sum2 <- sum(M2) / n
     + d <- sqrt(sum((M1 - M2)^2) / n) # root mean squared difference
     + rel.error <- d / max(sum1, sum2)
     + if (verbose) cat(sprintf("%s: average difference = %.1f, relative error = %4.1f%%\n", label, d, 100 * rel.error))
     + if (rel.error > tol) stop("relative error exceeds tolerance limit")
     + invisible(rel.error)
     + }
     >
     > ## test data: sparse co-occurrence matrix in sparse and dense representation
     > O <- DSM_HieroglyphsMatrix
     > E <- outer(rowSums(O), colSums(O)) / sum(O)
     > M1 <- scale((O - E) / sqrt(E), center=TRUE, scale=FALSE) # z-score (signed), centered (so SVD projection == PCA)
     > M2 <- as(M1, "dgCMatrix") # force sparse matrix representation to test sparse algorithms
     >
     >
     > ## full-rank SVD decomposition
     > svd.R <- svd(M1, nu=6, nv=6)
     > proj.R <- svd.R$u %*% diag(svd.R$d) # projection into SVD space
     > approx.R <- proj.R %*% t(svd.R$v) # matrix approximation
     >
     > proj.ws <- dsm.projection(M1, method="svd", n=6, with.basis=TRUE)
     > approx.ws <- proj.ws %*% t(attr(proj.ws, "basis"))
     >
     > dist.compare(proj.R, M1, label="Full-rank SVD projection (R)", tol=.001)
     Full-rank SVD projection (R): average difference = 0.0, relative error = 0.0%
     > dist.compare(approx.R, M1, label="Full-rank SVD approximation (R)", tol=.001)
     Full-rank SVD approximation (R): average difference = 0.0, relative error = 0.0%
     > stopifnot(matrix.equal(approx.R, M1, tol=1e-6))
     >
     > dist.compare(proj.ws, M1, label="Full-rank SVD projection (R)", tol=.001)
     Full-rank SVD projection (R): average difference = 0.0, relative error = 0.0%
     > dist.compare(approx.ws, M1, label="Full-rank SVD approximation (R)", tol=.001)
     Full-rank SVD approximation (R): average difference = 0.0, relative error = 0.0%
     > stopifnot(matrix.equal(approx.ws, M2, tol=1e-6))
     >
     >
     > ## SVD projection
     > svd.R <- svd(M1, nu=3, nv=3)
     > proj.R <- svd.R$u %*% diag(svd.R$d[1:3]) # projection into SVD space
     > proj.ws <- dsm.projection(M1, method="svd", n=3)
     > proj.ws.sparse <- dsm.projection(M2, method="svd", n=3)
    
     *** caught segfault ***
     address 0, cause 'memory not mapped'
    
     Traceback:
     1: .Call(svdLAS2_, dim(M), M@i, M@p, M@x, as.integer(rank), as.double(tol * c(-1, 1)), as.double(kappa))
     2: sparsesvd(M, rank = n)
     3: dsm.projection(M2, method = "svd", n = 3)
     An irrecoverable exception occurred. R is aborting now ...
Flavor: r-patched-solaris-sparc

Version: 0.2-0
Check: re-building of vignette outputs
Result: WARN
    Error in re-building vignettes:
     ...
    Warning in engine$weave(file, quiet = quiet, encoding = enc) :
     Pandoc (>= 1.12.3) and/or pandoc-citeproc not available. Falling back to R Markdown v1.
    Loading required package: Matrix
    
     *** caught segfault ***
    address 8, cause 'memory not mapped'
    
    Traceback:
     1: .Call(svdLAS2_, dim(M), M@i, M@p, M@x, as.integer(rank), as.double(tol * c(-1, 1)), as.double(kappa))
     2: sparsesvd(M, rank = n)
     3: dsm.projection(VObj, method = "svd", n = 300)
     4: eval(expr, envir, enclos)
     5: eval(expr, envir, enclos)
     6: withVisible(eval(expr, envir, enclos))
     7: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)
     8: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler))
     9: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
    10: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, debug = debug, last = i == length(out), use_try = stop_on_error != 2L, keep_warning = keep_warning, keep_message = keep_message, output_handler = output_handler, include_timing = include_timing)
    11: evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options))
    12: in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options)))
    13: block_exec(params)
    14: call_block(x)
    15: process_group.block(group)
    16: process_group(group)
    17: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { setwd(wd) cat(res, sep = "\n", file = output %n% "") message("Quitting from lines ", paste(current_lines(i), collapse = "-"), " (", knit_concord$get("infile"), ") ") })
    18: process_file(text, output)
    19: knit(input, text = text, envir = envir, encoding = encoding, quiet = quiet)
    20: knit2html(..., force_v1 = TRUE)
    21: (if (grepl("\\.[Rr]md$", file)) knit2html_v1 else if (grepl("\\.[Rr]rst$", file)) knit2pandoc else knit)(file, encoding = encoding, quiet = quiet, envir = globalenv())
    22: vweave(...)
    23: engine$weave(file, quiet = quiet, encoding = enc)
    24: doTryCatch(return(expr), name, parentenv, handler)
    25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    26: tryCatchList(expr, classes, parentenv, handlers)
    27: tryCatch({ engine$weave(file, quiet = quiet, encoding = enc) setwd(startdir) find_vignette_product(name, by = "weave", engine = engine)}, error = function(e) { stop(gettextf("processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)), domain = NA, call. = FALSE)})
    28: buildVignettes(dir = "/home/ripley/R/packages/tests32/wordspace.Rcheck/vign_test/wordspace")
    An irrecoverable exception occurred. R is aborting now ...
Flavor: r-patched-solaris-sparc

Version: 0.2-0
Check: tests
Result: ERROR
     Running ‘dist_matrix.R’
     Running ‘dsm_projection.R’ [6s/17s]
     Running ‘dsm_score.R’
     Running ‘file_formats.R’
     Running ‘nearest_neighbours.R’
     Running ‘scale_margins.R’
     Running ‘subset.R’
    Running the tests in ‘tests/dsm_projection.R’ failed.
    Complete output:
     > ## Validate SVD and other latent subspace projections
     > ## based on small "hieroglyphs" example matrix
     >
     > library(wordspace)
     Loading required package: Matrix
     > library(Matrix)
     >
     > matrix.equal <- function(x, y, name="matrix comparison", tol=1e-12, ignore.sign=FALSE, verbose=TRUE) {
     + if (nrow(x) == nrow(y) && ncol(x) == ncol(y)) {
     + if (ignore.sign) {
     + ## sign of columns is arbitrary in SVD projection
     + max.diff.col.1 <- apply(abs(x - y), 2, max) # max diff in each column (same sign)
     + max.diff.col.2 <- apply(abs(x + y), 2, max) # max diff in each column (opposite sign)
     + max.diff <- max(pmin(max.diff.col.1, max.diff.col.2)) # pick smaller diff for each col, then take maximum
     + } else {
     + max.diff <- max(abs(x - y))
     + }
     + if (max.diff < tol) {
     + invisible(TRUE)
     + } else {
     + if (verbose) cat(sprintf("%s: largest difference between matrices = %g exceeds tolerance limit\n", name, max.diff))
     + invisible(FALSE)
     + }
     + } else {
     + if (verbose) cat(sprintf("%s: different matrix formats %d x %d != %d x %d\n", name, nrow(x), ncol(x), nrow(y), ncol(y)))
     + invisible(FALSE)
     + }
     + }
     >
     > dist.compare <- function (M1, M2, label="TODO", verbose=TRUE, method="euclidean", tol=0.3) { # tol = proportion of average distance (for matrix with larger distances)
     + stopifnot(nrow(M1) == nrow(M2))
     + nr <- nrow(M1)
     + M1 <- dist.matrix(M1, method=method)
     + M2 <- dist.matrix(M2, method=method)
     + n <- nr * (nr - 1)
     + sum1 <- sum(M1) / n
     + sum2 <- sum(M2) / n
     + d <- sqrt(sum((M1 - M2)^2) / n) # root mean squared difference
     + rel.error <- d / max(sum1, sum2)
     + if (verbose) cat(sprintf("%s: average difference = %.1f, relative error = %4.1f%%\n", label, d, 100 * rel.error))
     + if (rel.error > tol) stop("relative error exceeds tolerance limit")
     + invisible(rel.error)
     + }
     >
     > ## test data: sparse co-occurrence matrix in sparse and dense representation
     > O <- DSM_HieroglyphsMatrix
     > E <- outer(rowSums(O), colSums(O)) / sum(O)
     > M1 <- scale((O - E) / sqrt(E), center=TRUE, scale=FALSE) # z-score (signed), centered (so SVD projection == PCA)
     > M2 <- as(M1, "dgCMatrix") # force sparse matrix representation to test sparse algorithms
     >
     >
     > ## full-rank SVD decomposition
     > svd.R <- svd(M1, nu=6, nv=6)
     > proj.R <- svd.R$u %*% diag(svd.R$d) # projection into SVD space
     > approx.R <- proj.R %*% t(svd.R$v) # matrix approximation
     >
     > proj.ws <- dsm.projection(M1, method="svd", n=6, with.basis=TRUE)
     > approx.ws <- proj.ws %*% t(attr(proj.ws, "basis"))
     >
     > dist.compare(proj.R, M1, label="Full-rank SVD projection (R)", tol=.001)
     Full-rank SVD projection (R): average difference = 0.0, relative error = 0.0%
     > dist.compare(approx.R, M1, label="Full-rank SVD approximation (R)", tol=.001)
     Full-rank SVD approximation (R): average difference = 0.0, relative error = 0.0%
     > stopifnot(matrix.equal(approx.R, M1, tol=1e-6))
     >
     > dist.compare(proj.ws, M1, label="Full-rank SVD projection (R)", tol=.001)
     Full-rank SVD projection (R): average difference = 0.0, relative error = 0.0%
     > dist.compare(approx.ws, M1, label="Full-rank SVD approximation (R)", tol=.001)
     Full-rank SVD approximation (R): average difference = 0.0, relative error = 0.0%
     > stopifnot(matrix.equal(approx.ws, M2, tol=1e-6))
     >
     >
     > ## SVD projection
     > svd.R <- svd(M1, nu=3, nv=3)
     > proj.R <- svd.R$u %*% diag(svd.R$d[1:3]) # projection into SVD space
     > proj.ws <- dsm.projection(M1, method="svd", n=3)
     > proj.ws.sparse <- dsm.projection(M2, method="svd", n=3)
    
     *** caught segfault ***
     address 6, cause 'memory not mapped'
    
     Traceback:
     1: .Call(svdLAS2_, dim(M), M@i, M@p, M@x, as.integer(rank), as.double(tol * c(-1, 1)), as.double(kappa))
     2: sparsesvd(M, rank = n)
     3: dsm.projection(M2, method = "svd", n = 3)
     An irrecoverable exception occurred. R is aborting now ...
Flavor: r-patched-solaris-x86

Version: 0.2-0
Check: re-building of vignette outputs
Result: WARN
    Error in re-building vignettes:
     ...
    Warning in engine$weave(file, quiet = quiet, encoding = enc) :
     Pandoc (>= 1.12.3) and/or pandoc-citeproc not available. Falling back to R Markdown v1.
    Loading required package: Matrix
    
     *** caught segfault ***
    address 85b, cause 'memory not mapped'
    
    Traceback:
     1: .Call(svdLAS2_, dim(M), M@i, M@p, M@x, as.integer(rank), as.double(tol * c(-1, 1)), as.double(kappa))
     2: sparsesvd(M, rank = n)
     3: dsm.projection(VObj, method = "svd", n = 300)
     4: eval(expr, envir, enclos)
     5: eval(expr, envir, enclos)
     6: withVisible(eval(expr, envir, enclos))
     7: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)
     8: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler))
     9: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
    10: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, debug = debug, last = i == length(out), use_try = stop_on_error != 2L, keep_warning = keep_warning, keep_message = keep_message, output_handler = output_handler, include_timing = include_timing)
    11: evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options))
    12: in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options)))
    13: block_exec(params)
    14: call_block(x)
    15: process_group.block(group)
    16: process_group(group)
    17: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { setwd(wd) cat(res, sep = "\n", file = output %n% "") message("Quitting from lines ", paste(current_lines(i), collapse = "-"), " (", knit_concord$get("infile"), ") ") })
    18: process_file(text, output)
    19: knit(input, text = text, envir = envir, encoding = encoding, quiet = quiet)
    20: knit2html(..., force_v1 = TRUE)
    21: (if (grepl("\\.[Rr]md$", file)) knit2html_v1 else if (grepl("\\.[Rr]rst$", file)) knit2pandoc else knit)(file, encoding = encoding, quiet = quiet, envir = globalenv())
    22: vweave(...)
    23: engine$weave(file, quiet = quiet, encoding = enc)
    24: doTryCatch(return(expr), name, parentenv, handler)
    25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    26: tryCatchList(expr, classes, parentenv, handlers)
    27: tryCatch({ engine$weave(file, quiet = quiet, encoding = enc) setwd(startdir) find_vignette_product(name, by = "weave", engine = engine)}, error = function(e) { stop(gettextf("processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)), domain = NA, call. = FALSE)})
    28: buildVignettes(dir = "/home/ripley/R/packages/tests32/wordspace.Rcheck/vign_test/wordspace")
    An irrecoverable exception occurred. R is aborting now ...
Flavor: r-patched-solaris-x86