Skip to content

elastes

Elastic Full Procrustes Means for Sparse and Irregular Planar Curves

v0.1.7 · Aug 21, 2023 · GPL (>= 3)

Description

Provides functions for the computation of functional elastic shape means over sets of open planar curves. The package is particularly suitable for settings where these curves are only sparsely and irregularly observed. It uses a novel approach for elastic shape mean estimation, where planar curves are treated as complex functions and a full Procrustes mean is estimated from the corresponding smoothed Hermitian covariance surface. This is combined with the methods for elastic mean estimation proposed in Steyer, Stöcker, Greven (2022) <doi:10.1111/biom.13706>. See Stöcker et. al. (2022) <arXiv:2203.10522> for details.

Downloads

167

Last 30 days

19973rd

167

Last 90 days

167

Last year

CRAN Check Status

1 ERROR
13 NOTE
Show all 14 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang NOTE
r-devel-linux-x86_64-debian-gcc NOTE
r-devel-linux-x86_64-fedora-clang NOTE
r-devel-linux-x86_64-fedora-gcc NOTE
r-devel-macos-arm64 ERROR
r-devel-windows-x86_64 NOTE
r-oldrel-macos-arm64 NOTE
r-oldrel-macos-x86_64 NOTE
r-oldrel-windows-x86_64 NOTE
r-patched-linux-x86_64 NOTE
r-release-linux-x86_64 NOTE
r-release-macos-arm64 NOTE
r-release-macos-x86_64 NOTE
r-release-windows-x86_64 NOTE
Check details (19 non-OK)
NOTE r-devel-linux-x86_64-debian-clang

CRAN incoming feasibility

Maintainer: ‘Manuel Pfeuffer <manuel.pfeuffer@hu-berlin.de>’

The Description field contains
  <doi:10.1111/biom.13706>. See Stöcker et. al. (2022) <arXiv:2203.10522>
Please refer to arXiv e-prints via their arXiv DOI <doi:10.48550/arXiv.YYMM.NNNNN>.
NOTE r-devel-linux-x86_64-debian-clang

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-devel-linux-x86_64-debian-gcc

CRAN incoming feasibility

Maintainer: ‘Manuel Pfeuffer <manuel.pfeuffer@hu-berlin.de>’

The Description field contains
  <doi:10.1111/biom.13706>. See Stöcker et. al. (2022) <arXiv:2203.10522>
Please refer to arXiv e-prints via their arXiv DOI <doi:10.48550/arXiv.YYMM.NNNNN>.
NOTE r-devel-linux-x86_64-debian-gcc

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-devel-linux-x86_64-fedora-clang

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-devel-linux-x86_64-fedora-gcc

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-devel-macos-arm64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
ERROR r-devel-macos-arm64

examples

Running examples in ‘elastes-Ex.R’ failed
The error most likely occurred in:

> ### Name: compute_elastic_shape_mean
> ### Title: Compute an elastic full Procrustes mean for a collection of
> ###   curves
> ### Aliases: compute_elastic_shape_mean
> 
> ### ** Examples
> 
> curve <- function(t){
+   rbind(t*cos(13*t), t*sin(13*t))
+ }
> set.seed(18)
> data_curves <- lapply(1:4, function(i){
+   m <- sample(10:15, 1)
+   delta <- abs(rnorm(m, mean = 1, sd = 0.05))
+   t <- cumsum(delta)/sum(delta)
+   data.frame(t(curve(t)) + 0.07*t*matrix(cumsum(rnorm(2*length(delta))),
+              ncol = 2))
+ })
> 
> #randomly rotate and scale curves
> rand_scale <- function(curve){ ( 0.5 + runif(1) ) * curve }
> rand_rotate <- function(curve){
+   names <- colnames(curve)
+   theta <- 2*pi*runif(1)
+   mat <- matrix(c(cos(theta), sin(theta), -sin(theta), cos(theta)), nrow = 2, ncol = 2)
+   curve.rot <- as.matrix(curve) %*% t(mat)
+   curve.rot <- as.data.frame(curve.rot)
+   colnames(curve.rot) <- names
+   return(curve.rot)
+ }
> data_curves <- lapply(data_curves, rand_scale)
> data_curves <- lapply(data_curves, rand_rotate)
> 
> #compute smooth procrustes mean with 2 order penalty
> knots <- seq(0,1, length = 11)
> elastic_shape_mean <- compute_elastic_shape_mean(
+     data_curves,
+     knots = knots,
+     type = "smooth",
+     penalty = 2
+     )

 *** caught segfault ***
address 0x1, cause 'invalid permissions'

Traceback:
 1: eigen(t(L.inv) %*% beta.mat %*% L.inv)
 2: fit_mean(srv_data_curves = srv_data_curves, knots = knots, type = type,     penalty = penalty, var_type = var_type, pfit_method = pfit_method,     max_iter = max_iter, eps = eps, verbose = verbose, cluster = cluster,     smooth_warp = smooth_warp)
 3: compute_elastic_shape_mean(data_curves, knots = knots, type = "smooth",     penalty = 2)
An irrecoverable exception occurred. R is aborting now ...
ERROR r-devel-macos-arm64

re-building of vignette outputs

Error(s) in re-building vignettes:
--- re-building ‘elastes.Rmd’ using rmarkdown

 *** caught segfault ***
address 0x1, cause 'invalid permissions'

Traceback:
 1: eigen(t(L.inv) %*% beta.mat %*% L.inv)
 2: fit_mean(srv_data_curves = srv_data_curves, knots = knots, type = type,     penalty = penalty, var_type = var_type, pfit_method = pfit_method,     max_iter = max_iter, eps = eps, verbose = verbose, cluster = cluster,     smooth_warp = smooth_warp)
 3: compute_elastic_shape_mean(digit3, knots = seq(0, 1, length = 11),     type = "smooth")
 4: eval(expr, envir)
 5: eval(expr, envir)
 6: withVisible(eval(expr, envir))
 7: withCallingHandlers(code, error = function (e) rlang::entrace(e), message = function (cnd) {    watcher$capture_plot_and_output()    if (on_message$capture) {        watcher$push(cnd)    }    if (on_message$silence) {        invokeRestart("muffleMessage")    }}, warning = function (cnd) {    if (getOption("warn") >= 2 || getOption("warn") < 0) {        return()    }    watcher$capture_plot_and_output()    if (on_warning$capture) {        cnd <- sanitize_call(cnd)        watcher$push(cnd)    }    if (on_warning$silence) {        invokeRestart("muffleWarning")    }}, error = function (cnd) {    watcher$capture_plot_and_output()    cnd <- sanitize_call(cnd)    watcher$push(cnd)    switch(on_error, continue = invokeRestart("eval_continue"),         stop = invokeRestart("eval_stop"), error = NULL)})
 8: eval(call)
 9: eval(call)
10: with_handlers({    for (expr in tle$exprs) {        ev <- withVisible(eval(expr, envir))        watcher$capture_plot_and_output()        watcher$print_value(ev$value, ev$visible, envir)    }    TRUE}, handlers)
11: doWithOneRestart(return(expr), restart)
12: withOneRestart(expr, restarts[[1L]])
13: withRestartList(expr, restarts[-nr])
14: doWithOneRestart(return(expr), restart)
15: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]])
16: withRestartList(expr, restarts)
17: withRestarts(with_handlers({    for (expr in tle$exprs) {        ev <- withVisible(eval(expr, envir))        watcher$capture_plot_and_output()        watcher$print_value(ev$value, ev$visible, envir)    }    TRUE}, handlers), eval_continue = function() TRUE, eval_stop = function() FALSE)
18: evaluate::evaluate(...)
19: evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning,     keep_message = if (is.numeric(options$message)) TRUE else options$message,     stop_on_error = if (is.numeric(options$error)) options$error else {        if (options$error && options$include)             0L        else 2L    }, output_handler = knit_handlers(options$render, options))
20: in_dir(input_dir(), expr)
21: in_input_dir(evaluate(code, envir = env, new_device = FALSE,     keep_warning = if (is.numeric(options$warning)) TRUE else options$warning,     keep_message = if (is.numeric(options$message)) TRUE else options$message,     stop_on_error = if (is.numeric(options$error)) options$error else {        if (options$error && options$include)             0L        else 2L    }, output_handler = knit_handlers(options$render, options)))
22: eng_r(options)
23: block_exec(params)
24: call_block(x)
25: process_group(group)
26: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group),     error = function(e) {        if (progress && is.function(pb$interrupt))             pb$interrupt()        if (is_R_CMD_build() || is_R_CMD_check())             error <<- format(e)    })
27: with_options(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group),     error = function(e) {        if (progress && is.function(pb$interrupt))             pb$interrupt()        if (is_R_CMD_build() || is_R_CMD_check())             error <<- format(e)    }), list(rlang_trace_top_env = knit_global()))
28: xfun:::handle_error(with_options(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group),     error = function(e) {        if (progress && is.function(pb$interrupt))             pb$interrupt()        if (is_R_CMD_build() || is_R_CMD_check())             error <<- format(e)    }), list(rlang_trace_top_env = knit_global())), function(loc) {    setwd(wd)    write_utf8(res, output %n% stdout())    paste0("\nQuitting from ", loc, if (!is.null(error))         paste0("\n", rule(), error, "\n", rule()))}, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc)
29: process_file(text, output)
30: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
31: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(),     output_dir = getwd(), ...)
32: vweave_rmarkdown(...)
33: engine$weave(file, quiet = quiet, encoding = enc)
34: doTryCatch(return(expr), name, parentenv, handler)
35: tryCatchOne(expr, names, parentenv, handlers[[1L]])
36: tryCatchList(expr, classes, parentenv, handlers)
37: tryCatch({    engine$weave(file, quiet = quiet, encoding = enc)    setwd(startdir)    output <- find_vignette_product(name, by = "weave", engine = engine)    if (!have.makefile && vignette_is_tex(output)) {        texi2pdf(file = output, clean = FALSE, quiet = quiet)        output <- find_vignette_product(name, by = "texi2pdf",             engine = engine)    }    outputs <- c(outputs, output)}, error = function(e) {    thisOK <<- FALSE    fails <<- c(fails, file)    message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s",         file, conditionMessage(e)))})
38: tools::buildVignettes(dir = "/Volumes/Builds/packages/sonoma-arm64/results/4.6/elastes.Rcheck/vign_test/elastes",     skip = TRUE, ser_elibs = "/Volumes/Temp/tmp/RtmpsL5q2S/file1405733ccfd64.rds")
An irrecoverable exception occurred. R is aborting now ...
ERROR r-devel-macos-arm64

tests

  Running ‘testthat.R’ [2s/1s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(elastes)
  > 
  > test_check("elastes")
  
   *** caught segfault ***
  address 0x1, cause 'invalid permissions'
  
  Traceback:
   1: eigen(t(L.inv) %*% beta.mat %*% L.inv)
   2: fit_mean(srv_data_curves = srv_data_curves, knots = knots, type = type,     penalty = penalty, var_type = var_type, pfit_method = pfit_method,     max_iter = max_iter, eps = eps, verbose = verbose, cluster = cluster,     smooth_warp = smooth_warp)
   3: compute_elastic_shape_mean(data_curves)
   4: eval(code, test_env)
   5: eval(code, test_env)
   6: withCallingHandlers({    eval(code, test_env)    new_expectations <- the$test_expectations > starting_expectations    if (snapshot_skipped) {        skip("On CRAN")    }    else if (!new_expectations && skip_on_empty) {        skip_empty()    }}, expectation = handle_expectation, packageNotFoundError = function(e) {    if (on_cran()) {        skip(paste0("{", e$package, "} is not installed."))    }}, snapshot_on_cran = function(cnd) {    snapshot_skipped <<- TRUE    invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message,     error = handle_error, interrupt = handle_interrupt)
   7: doTryCatch(return(expr), name, parentenv, handler)
   8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
   9: tryCatchList(expr, classes, parentenv, handlers)
  10: tryCatch(withCallingHandlers({    eval(code, test_env)    new_expectations <- the$test_expectations > starting_expectations    if (snapshot_skipped) {        skip("On CRAN")    }    else if (!new_expectations && skip_on_empty) {        skip_empty()    }}, expectation = handle_expectation, packageNotFoundError = function(e) {    if (on_cran()) {        skip(paste0("{", e$package, "} is not installed."))    }}, snapshot_on_cran = function(cnd) {    snapshot_skipped <<- TRUE    invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message,     error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
  11: doWithOneRestart(return(expr), restart)
  12: withOneRestart(expr, restarts[[1L]])
  13: withRestarts(tryCatch(withCallingHandlers({    eval(code, test_env)    new_expectations <- the$test_expectations > starting_expectations    if (snapshot_skipped) {        skip("On CRAN")    }    else if (!new_expectations && skip_on_empty) {        skip_empty()    }}, expectation = handle_expectation, packageNotFoundError = function(e) {    if (on_cran()) {        skip(paste0("{", e$package, "} is not installed."))    }}, snapshot_on_cran = function(cnd) {    snapshot_skipped <<- TRUE    invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message,     error = handle_error, interrupt = handle_interrupt), error = handle_fatal),     end_test = function() {    })
  14: test_code(code, parent.frame())
  15: test_that("Test computed variance and distances in [0,1]", {    mean <- compute_elastic_shape_mean(data_curves)    expect_gt(mean$variance, 0)    expect_lte(mean$variance, 1)    for (d in mean$distances) {        expect_gte(d, 0)        expect_lte(d, 1)    }})
  16: eval(code, test_env)
  17: eval(code, test_env)
  18: withCallingHandlers({    eval(code, test_env)    new_expectations <- the$test_expectations > starting_expectations    if (snapshot_skipped) {        skip("On CRAN")    }    else if (!new_expectations && skip_on_empty) {        skip_empty()    }}, expectation = handle_expectation, packageNotFoundError = function(e) {    if (on_cran()) {        skip(paste0("{", e$package, "} is not installed."))    }}, snapshot_on_cran = function(cnd) {    snapshot_skipped <<- TRUE    invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message,     error = handle_error, interrupt = handle_interrupt)
  19: doTryCatch(return(expr), name, parentenv, handler)
  20: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  21: tryCatchList(expr, classes, parentenv, handlers)
  22: tryCatch(withCallingHandlers({    eval(code, test_env)    new_expectations <- the$test_expectations > starting_expectations    if (snapshot_skipped) {        skip("On CRAN")    }    else if (!new_expectations && skip_on_empty) {        skip_empty()    }}, expectation = handle_expectation, packageNotFoundError = function(e) {    if (on_cran()) {        skip(paste0("{", e$package, "} is not installed."))    }}, snapshot_on_cran = function(cnd) {    snapshot_skipped <<- TRUE    invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message,     error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
  23: doWithOneRestart(return(expr), restart)
  24: withOneRestart(expr, restarts[[1L]])
  25: withRestarts(tryCatch(withCallingHandlers({    eval(code, test_env)    new_expectations <- the$test_expectations > starting_expectations    if (snapshot_skipped) {        skip("On CRAN")    }    else if (!new_expectations && skip_on_empty) {        skip_empty()    }}, expectation = handle_expectation, packageNotFoundError = function(e) {    if (on_cran()) {        skip(paste0("{", e$package, "} is not installed."))    }}, snapshot_on_cran = function(cnd) {    snapshot_skipped <<- TRUE    invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message,     error = handle_error, interrupt = handle_interrupt), error = handle_fatal),     end_test = function() {    })
  26: test_code(code = exprs, env = env, reporter = get_reporter() %||%     StopReporter$new())
  27: source_file(path, env = env(env), desc = desc, shuffle = shuffle,     error_call = error_call)
  28: FUN(X[[i]], ...)
  29: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle,     error_call = error_call)
  30: doTryCatch(return(expr), name, parentenv, handler)
  31: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  32: tryCatchList(expr, classes, parentenv, handlers)
  33: tryCatch(code, testthat_abort_reporter = function(cnd) {    cat(conditionMessage(cnd), "\n")    NULL})
  34: with_reporter(reporters$multi, lapply(test_paths, test_one_file,     env = env, desc = desc, shuffle = shuffle, error_call = error_call))
  35: test_files_serial(test_dir = test_dir, test_package = test_package,     test_paths = test_paths, load_helpers = load_helpers, reporter = reporter,     env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,     desc = desc, load_package = load_package, shuffle = shuffle,     error_call = error_call)
  36: test_files(test_dir = path, test_paths = test_paths, test_package = package,     reporter = reporter, load_helpers = load_helpers, env = env,     stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,     load_package = load_package, parallel = parallel, shuffle = shuffle)
  37: test_dir("testthat", package = package, reporter = reporter,     ..., load_package = "installed")
  38: test_check("elastes")
  An irrecoverable exception occurred. R is aborting now ...
NOTE r-devel-windows-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-oldrel-macos-arm64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-oldrel-macos-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-oldrel-windows-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-patched-linux-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-release-linux-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-release-macos-arm64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-release-macos-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^
NOTE r-release-windows-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost braces
    58 | \code{n_iter}{number of iterations until convergence}
       |              ^

Check History

ERROR 0 OK · 13 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Mar 9, 2026
NOTE r-devel-linux-x86_64-debian-clang

CRAN incoming feasibility

Maintainer: ‘Manuel Pfeuffer <manuel.pfeuffer@hu-berlin.de>’

The Description field contains
  <doi:10.1111/biom.13706>. See Stöcker et. al. (2022) <arXiv:2203.10522>
Please refer to arXiv e-prints via their arXiv DOI <doi:10.48550/arXiv.YYMM.NNNNN>.
NOTE r-devel-linux-x86_64-debian-gcc

CRAN incoming feasibility

Maintainer: ‘Manuel Pfeuffer <manuel.pfeuffer@hu-berlin.de>’

The Description field contains
  <doi:10.1111/biom.13706>. See Stöcker et. al. (2022) <arXiv:2203.10522>
Please refer to arXiv e-prints via their arXiv DOI <doi:10.48550/arXiv.YYMM.NNNNN>.
NOTE r-devel-linux-x86_64-fedora-clang

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
NOTE r-devel-linux-x86_64-fedora-gcc

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
ERROR r-devel-macos-arm64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
NOTE r-devel-windows-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
NOTE r-patched-linux-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
NOTE r-release-linux-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
NOTE r-release-macos-arm64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
NOTE r-release-macos-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
NOTE r-release-windows-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
NOTE r-oldrel-macos-arm64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
NOTE r-oldrel-macos-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac
NOTE r-oldrel-windows-x86_64

Rd files

checkRd: (-1) fit_mean.Rd:54: Lost braces
    54 | \code{t_optims}{optimal parametrizations}
       |                ^
checkRd: (-1) fit_mean.Rd:55: Lost braces
    55 | \code{G_optims}{optimal rotations}
       |                ^
checkRd: (-1) fit_mean.Rd:56: Lost braces
    56 | \code{b_optims}{optimal scalings}
       |                ^
checkRd: (-1) fit_mean.Rd:57: Lost braces
    57 | \code{n_optims}{optimal re-normalization}
       |                ^
checkRd: (-1) fit_mean.Rd:58: Lost brac

Dependency Network

Dependencies Reverse dependencies elasdics mgcv sparseFLMM orthogonalsplinebasis elastes

Version History

new 0.1.7 Mar 9, 2026