diff --git a/DESCRIPTION b/DESCRIPTION index b9cbdef..9733733 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ -Package: dv.biomarker.general +Package: dv.explorer.parameter Type: Package -Title: Biomarker Visualization Modules -Version: 0.0.4-900 +Title: Parameter exploration modules +Version: 0.0.5 Authors@R: c( person("Boehringer-Ingelheim Pharma GmbH & Co.KG", role = c("cph", "fnd")), person(given = "Luis", family = "Moris Fernandez", role = c("aut", "cre"), email = "luis.moris.fernandez@gmail.com"), diff --git a/NEWS.md b/NEWS.md index 53548da..b1df3c5 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,9 @@ +# dv.explorer.parameter 0.0.5 + +* First Github release +* Renamed to dv.explorer.parameter + + # dv.biomarker.general 0.0.4 * Correlation heatmap: diff --git a/R/archived/mock_volcano.Rback b/R/archived/mock_volcano.Rback index 6fe8b07..6a610a2 100644 --- a/R/archived/mock_volcano.Rback +++ b/R/archived/mock_volcano.Rback @@ -34,7 +34,7 @@ mock_app_volcano <- function(in_fluid = TRUE, defaults = list()) { mock_app_volcano_mm <- function() { module_list <- list( - "Volcano" = dv.biomarker.general::mod_volcano( + "Volcano" = dv.explorer.parameter::mod_volcano( module_id = "vp", bm_disp = dv.manager::mm_dispatch("filtered_dataset", "bm"), group_disp = dv.manager::mm_dispatch("filtered_dataset", "sl"), diff --git a/R/html_deps.R b/R/html_deps.R deleted file mode 100644 index 931de11..0000000 --- a/R/html_deps.R +++ /dev/null @@ -1,10 +0,0 @@ -roc_dependencies <- function() { - htmltools::htmlDependency( - name = "dv.biomarker.general", - version = "1.0", - package = "dv.biomarker.general", - src = "assets", - stylesheet = "css/bp.css", - all_files = FALSE - ) -} diff --git a/R/imod_bar_plot_d3.R b/R/imod_bar_plot_d3.R index 586ef3a..0c7ad03 100644 --- a/R/imod_bar_plot_d3.R +++ b/R/imod_bar_plot_d3.R @@ -330,7 +330,7 @@ bar_D3 <- function(data, # nolintr r2d3::r2d3( data = data, - script = system.file("www/dist/d3_barplot.js", package = "dv.biomarker.general", mustWork = TRUE), + script = system.file("www/dist/d3_barplot.js", package = "dv.explorer.parameter", mustWork = TRUE), options = list( parent = parent_id, x_axis = x_axis, y_axis = y_axis, z_axis = z_axis, diff --git a/R/imod_heatmap_plot_d3.R b/R/imod_heatmap_plot_d3.R index bad27e8..cb97b32 100644 --- a/R/imod_heatmap_plot_d3.R +++ b/R/imod_heatmap_plot_d3.R @@ -344,7 +344,7 @@ heatmap_plot_d3 <- function(data, r2d3::r2d3( data = data, - script = system.file("www/dist/d3_heatmap.js", package = "dv.biomarker.general", mustWork = TRUE), + script = system.file("www/dist/d3_heatmap.js", package = "dv.explorer.parameter", mustWork = TRUE), options = list( parent = parent_id, x_axis = x_axis, y_axis = y_axis, z_axis = z_axis, diff --git a/R/mock_boxplot.R b/R/mock_boxplot.R index d0fb2c8..08b5d5c 100644 --- a/R/mock_boxplot.R +++ b/R/mock_boxplot.R @@ -67,7 +67,7 @@ mock_app_boxplot_mm <- function(update_query_string = TRUE) { bm_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "bm"), group_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "adsl"), visit_var = "VISIT", - value_var = c("VALUE1", "VALUE2"), + value_vars = c("VALUE1", "VALUE2"), subjid_var = "SUBJID", cat_var = "PARCAT" ) diff --git a/R/mock_corr_hm.R b/R/mock_corr_hm.R index 2d9972a..20b0b04 100644 --- a/R/mock_corr_hm.R +++ b/R/mock_corr_hm.R @@ -52,7 +52,7 @@ mock_app_correlation_hm_mm <- function() { } module_list <- list( - "correlation heatmap" = dv.biomarker.general::mod_corr_hm( + "correlation heatmap" = dv.explorer.parameter::mod_corr_hm( module_id = "corr_hm", bm_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "bm"), visit_var = "VISIT", @@ -78,7 +78,7 @@ mock_app_correlation_hm_mm_safetyData <- function() { # nolint } module_list <- list( - "correlation heatmap" = dv.biomarker.general::mod_corr_hm( + "correlation heatmap" = dv.explorer.parameter::mod_corr_hm( module_id = "corr_hm", bm_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "bm"), visit_var = "VISIT", diff --git a/R/mock_forest.R b/R/mock_forest.R index 1ff8c48..d0a0ab2 100644 --- a/R/mock_forest.R +++ b/R/mock_forest.R @@ -66,7 +66,7 @@ mock_app_forest_mm <- function() { numeric_factor_functions <- list("Odds Ratio" = odds_ratio) module_list <- list( - "forest" = dv.biomarker.general::mod_forest( + "forest" = dv.explorer.parameter::mod_forest( module_id = "forest", bm_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "bm"), group_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "sl"), diff --git a/R/mock_lineplot.R b/R/mock_lineplot.R index 202d593..f3b21ce 100644 --- a/R/mock_lineplot.R +++ b/R/mock_lineplot.R @@ -132,7 +132,7 @@ mock_app_lineplot_mm <- function() { stop("Install dv.manager") } module_list <- list( - "lineplot" = dv.biomarker.general::mod_lineplot( + "lineplot" = dv.explorer.parameter::mod_lineplot( module_id = "lineplot", bm_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "bm"), group_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "sl"), @@ -160,7 +160,7 @@ mock_app_lineplot_mm_safetyData <- function() { # nolint } module_list <- list( - "lineplot" = dv.biomarker.general::mod_lineplot( + "lineplot" = dv.explorer.parameter::mod_lineplot( module_id = "lineplot", bm_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "bm"), group_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "sl"), diff --git a/R/mock_safetyData.R b/R/mock_safetyData.R index c009826..293afee 100644 --- a/R/mock_safetyData.R +++ b/R/mock_safetyData.R @@ -9,14 +9,14 @@ safety_data <- function() { avisitn_mask <- is.finite(adlb[["AVISITN"]]) & adlb[["AVISITN"]] < 99 adlb <- adlb[avisitn_mask, ] - adsl_labels <- dv.biomarker.general::get_lbls_robust(adsl) - adlb_labels <- dv.biomarker.general::get_lbls_robust(adlb) + adsl_labels <- dv.explorer.parameter::get_lbls_robust(adsl) + adlb_labels <- dv.explorer.parameter::get_lbls_robust(adlb) adsl <- adsl |> dplyr::mutate( dplyr::across(dplyr::where(is.character), factor) ) |> - dv.biomarker.general::set_lbls(adsl_labels) + dv.explorer.parameter::set_lbls(adsl_labels) visits_ <- unique(adlb[c("AVISITN", "VISIT")]) visits <- visits_[order(visits_[["AVISITN"]]), ][["VISIT"]] @@ -26,7 +26,7 @@ safety_data <- function() { dplyr::mutate( dplyr::across(dplyr::where(is.character), factor) ) |> - dv.biomarker.general::set_lbls(adlb_labels) + dv.explorer.parameter::set_lbls(adlb_labels) list(sl = adsl, bm = adlb) } diff --git a/R/mock_scatter.R b/R/mock_scatter.R index 53730e0..b7426da 100644 --- a/R/mock_scatter.R +++ b/R/mock_scatter.R @@ -63,7 +63,7 @@ mock_app_scatterplot_mm <- function(in_fluid = TRUE, defaults = list(), update_q bm_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "bm"), group_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "adsl"), visit_var = "VISIT", - value_var = c("VALUE1", "VALUE2"), + value_vars = c("VALUE1", "VALUE2"), subjid_var = "SUBJID", cat_var = "PARCAT" ) diff --git a/R/mock_scatter_matrix.R b/R/mock_scatter_matrix.R index 278c783..0b7ee29 100644 --- a/R/mock_scatter_matrix.R +++ b/R/mock_scatter_matrix.R @@ -63,7 +63,7 @@ mock_app_scatterplotmatrix_mm <- function(in_fluid = TRUE, defaults = list(), up bm_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "bm"), group_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "adsl"), visit_var = "VISIT", - value_var = c("VALUE1", "VALUE2"), + value_vars = c("VALUE1", "VALUE2"), subjid_var = "SUBJID", cat_var = "PARCAT" ) diff --git a/R/mock_wfphm.R b/R/mock_wfphm.R index e8fb34d..0ed1897 100644 --- a/R/mock_wfphm.R +++ b/R/mock_wfphm.R @@ -24,7 +24,7 @@ mock_wfphm_mm_app <- function() { }), cat_var = "PARCAT", visit_var = "VISIT", - value_var = c("VALUE1", "VALUE2"), + value_vars = c("VALUE1", "VALUE2"), module_id = "mod_WF" ) ), diff --git a/R/mod_boxplot.R b/R/mod_boxplot.R index b44b0e4..7acc3f0 100644 --- a/R/mod_boxplot.R +++ b/R/mod_boxplot.R @@ -718,6 +718,8 @@ boxplot_server <- function(id, #' #' @param receiver_id Name of the tab containing the receiver module #' +#' @param ... Same set of parameters as [mod_boxplot] +#' #' @keywords main #' #' diff --git a/R/mod_corr_hm.R b/R/mod_corr_hm.R index 346c254..cdf3391 100644 --- a/R/mod_corr_hm.R +++ b/R/mod_corr_hm.R @@ -693,9 +693,9 @@ corr_hm_server <- function(id, corr_fun <- NULL if (method == CH_ID$CORR_METHOD_PEARSON) { - corr_fun <- dv.biomarker.general::pearson_correlation + corr_fun <- dv.explorer.parameter::pearson_correlation } else { - if (method == CH_ID$CORR_METHOD_SPEARMAN) corr_fun <- dv.biomarker.general::spearman_correlation + if (method == CH_ID$CORR_METHOD_SPEARMAN) corr_fun <- dv.explorer.parameter::spearman_correlation } shiny::req(corr_fun) corr_fun <- corr_fun diff --git a/R/mod_forest.R b/R/mod_forest.R index 63c257b..f335d0e 100644 --- a/R/mod_forest.R +++ b/R/mod_forest.R @@ -505,9 +505,9 @@ gen_result_table_fun <- strict(gen_result_table_fun_) #' The values returned by the functions are be captured on the output table and are also displayed #' as part of the forest plot. #' -#' `numeric_numeric_functions` take two numeric parameters (e.g. `dv.biomarker.general::pearson_correlation`) +#' `numeric_numeric_functions` take two numeric parameters (e.g. `dv.explorer.parameter::pearson_correlation`) #' and `numeric_factor_functions` should accept a numeric first parameter and a categorical (factor) second parameter -#' (e.g. `dv.biomarker.general::odds_ratio`). +#' (e.g. `dv.explorer.parameter::odds_ratio`). #' #' @param subjid_var `[character(1)]` #' diff --git a/R/mod_lineplot.R b/R/mod_lineplot.R index abbadbe..ba6cfc9 100644 --- a/R/mod_lineplot.R +++ b/R/mod_lineplot.R @@ -1401,9 +1401,6 @@ lineplot_server <- function(id, # nolint cyclomatic #' Name of the module receiving the selected subject ID in the single subject listing. The name must be present in #' the module list or NULL. #' -#' @param ... -#' -#' Parameters passed to [lineplot_server] #' #' @name mod_lineplot #' diff --git a/R/mod_roc.R b/R/mod_roc.R index e13ef1e..d0a53ef 100644 --- a/R/mod_roc.R +++ b/R/mod_roc.R @@ -4,7 +4,7 @@ poc <- pack_of_constants # nocov start -# dv.biomarker.general +# dv.explorer.parameter # IDs @@ -1198,7 +1198,7 @@ test_one_cat_per_par <- function(ds, cat_col, par_col) { #' #' @description #' -#' This functions prepares the basic input for the rest of dv.biomarker.general functions. +#' This functions prepares the basic input for the rest of dv.explorer.parameter functions. #' #' #' It subsets and joins the datasets based on the predictor/response category/parameter/visit and group selections. @@ -4214,9 +4214,9 @@ parse_ci <- function(str) { roc_dependencies <- function() { htmltools::htmlDependency( - name = "dv.biomarker.general", + name = "dv.explorer.parameter", version = "1.0", - package = "dv.biomarker.general", + package = "dv.explorer.parameter", src = "assets", stylesheet = "css/roc.css", all_files = FALSE @@ -4619,7 +4619,7 @@ mock_roc_mm_app <- function(adbm = test_roc_data()[["adbm"]], ) ), module_list = list( - "ROC" = dv.biomarker.general::mod_roc( + "ROC" = dv.explorer.parameter::mod_roc( module_id = "mod_roc", pred_dataset_name = "adbm", resp_dataset_disp = dv.manager::mm_dispatch("filtered_dataset", "adbin"), @@ -4641,12 +4641,12 @@ mock_roc_mm_app <- function(adbm = test_roc_data()[["adbm"]], mock_roc_app <- function() { ui <- function(request) { shiny::fluidPage( - dv.biomarker.general::roc_UI("roc") + dv.explorer.parameter::roc_UI("roc") ) } server <- function(input, output, session) { - dv.biomarker.general::roc_server( + dv.explorer.parameter::roc_server( id = "roc", pred_dataset = shiny::reactive(test_roc_data()[["adbm"]]), resp_dataset = shiny::reactive(test_roc_data()[["adbin"]]), @@ -4684,7 +4684,7 @@ mock_roc_app_file_upload <- function() { multiple = FALSE, accept = c(".rda") ), - dv.biomarker.general::roc_UI("roc") + dv.explorer.parameter::roc_UI("roc") ) } @@ -4719,7 +4719,7 @@ mock_roc_app_file_upload <- function() { proceed(shiny::isolate(proceed() + 1)) }) - dv.biomarker.general::roc_server( + dv.explorer.parameter::roc_server( id = "roc", dataset_name = shiny::reactive(proceed()), pred_dataset = adbm, diff --git a/R/mod_wfphm.R b/R/mod_wfphm.R index b5a5570..f848ec8 100644 --- a/R/mod_wfphm.R +++ b/R/mod_wfphm.R @@ -2263,8 +2263,6 @@ tr_mapper_def <- function() { #' Dataset dispatcher. This parameter is incompatible with its `bm_dataset_name`/`group_dataset_name` counterpart. #' Only for advanced use. #' -#' @param dataset_disp DEPRECATED -#' #' @export mod_wfphm <- function( module_id, bm_dataset_name, group_dataset_name, diff --git a/R/utils-selectors.R b/R/utils-selectors.R index 328a7ae..a6b4291 100644 --- a/R/utils-selectors.R +++ b/R/utils-selectors.R @@ -404,7 +404,7 @@ add_warning_mark_dependency <- function() { htmltools::htmlDependency( "warning_mark_lib", "0.1", - src = system.file("warning_mark_lib", package = "dv.biomarker.general", mustWork = TRUE), + src = system.file("warning_mark_lib", package = "dv.explorer.parameter", mustWork = TRUE), script = "warning_mark.js", stylesheet = "warning_mark.css" ) @@ -414,7 +414,7 @@ add_top_menu_dependency <- function() { htmltools::htmlDependency( "top_menu", "0.1", - src = system.file("assets/css", package = "dv.biomarker.general", mustWork = TRUE), + src = system.file("assets/css", package = "dv.explorer.parameter", mustWork = TRUE), stylesheet = "top_menu.css" ) } diff --git a/R/html_dependencies.R b/R/utils_html_dependencies.R similarity index 50% rename from R/html_dependencies.R rename to R/utils_html_dependencies.R index 4f3df39..e2ef047 100644 --- a/R/html_dependencies.R +++ b/R/utils_html_dependencies.R @@ -4,7 +4,7 @@ ebas_sel_css_dep <- function() { htmltools::htmlDependency( name = "ebas_sel", version = "1.0", - src = system.file("www/css", package = "dv.biomarker.general", mustWork = TRUE), + src = system.file("www/css", package = "dv.explorer.parameter", mustWork = TRUE), stylesheet = "ebas_sel.css" ) } @@ -14,7 +14,7 @@ dvd3h_dep <- function() { htmltools::htmlDependency( name = "dvd3h", version = "1.0", - src = system.file("www/dist", package = "dv.biomarker.general", mustWork = TRUE), + src = system.file("www/dist", package = "dv.explorer.parameter", mustWork = TRUE), script = "dv_d3_helpers.js" ) } @@ -25,8 +25,20 @@ screenshot_deps <- function() { htmltools::htmlDependency( name = "wfphm-msg-handlers", version = "1.0", - src = system.file("www/msg-handlers", package = "dv.biomarker.general", mustWork = TRUE), + src = system.file("www/msg-handlers", package = "dv.explorer.parameter", mustWork = TRUE), script = "msg-handlers.js" ) ) } + +#' @keywords intermal +roc_dependencies <- function() { + htmltools::htmlDependency( + name = "dv.explorer.parameter", + version = "1.0", + package = "dv.explorer.parameter", + src = "assets", + stylesheet = "css/bp.css", + all_files = FALSE + ) +} diff --git a/README.md b/README.md index dfac930..eea8139 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -# dv.biomarker.general +# dv.explorer.parameter # Installation ``` r if (!require("remotes")) install.packages("remotes") -remotes::install_github("Boehringer-Ingelheim/dv.biomarker.general") +remotes::install_github("Boehringer-Ingelheim/dv.explorer.parameter") ``` diff --git a/inst/validation/results/val_param.rds b/inst/validation/results/val_param.rds deleted file mode 100644 index 8fa38e1..0000000 Binary files a/inst/validation/results/val_param.rds and /dev/null differ diff --git a/inst/validation/results/val_report.html b/inst/validation/results/val_report.html deleted file mode 100644 index a45caaa..0000000 --- a/inst/validation/results/val_report.html +++ /dev/null @@ -1,3729 +0,0 @@ - - - - -
- - - - - - - - -# Import vdoc functions ----
-vdoc <- local({
- # ##########
- # package_name is used # INSIDE # the sourced file below
- # ##########
- package_name <- params[["package"]]
- utils_file_path <- system.file("validation", "utils-validation.R", package = package_name, mustWork = TRUE)
- source(utils_file_path, local = TRUE)[["value"]]
-})
-
-# Set required packages ----
-suppressPackageStartupMessages(stopifnot(requireNamespace("DT")))
-suppressPackageStartupMessages(stopifnot(requireNamespace("devtools")))
-
-# Parse tests ----
-
-tests <- as.data.frame(params[["tests"]])
-tests[["validation_data"]] <- vdoc[["get_spec"]](tests[["test"]], vdoc[["specs"]])
-tests[["spec_id"]] <- sapply(tests[["validation_data"]], function(x) x[["spec_id"]])
-tests[["spec"]] <- sapply(tests[["validation_data"]], function(x) x[["spec"]])
-tests[["spec_id_paste"]] <- vapply(tests[["spec_id"]], function(x) paste(x, collapse = "\n"), FUN.VALUE = character(1))
-tests[["spec_paste"]] <- vapply(tests[["spec"]], function(x) paste(x, collapse = "\n"), FUN.VALUE = character(1))
-tests[["desc"]] <- paste0("(#", seq_len(nrow(tests)), "): ", tests[["test"]])
-tests[["with_spec"]] <- vapply(tests[["spec_id"]], Negate(is.null), FUN.VALUE = logical(1))
-
-spec_tests <- tests[tests[["with_spec"]], ]
-no_spec_tests <- tests[!tests[["with_spec"]], ]
-
-declared_spec <- vdoc[["spec_id_list"]]
-tested_spec <- unique(unlist(tests[["spec_id"]]))
-uncovered_spec <- declared_spec[!declared_spec %in% tested_spec]
-undeclared_spec <- tested_spec[!tested_spec %in% declared_spec]
-
-spec_tests[["are_declared"]] <- sapply(spec_tests[["spec_id"]], function(x) all(x %in% declared_spec))
-
-# Count tests in the different categories ----
-mask_failed <- !!spec_tests[["failed"]] | spec_tests[["error"]]
-mask_skipped <- !!spec_tests[["skipped"]]
-mask_declared <- spec_tests[["are_declared"]]
-n_pass_dec <- sum(!mask_failed & !mask_skipped & mask_declared)
-n_fail_dec <- sum(mask_failed & mask_declared)
-n_skip_dec <- sum(mask_skipped & mask_declared)
-n_uncov <- length(uncovered_spec)
-n_undec <- sum(!mask_declared)
-
-render_spec_table <- function(t) {
- t <- t[trac_matrix_col]
- colnames(t) <- names(trac_matrix_col)
- t <- t[order(t[["Spec ID"]]), ]
- DT::datatable(t, options = list(dom = "ltp"), filter = list(position = "top"))
-}
-
-data_frame_by_row <- function(colnames, data) {
- n <- length(data)
- n_cols <- length(colnames)
- stopifnot(n %% n_cols == 0)
- columns <- vector("list", length = n_cols)
- for (i in 1:n_cols) columns[[i]] <- unlist(data[seq(i, n, n_cols)])
- do.call(data.frame, setNames(columns, colnames))
-}
-
-# Select columns to be included in the tables ----
-trac_matrix_col <- c("Spec ID" = "spec_id_paste", "Spec" = "spec_paste", "Test Desc" = "desc", "File" = "file")
-
-# Check that validation passes and set title ----
-VALIDATION_PASSED <- n_fail_dec == 0 && n_uncov == 0 && n_undec == 0 && n_uncov == 0 # nolint
-
-result_symbol <- if (VALIDATION_PASSED) "\U02705" else "\U274C"
-title <- paste(result_symbol, params[["package"]], params[["version"]])
-Date: 2024-Jul-29 11:22:07
-The following document generates a report for R packages, to satisfy -the criteria of a “Released†status under the Non-GxP -project. The QC report contains the following information:
-Please be advised that the QC report generated for this module does -not imply validation according to any other GxP criteria. The QC report -only satisfies our internally developed quality checks for non-GxP -criteria. For clinical reporting purposes, it is essential to note that -any outputs generated using this module must be checked and verified -within a validated system that adheres to the appropriate GxP -guidelines.
-In this traceability matrix only those tests that point to an -specification are included.
-Test cases can contain several expectations a test is considered:
-passed if all expectations in the test -pass.
failed if at least one expectation in the test -fails.
skipped if at least one expectation in the test -is skipped.
A test can be both failed and -skipped.
-data_frame_by_row(
- colnames = c("Spec Exists", "Test", "Count", "color"),
- data = list(
- "Yes", "Pass", n_pass_dec, "white",
- "Yes", "Failed", n_fail_dec, if (n_fail_dec > 0) "red" else "green",
- "Yes", "Skipped", n_skip_dec, if (n_skip_dec > 0) "red" else "green",
- "Yes", "No Test", n_uncov, if (n_uncov > 0) "red" else "green",
- "No", "NA", n_undec, if (n_undec > 0) "red" else "green"
- )
-) |>
- DT::datatable(
- rownames = FALSE,
- options = list(columnDefs = list(list(visible = FALSE, targets = c(3))), dom = "tp"),
- filter = list(position = "top")
- ) |>
- DT::formatStyle(
- c("Count"),
- valueColumns = "color",
- backgroundColor = DT::JS("value")
- )
-
-
-render_spec_table(spec_tests[!mask_failed & !mask_skipped & mask_declared, ])
-
-
-render_spec_table(spec_tests[mask_failed & mask_declared, ])
-
-
-render_spec_table(spec_tests[mask_skipped & mask_declared, ])
-
-
-This should always be empty, as non existant specs are controlled -during test execution.
- - -devtools::session_info()
-## ─ Session info ───────────────────────────────────────────────────────────────
-## setting value
-## version R version 4.3.2 (2023-10-31)
-## os Ubuntu 22.04.3 LTS
-## system x86_64, linux-gnu
-## ui X11
-## language (EN)
-## collate en_US.UTF-8
-## ctype en_US.UTF-8
-## tz Etc/UTC
-## date 2024-07-29
-## pandoc 3.1.11.1 @ /usr/bin/ (via rmarkdown)
-##
-## ─ Packages ───────────────────────────────────────────────────────────────────
-## ! package * version date (UTC) lib source
-## assertthat 0.2.1 2019-03-21 [2] RSPM (R 4.3.0)
-## backports 1.4.1 2021-12-13 [2] RSPM
-## base64enc 0.1-3 2015-07-28 [2] RSPM
-## brio 1.1.4 2023-12-10 [2] RSPM
-## broom 1.0.5 2023-06-09 [2] RSPM
-## bslib 0.6.1 2023-11-28 [2] RSPM
-## cachem 1.0.8 2023-05-01 [2] RSPM
-## callr 3.7.3 2022-11-02 [2] RSPM
-## checkmate 2.3.1 2023-12-04 [2] RSPM
-## chromote 0.1.2 2023-08-11 [2] RSPM
-## cli 3.6.2 2023-12-11 [2] RSPM
-## cluster 2.1.4 2022-08-22 [3] CRAN (R 4.3.2)
-## codetools 0.2-19 2023-02-01 [3] CRAN (R 4.3.2)
-## colorspace 2.1-0 2023-01-23 [2] RSPM
-## commonmark 1.9.1 2024-01-30 [2] RSPM
-## crayon 1.5.2 2022-09-29 [2] RSPM
-## crosstalk 1.2.1 2023-11-23 [2] RSPM
-## curl 5.2.0 2023-12-08 [2] RSPM
-## cyclocomp 1.1.1 2023-08-30 [2] RSPM
-## data.table 1.15.0 2024-01-30 [2] RSPM
-## desc 1.4.3 2023-12-10 [2] RSPM
-## devtools 2.4.5 2022-10-11 [2] RSPM
-## diffobj 0.3.5 2021-10-05 [2] RSPM
-## digest 0.6.34 2024-01-11 [2] RSPM
-## dplyr 1.1.4 2023-11-17 [2] RSPM
-## DT 0.31 2023-12-09 [2] RSPM
-## P dv.biomarker.general * 0.0.3-140 2024-07-29 [?] load_all()
-## ellipsis 0.3.2 2021-04-29 [2] RSPM
-## evaluate 0.23 2023-11-01 [2] RSPM
-## fansi 1.0.6 2023-12-08 [2] RSPM
-## farver 2.1.1 2022-07-06 [2] RSPM
-## fastmap 1.1.1 2023-02-24 [2] RSPM
-## fontawesome 0.5.2 2023-08-19 [2] RSPM
-## foreign 0.8-85 2023-09-09 [3] CRAN (R 4.3.2)
-## Formula 1.2-5 2023-02-24 [1] RSPM (R 4.3.0)
-## fs 1.6.3 2023-07-20 [2] RSPM
-## generics 0.1.3 2022-07-05 [2] RSPM
-## GGally 2.2.0 2023-11-22 [1] RSPM (R 4.3.0)
-## ggplot2 3.4.4 2023-10-12 [2] RSPM
-## ggstats 0.5.1 2023-11-21 [1] RSPM (R 4.3.0)
-## glue 1.7.0 2024-01-09 [2] RSPM
-## gridExtra 2.3 2017-09-09 [1] RSPM (R 4.3.0)
-## gt 0.10.1 2024-01-17 [1] RSPM (R 4.3.0)
-## gtable 0.3.4 2023-08-21 [2] RSPM
-## Hmisc 5.1-1 2023-09-12 [1] RSPM (R 4.3.0)
-## htmlTable 2.4.2 2023-10-29 [1] RSPM (R 4.3.0)
-## htmltools 0.5.7 2023-11-03 [2] RSPM
-## htmlwidgets 1.6.4 2023-12-06 [2] RSPM
-## httpuv 1.6.14 2024-01-26 [2] RSPM
-## httr 1.4.7 2023-08-15 [2] RSPM
-## jquerylib 0.1.4 2021-04-26 [2] RSPM
-## jsonlite 1.8.8 2023-12-04 [2] RSPM
-## juicyjuice 0.1.0 2022-11-10 [1] RSPM (R 4.3.0)
-## knitr 1.45 2023-10-30 [2] RSPM
-## labeling 0.4.3 2023-08-29 [2] RSPM
-## later 1.3.2 2023-12-06 [2] RSPM
-## lazyeval 0.2.2 2019-03-15 [2] RSPM
-## lifecycle 1.0.4 2023-11-07 [2] RSPM
-## lintr 3.1.1 2023-11-07 [2] RSPM
-## magrittr 2.0.3 2022-03-30 [2] RSPM
-## markdown 1.12 2023-12-06 [1] RSPM (R 4.3.0)
-## memoise 2.0.1 2021-11-26 [2] RSPM
-## mime 0.12 2021-09-28 [2] RSPM
-## miniUI 0.1.1.1 2018-05-18 [2] RSPM
-## munsell 0.5.0 2018-06-12 [2] RSPM
-## nnet 7.3-19 2023-05-03 [3] CRAN (R 4.3.2)
-## pillar 1.9.0 2023-03-22 [2] RSPM
-## pingr 2.0.3 2023-12-10 [2] RSPM
-## pkgbuild 1.4.3 2023-12-10 [2] RSPM
-## pkgconfig 2.0.3 2019-09-22 [2] RSPM
-## pkgload 1.3.4 2024-01-16 [2] RSPM
-## plyr 1.8.9 2023-10-02 [1] RSPM (R 4.3.0)
-## precrec 0.14.4 2023-10-11 [1] RSPM (R 4.3.0)
-## prettyunits 1.2.0 2023-09-24 [2] RSPM
-## pROC 1.18.5 2023-11-01 [1] RSPM (R 4.3.0)
-## processx 3.8.3 2023-12-10 [2] RSPM
-## profvis 0.3.8 2023-05-02 [2] RSPM
-## promises 1.2.1 2023-08-10 [2] RSPM
-## ps 1.7.6 2024-01-18 [2] RSPM
-## purrr 1.0.2 2023-08-10 [2] RSPM
-## r2d3 0.2.6 2022-02-28 [2] RSPM
-## R6 2.5.1 2021-08-19 [2] RSPM
-## rcmdcheck 1.4.0 2021-09-27 [2] RSPM
-## RColorBrewer 1.1-3 2022-04-03 [2] RSPM
-## Rcpp 1.0.12 2024-01-09 [2] RSPM
-## remotes * 2.4.2.1 2023-07-18 [2] RSPM
-## rex 1.2.1 2021-11-26 [2] RSPM
-## rlang 1.1.3 2024-01-10 [2] RSPM
-## rmarkdown 2.25 2023-09-18 [2] RSPM
-## roxygen2 7.3.1 2024-01-22 [2] RSPM
-## rpart 4.1.21 2023-10-09 [3] CRAN (R 4.3.2)
-## rprojroot 2.0.4 2023-11-05 [2] RSPM
-## rstudioapi 0.15.0 2023-07-07 [2] RSPM
-## rvest 1.0.3 2022-08-19 [2] RSPM
-## sass 0.4.8 2023-12-06 [2] RSPM
-## scales 1.3.0 2023-11-28 [2] RSPM
-## selectr 0.4-2 2019-11-20 [2] RSPM
-## sessioninfo 1.2.2 2021-12-06 [2] RSPM
-## shiny * 1.8.0 2023-11-17 [2] RSPM
-## shinytest2 0.3.1 2023-08-26 [2] RSPM
-## shinyvalidate 0.1.3 2023-10-04 [1] RSPM (R 4.3.0)
-## shinyWidgets 0.8.1 2024-01-10 [2] RSPM
-## stringi 1.8.3 2023-12-11 [2] RSPM
-## stringr 1.5.1 2023-11-14 [2] RSPM
-## testthat * 3.2.1 2023-12-02 [2] RSPM
-## tibble 3.2.1 2023-03-20 [2] RSPM
-## tidyr 1.3.1 2024-01-24 [2] RSPM
-## tidyselect 1.2.0 2022-10-10 [2] RSPM
-## urlchecker 1.0.1 2021-11-30 [2] RSPM
-## usethis 2.2.2 2023-07-06 [2] RSPM
-## utf8 1.2.4 2023-10-22 [2] RSPM
-## V8 4.4.1 2023-12-04 [1] RSPM (R 4.3.0)
-## vctrs 0.6.5 2023-12-01 [2] RSPM
-## vdiffr 1.0.7 2023-09-22 [1] RSPM (R 4.3.0)
-## vegawidget 0.5.0 2024-01-13 [1] RSPM (R 4.3.0)
-## viridisLite 0.4.2 2023-05-02 [2] RSPM
-## waldo 0.5.2 2023-11-02 [2] RSPM
-## websocket 1.4.1 2021-08-18 [2] RSPM
-## withr 3.0.0 2024-01-16 [2] RSPM
-## xfun 0.41 2023-11-01 [2] RSPM
-## xml2 1.3.6 2023-12-04 [2] RSPM
-## xmlparsedata 1.0.5 2021-03-06 [2] RSPM
-## xopen 1.0.0 2018-09-17 [2] RSPM
-## xtable 1.8-4 2019-04-21 [2] RSPM
-## yaml 2.3.8 2023-12-11 [2] RSPM
-##
-## [1] /tmp/workspace/ndvcdmod/lib
-## [2] /usr/local/lib/R/site-library
-## [3] /usr/local/lib/R/library
-##
-## P ── Loaded and on-disk path mismatch.
-##
-## ──────────────────────────────────────────────────────────────────────────────
-j <- vapply(
- vdoc[["spec_id_list"]],
- function(x) {
- eval(
- str2expression(
- paste0("vdoc[[\"specs\"]]$", x)
- )
- )
- },
- FUN.VALUE = character(1)
-) |>
- gsub("\n", "</br>", x = _, fixed = TRUE)
-
-data.frame(spec_id = names(j), spec = j) |>
- DT::datatable(
- rownames = FALSE,
- options = list(
- dom = "ltp"
- ),
- filter = list(position = "top"),
- escape = FALSE
- )
-
-
-