diff --git a/DESCRIPTION b/DESCRIPTION index f55714c..65ca66b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: ManyEcoEvo Title: Meta-analyse data from 'Many-Analysts' style studies -Version: 2.4.2 +Version: 2.7.0 Authors@R: c( person("Elliot", "Gould", , "elliot.gould@unimelb.edu.au", role = c("aut", "cre"), comment = c(ORCID = "https://orcid.org/0000-0002-6585-538X")), diff --git a/ManyEcoEvo.Rproj b/ManyEcoEvo.Rproj index 6843888..9f96499 100644 --- a/ManyEcoEvo.Rproj +++ b/ManyEcoEvo.Rproj @@ -15,4 +15,4 @@ LaTeX: pdfLaTeX BuildType: Package PackageUseDevtools: Yes PackageInstallArgs: --no-multiarch --with-keep.source -PackageRoxygenize: rd,collate,namespace,vignette +PackageRoxygenize: rd,collate,namespace diff --git a/NAMESPACE b/NAMESPACE index b7bc607..97300c3 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -45,6 +45,7 @@ export(fit_metafor_uni) export(fit_multivar_MA) export(fit_sorensen_glm) export(fit_uni_mixed_effects) +export(folded_params) export(generate_collinearity_subset) export(generate_exclusion_subsets) export(generate_expertise_subsets) @@ -59,6 +60,8 @@ export(identity_back) export(inverse_back) export(log_back) export(log_transform) +export(log_transform_response) +export(log_transform_yi) export(logit_back) export(make_param_table) export(make_viz) @@ -85,8 +88,10 @@ export(preprocess_prediction_files) export(preprocess_updated_prediction_files) export(probit_back) export(read_submission_data) +export(rename_prediction_cols) export(rm_inf_na) export(run_model_checks) +export(split_yi_subsets) export(square_back) export(square_root_back) export(standardise_response) @@ -106,72 +111,151 @@ export(summarise_study) export(summarise_variable_counts) export(validate_predictions) export(validate_predictions_df_blue_tit) -export(validate_predictions_df_euc) -import(NatParksPalettes) -import(broom) -import(broom.mixed) -import(cli) +export(variance_box_cox) import(dplyr) -import(forcats) -import(ggbeeswarm) -import(ggforestplot) import(ggplot2) import(lme4) import(metafor) -import(purrr) -import(recipes) -import(rlang) -import(see) -import(stringr) -import(tidyr) importFrom(EnvStats,stat_n_text) -importFrom(broom.mixed,tidy) +importFrom(NatParksPalettes,scale_color_natparks_d) +importFrom(betapart,beta.pair) +importFrom(broom,tidy) importFrom(cli,cli_abort) +importFrom(cli,cli_alert) +importFrom(cli,cli_alert_danger) importFrom(cli,cli_alert_info) +importFrom(cli,cli_alert_success) importFrom(cli,cli_alert_warning) +importFrom(cli,cli_bullets) +importFrom(cli,cli_h1) importFrom(cli,cli_h2) +importFrom(cli,cli_ol) +importFrom(cli,cli_warn) +importFrom(cli,style_italic) importFrom(data.table,setnames) +importFrom(forcats,as_factor) importFrom(forcats,fct_relevel) +importFrom(forcats,fct_reorder) +importFrom(fs,file_exists) +importFrom(ggbeeswarm,geom_quasirandom) +importFrom(ggforestplot,theme_forest) +importFrom(ggplot2,aes) +importFrom(ggplot2,coord_flip) +importFrom(ggplot2,element_line) +importFrom(ggplot2,element_text) +importFrom(ggplot2,geom_pointrange) importFrom(ggplot2,ggplot) +importFrom(ggplot2,guides) +importFrom(ggplot2,labs) +importFrom(ggplot2,theme) importFrom(glue,glue) importFrom(lifecycle,deprecated) importFrom(lme4,lmer) importFrom(magrittr,"%>%") +importFrom(metafor,rma.mv) importFrom(metaviz,viz_funnel) +importFrom(orchaRd,i2_ml) importFrom(parameters,parameters) +importFrom(parsnip,fit) +importFrom(parsnip,linear_reg) importFrom(performance,performance) +importFrom(pointblank,action_levels) importFrom(pointblank,col_exists) +importFrom(pointblank,col_is_character) +importFrom(pointblank,col_is_integer) +importFrom(pointblank,col_is_numeric) +importFrom(pointblank,col_vals_in_set) importFrom(pointblank,col_vals_not_null) +importFrom(pointblank,create_agent) +importFrom(pointblank,expect_col_exists) +importFrom(pointblank,expect_col_is_character) +importFrom(pointblank,expect_col_is_numeric) +importFrom(pointblank,expect_col_vals_in_set) importFrom(pointblank,has_columns) importFrom(pointblank,stop_if_not) +importFrom(pointblank,test_col_exists) importFrom(pointblank,test_col_vals_gte) importFrom(pointblank,vars) +importFrom(pointblank,warn_on_fail) +importFrom(purrr,discard) +importFrom(purrr,exec) +importFrom(purrr,flatten_dbl) +importFrom(purrr,is_scalar_vector) importFrom(purrr,keep) +importFrom(purrr,keep_at) +importFrom(purrr,list_c) importFrom(purrr,list_flatten) importFrom(purrr,list_rbind) importFrom(purrr,map) importFrom(purrr,map2) importFrom(purrr,map_chr) +importFrom(purrr,map_dfr) importFrom(purrr,map_if) +importFrom(purrr,map_int) +importFrom(purrr,map_lgl) importFrom(purrr,pluck) importFrom(purrr,pmap) importFrom(purrr,possibly) importFrom(purrr,reduce) importFrom(purrr,reduce2) importFrom(purrr,set_names) +importFrom(purrr,simplify) +importFrom(purrr,transpose) +importFrom(readr,read_csv) +importFrom(recipes,juice) +importFrom(recipes,prep) +importFrom(recipes,recipe) +importFrom(recipes,step_mutate) +importFrom(recipes,step_naomit) +importFrom(recipes,tidy) +importFrom(recipes,update_role) +importFrom(rlang,"!!") +importFrom(rlang,":=") +importFrom(rlang,as_function) +importFrom(rlang,as_string) importFrom(rlang,caller_env) importFrom(rlang,enquo) +importFrom(rlang,ensym) +importFrom(rlang,exec) importFrom(rlang,expr) +importFrom(rlang,exprs) +importFrom(rlang,f_lhs) +importFrom(rlang,inject) +importFrom(rlang,is_call) +importFrom(rlang,is_list) importFrom(rlang,is_na) importFrom(rlang,is_null) importFrom(rlang,na_chr) importFrom(rlang,new_formula) importFrom(sae,bxcx) +importFrom(see,geom_jitter2) +importFrom(see,scale_fill_material_d) +importFrom(see,theme_modern) importFrom(stringr,str_detect) +importFrom(stringr,str_remove) +importFrom(stringr,str_split) +importFrom(stringr,str_starts) +importFrom(tibble,as_tibble) +importFrom(tibble,as_tibble_row) +importFrom(tibble,column_to_rownames) importFrom(tibble,enframe) +importFrom(tibble,rownames_to_column) importFrom(tibble,tibble) +importFrom(tidyr,any_of) +importFrom(tidyr,drop_na) importFrom(tidyr,hoist) +importFrom(tidyr,nest) importFrom(tidyr,pivot_longer) importFrom(tidyr,pivot_wider) +importFrom(tidyr,separate) +importFrom(tidyr,tibble) +importFrom(tidyr,unite) importFrom(tidyr,unnest) +importFrom(tidyr,unnest_longer) +importFrom(tidyselect,all_of) +importFrom(tidyselect,where) importFrom(timetk,step_box_cox) +importFrom(workflows,add_model) +importFrom(workflows,add_recipe) +importFrom(workflows,extract_fit_parsnip) +importFrom(workflows,workflow) diff --git a/NEWS.md b/NEWS.md index d2b2ebb..4adfb1c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,31 @@ -# ManyEcoEvo 2.4.2 +# ManyEcoEvo (development version) -# ManyEcoEvo 2.4.1 + -* Initial CRAN submission. +- #118 docs: Add explanation about updated behaviour when `estimate_type` is missing in `ManyEcoEvo` dataframe +- #118 build: devtools::document() + +# ManyEcoEvo 2.6.0 + +- Update arg supply to targets call on prepare_response_variables() after #118 updates +- #118 add pmap internal helper function for differential application of transformation / standardisation in `standardise_response()` +- #118 delete old pmap helper function +- `dat` to `data` to help with auto-matching in pmap within prepare_response_variables() wrapper #118 +- ensure all family fns have ... arg for pmap application in prepare_response_variables() since all fns have different argument lengths and names +- accidentally deleted when upgrading for #118, have added creation of transform_datasets tibbles for all cases now, and then these will apply the appropriate functions in final code chunk at end +- #118 ensure application of Z_VZ_preds takes the generalised colnames yi, yi_se instead of using hard-coded dataset application #97 +- #118 call new arg `dataset_log_transform` in fn to log-transform outcomes for euc yi analysis +- #118 add log-transformation equivalent to `standardise_response()` and `process_resonse()` +- #102 add function documentation, including examples +- #118 extract `lower` and `upper` transformed vals in line with addition of `log_transform_response()` / changes to `standardise_response()` +- #116 check appropriate required variable (i.e. function needs `back_transformed_data`, but checked for `augmented_data` in `dat` arg, wouldn't throw required error because `augmented_data` was present in `dat` +- #102 add import, return, and see also roxygen doc tags, replace note with details tag, rename fn doc title +- #116 update argument checks conditional expression +- #118 match output to `log_transform_yi()` (now returns additional cols `lower` and `upper`, not only `c("Z","VZ")`) +- #118 match process to `log_transform_yi()` and #97 generalise processing to both euc/bt datasets without hard-coding dataset names in fns, and remove associated dataset-specific argument checking #116 +- #118 adapt response variable preparation to accept additional argument `dataset_log_transform` apply argument checks #116, add roxygen param #102 +- #118 adapt response variable processing to accept either/or/none for dataset standardisation/log-transformation. +- equivalent to `pred_to_z()` +- #102 write documentation +- #102 add import tags for `log_transform()` and link to equivalent functions, apply default argument values / checks +- #97 rename out argument diff --git a/R/ManyEcoEvo-package.R b/R/ManyEcoEvo-package.R index 97c07e1..78a8bfd 100644 --- a/R/ManyEcoEvo-package.R +++ b/R/ManyEcoEvo-package.R @@ -2,7 +2,6 @@ "_PACKAGE" ## usethis namespace: start -#' @import rlang #' @importFrom glue glue #' @importFrom lifecycle deprecated ## usethis namespace: end diff --git a/R/anonymise_teams.R b/R/anonymise_teams.R index 96302f6..0936cf1 100644 --- a/R/anonymise_teams.R +++ b/R/anonymise_teams.R @@ -6,7 +6,7 @@ #' @return A `df` with anonymised values of `id_col` based on the `New_Identifier` colum of `lookup` #' @export #' @importFrom pointblank col_vals_not_null -#' @import tidyr +#' @importFrom tidyr separate unite #' @import dplyr anonymise_teams <- function(df, lookup) { # TODO actually... this is anonymise_id_col() df %>% diff --git a/R/apply_VZ_exclusions.R b/R/apply_VZ_exclusions.R index afca1da..4dc627d 100644 --- a/R/apply_VZ_exclusions.R +++ b/R/apply_VZ_exclusions.R @@ -1,22 +1,130 @@ #' Apply VZ exclusion to a data-frame containing list-columns of yi subsets #' -#' @param df A dataframe of yi data subsets generated from `generate_yi_subsets\(\)`. -#' @param VZ_cutoff A numeric vector of length 1, values equal to or greater than this value of VZ will be filtered out of the dataframes stored in `df`'s list-column `data`. -#' +#' @param df A dataframe of yi data subsets generated by [generate_yi_subsets()] or [split_yi_subsets()]. +#' @param VZ_cutoff A numeric vector of length 1, values equal to or greater than this value of VZ will be filtered out of the dataframes stored in `df`'s list-column `data`, else a named list of numeric values, where the names are the dataset names and the values are the `VZ_cutoff`s for each `dataset` in `df`. +#' @param VZ_colname Either A character vector of length 1, the name of the column in the dataframes stored in `df`'s list-column `data` that contains the VZ values. Or else a named list of character values, where the names are the dataset names and the values are the `VZ_colname`s for each `dataset` in `df`. #' @return A dataframe of yi subsets, whose extreme values of VZ have been removed. #' @export +#' @import dplyr +#' @importFrom purrr map map2 +#' @importFrom pointblank col_exists +#' @importFrom cli cli_alert_warning +#' @seealso Applies [exclude_extreme_VZ()] to each dataframe in the list-column `data` of `df`. #' @family Multi-dataset Wrapper Functions -apply_VZ_exclusions <- function(df = data.frame(), VZ_cutoff = numeric(1L)) { - pointblank::col_exists(df, columns = c("data", "diversity_data")) - +#' @details +#' `df` must contain the columns `"data"`, `"diversity_data"` and `"dataset"`. +#' If only one value of `VZ_colname` and `VZ_cutoff` is supplied, it will be recycled to match the number of datasets in `df`. +#' +#' If a named list is supplied for `VZ_colname` and `VZ_cutoff`, the names must match the dataset names in `df`. +#' @examples +#' data(ManyEcoEvo_yi) +#' ManyEcoEvo_yi %>% +#' prepare_response_variables( +#' estimate_type = "yi", +#' param_table = +#' ManyEcoEvo:::analysis_data_param_tables, +#' dataset_standardise = "blue tit", +#' dataset_log_transform = "eucalyptus") %>% +#' generate_yi_subsets() %>% +#' apply_VZ_exclusions(VZ_colname = +#' list("eucalyptus" = "se_log", +#' "blue tit" = "VZ"), +#' VZ_cutoff = 3) +apply_VZ_exclusions <- function(df = data.frame(), VZ_colname, VZ_cutoff) { + # ---- Argument Checking ----- + pointblank::col_exists(df, columns = c("data", "diversity_data", "dataset")) + + if (!is.null(names(VZ_colname))) { + pointblank::expect_col_vals_make_set(object = df, + columns = dataset, + set = names(VZ_colname)) + } + + if (!is.null(names(VZ_cutoff))) { + pointblank::expect_col_vals_make_set(object = df, + columns = dataset, + set = names(VZ_cutoff)) + } + + cli::cli_h1("Applying VZ exclusions") + + if (is.list(VZ_colname)) { + map(VZ_colname, ~ { + stopifnot( + is.character(.x) + ) + }) + } else { + stopifnot( + is.character(VZ_colname) + ) + # ----- Format VZ exclusions when VZ_colname is not list ----- + if (length(VZ_colname) < length(unique(df$dataset))) { + cli::cli_alert_warning("{.arg VZ_colname} = {.val {VZ_cutoff}} was recycled to match the number of unique datasets in {.arg df}.") + VZ_colname <- rep(VZ_colname, length(unique(df$dataset))) + } + } + + if (is.list(VZ_cutoff)) { + map(VZ_cutoff, ~ { + stopifnot( + is.numeric(.x) + ) + }) + } else { + stopifnot( + is.numeric(VZ_cutoff) + ) + # ----- Format VZ exclusions when VZ_cutoff is not list ----- + if (length(VZ_cutoff) < length(unique(df$dataset))) { + cli::cli_alert_warning("{.arg VZ_cutoff} = {.val {VZ_cutoff}} was recycled to match the number of unique datasets in {.arg df}.") + VZ_cutoff <- rep(VZ_cutoff, length(unique(df$dataset))) + } + } + + # ----- Create formulas for matching VZ_cutoff and VZ_colname to df$dataset ----- + + if (is.list(VZ_colname)) { + formulae_match_VZ_colname <- map2(names(VZ_colname), + VZ_colname, + rlang::new_formula) + } else { + formulae_match_VZ_colname <- map2(unique(df$dataset), + VZ_colname, + rlang::new_formula) + } + + if (is.list(VZ_cutoff)) { + formulae_match_VZ_cutoff <- map2(names(VZ_cutoff), + VZ_cutoff, + rlang::new_formula) + } else { + formulae_match_VZ_cutoff <- map2(unique(df$dataset), + VZ_cutoff, + rlang::new_formula) + } + + # ----- Apply VZ exclusions ----- df_out <- df %>% + ungroup() %>% mutate( - data = map(data, exclude_extreme_VZ, !!{{ VZ_cutoff }}), # TODO check whether we should run on effects_analysis instead of data + VZ_colname_val = case_match(dataset, + !!!formulae_match_VZ_colname, + .default = NA), + VZ_cutoff_val = case_match(dataset, + !!!formulae_match_VZ_cutoff, + .default = NA), + data = pmap( # TODO check whether we should run on effects_analysis instead of data + list(data, VZ_colname_val, VZ_cutoff_val), + ~ exclude_extreme_VZ(df = ..1, VZ_colname = ..2, VZ_cutoff = ..3) + ), diversity_data = map2( .x = diversity_data, .y = data, .f = ~ semi_join(.x, .y, by = "id_col") ) - ) + ) %>% + select(-VZ_colname_val, -VZ_cutoff_val) + return(df_out) } diff --git a/R/apply_sorensen_calc.R b/R/apply_sorensen_calc.R index fe3fd00..13d373a 100644 --- a/R/apply_sorensen_calc.R +++ b/R/apply_sorensen_calc.R @@ -1,19 +1,24 @@ #' Applies the sorensen diversity index calculation to variable diversity dataset #' -#' @param .data A variable diversity dataset with columns for each unique variable used in all analyses. Values are `NA` if the analysis did not use that variable, and take the value of the variable as a character string if the analysis did use that variable. Each unique analysis is a row. +#' @param data A variable diversity dataset with columns for each unique variable used in all analyses. Values are `NA` if the analysis did not use that variable, and take the value of the variable as a character string if the analysis did use that variable. Each unique analysis is a row. +#' +#' @seealso [calculate_sorensen_diversity_index()] #' #' @return A tibble containing the variables `id_col`, `mean_diversity_index` and `num_variables` #' @export -apply_sorensen_calc <- function(.data) { - out <- .data +#' @import dplyr +#' @family Analysis-level functions +apply_sorensen_calc <- function(data) { - out %>% + out <- data %>% select(-dataset) %>% # TODO THEN REMOVE DUPES filter(id_col %nin% { - out %>% + data %>% count(id_col) %>% filter(n > 1) %>% pull(id_col) }) %>% calculate_sorensen_diversity_index(., "id_col") + + return(out) } diff --git a/R/assign_transformation_type.R b/R/assign_transformation_type.R index 9d3300a..5db3799 100644 --- a/R/assign_transformation_type.R +++ b/R/assign_transformation_type.R @@ -8,8 +8,8 @@ #' Based on the response transformation and link function, the function assigns the back-transformation type to be applied to the analysts' point-estimates. The function and assigns the identity transformation if the effects were reported on the link-scale and the estimates are already back-transformed the original response variable prior to modelling. When either of these cases is not true for a given analysis, the function returns the value of the `link_fun` or `response_transformation` argument. When an analysis has been reported on the link-scale and the analyst transformed the response variable prior to modelling, the function assigns the `"double-transformation"` value for that analysis. When the `response_transformation` and `link_fun` arguments are missing, the function assigns the `"identity"` value to the analysis, assuming that `NA` values are equivalent to the identity transformation. #' @export #' @import dplyr -#' @import rlang -#' @family back-transformation functions +#' @importFrom rlang is_na +#' @family Back-transformation #' @seealso [prepare_response_variables_yi(), standardise_response()]. To be called prior to [clean_response_transformation()]. assign_transformation_type <- function(response_transformation = character(1L), link_fun = character(1L)) { diff --git a/R/back_transformations.R b/R/back_transformations.R index 097a775..27b2364 100644 --- a/R/back_transformations.R +++ b/R/back_transformations.R @@ -9,14 +9,18 @@ #' or out-of-sample prediction estimate \eqn{y_i}. #' @param sim numeric vector of length 1. number of simulations. #' @return data frame containing the mean estimate, its standard error, and quantiles. -#' @family back transformation +#' @family Back-transformation +#' @importFrom purrr map_lgl flatten_dbl +#' @importFrom cli cli_alert_danger cli_alert_success cli_alert_info #' @name back NULL #> NULL #' @describeIn back Back transform beta estimates for models with log-link #' @export -log <- function(beta, se, sim) { +#' @family Back-transformation +log_back <- function(beta, se, sim) { + simulated <- rnorm(sim, beta, se) original <- exp(simulated) %>% # exponential = inverse of log na.omit() @@ -35,7 +39,8 @@ log <- function(beta, se, sim) { #' @describeIn back Back transform beta estimates for models with logit-link #' @export -logit <- function(beta, se, sim) { +#' @family Back-transformation +logit_back <- function(beta, se, sim) { simulated <- rnorm(sim, beta, se) original <- plogis(simulated) %>% # invlogit na.omit() @@ -54,7 +59,8 @@ logit <- function(beta, se, sim) { #' @describeIn back Back transform beta estimates for models with probit-link #' @export -probit <- function(beta, se, sim) { +#' @family Back-transformation +probit_back <- function(beta, se, sim) { simulated <- rnorm(sim, beta, se) original <- pnorm(simulated) %>% # inv-probit na.omit() @@ -73,7 +79,8 @@ probit <- function(beta, se, sim) { #' @describeIn back Back transform beta estimates for models with \eqn{1/x} link #' @export -inverse <- function(beta, se, sim) { +#' @family Back-transformation +inverse_back <- function(beta, se, sim) { simulated <- rnorm(sim, beta, se) original <- 1 / simulated %>% # inverse na.omit() @@ -92,7 +99,8 @@ inverse <- function(beta, se, sim) { #' @describeIn back Back transform beta estimates for models with \eqn{x^2}-link #' @export -square <- function(beta, se, sim) { +#' @family Back-transformation +square_back <- function(beta, se, sim) { simulated <- rnorm(sim, beta, se) original <- sqrt(simulated) %>% # inverse of x^2 na.omit() @@ -111,7 +119,8 @@ square <- function(beta, se, sim) { #' @describeIn back Back transform beta estimates for models with \eqn{x^3}-link #' @export -cube <- function(beta, se, sim) { +#' @family Back-transformation +cube_back <- function(beta, se, sim) { simulated <- rnorm(sim, beta, se) original <- pracma::nthroot(simulated, n = 3) %>% # inverse of x^3, use non-base to allow for -ve numbers na.omit() @@ -130,7 +139,8 @@ cube <- function(beta, se, sim) { #' @describeIn back Back transform beta estimates for models with identity-link #' @export -identity <- function(beta, se, sim) { # identity (typo) TODO +#' @family Back-transformation +identity_back <- function(beta, se, sim) { # identity (typo) TODO simulated <- rnorm(sim, beta, se) original <- simulated %>% # no transformation na.omit() @@ -150,7 +160,8 @@ identity <- function(beta, se, sim) { # identity (typo) TODO #' @describeIn back Back transform beta estimates for models with power-link #' @export -power <- function(beta, se, sim, n) { +#' @family Back-transformation +power_back <- function(beta, se, sim, n) { simulated <- rnorm(sim, beta, se) original <- pracma::nthroot(simulated, n = n) %>% # inverse of x^n, use non-base to allow for -ve numbers na.omit() @@ -170,7 +181,8 @@ power <- function(beta, se, sim, n) { #' @describeIn back Back transform beta estimates or out-of-sample predictions from models whose response variable has been divided by some number, `n`. #' @param n Denominator used by analyst to divide the response variable. #' @export -divide <- function(beta, se, sim, n) { +#' @family Back-transformation +divide_back <- function(beta, se, sim, n) { simulated <- rnorm(sim, beta, se) original <- simulated * n %>% na.omit() @@ -200,7 +212,8 @@ divide <- function(beta, se, sim, n) { #' @describeIn back Back transform beta estimates or out-of-sample predictions from models whose response variable has been transformed by the square root #' @export -square_root <- function(beta, se, sim) { +#' @family Back-transformation +square_root_back <- function(beta, se, sim) { simulated <- rnorm(sim, beta, se) original <- simulated^2 %>% na.omit() diff --git a/R/box_cox_transform.R b/R/box_cox_transform.R index eadb7d6..8b64251 100644 --- a/R/box_cox_transform.R +++ b/R/box_cox_transform.R @@ -1,95 +1,126 @@ #' Box-cox transform absolute deviation from the meta-analytic mean scores #' #' @param data Dataset for model fitting, must contain columns `"abs_deviation_score_estimate"` and standard error -#' @param dataset character string of either "blue tit" or "eucalyptus" -#' +#' @param dataset character string of length 1 either "blue tit" or "eucalyptus" +#' @family Box-Cox transformation +#' @family Analysis-level functions #' @return data with additional columns of box-cox transformed deviation scores and variance #' @export #' @import dplyr -#' @importFrom purrr map2 -#' @import rlang +#' @importFrom rlang is_na is_null #' @importFrom glue glue -#' @importFrom cli cli_alert_warning -#' @importFrom cli cli_h2 -#' @import recipes +#' @importFrom recipes prep tidy juice recipe #' @importFrom timetk step_box_cox -#' @importFrom cli cli_alert_info -#' @importFrom purrr keep +#' @importFrom cli cli_alert_info cli_h2 cli_alert_warning +#' @importFrom purrr keep map2 +#' @importFrom stringr str_starts #' @importFrom tidyr hoist -#' -box_cox_transform <- function(data, dataset) { - if (rlang::is_na(data) | rlang::is_null(data)) { - cli::cli_alert_warning(text = glue::glue( - "Cannot box-cox transform data for", - paste(names(dplyr::cur_group()), - dplyr::cur_group(), - sep = " = ", - collapse = ", " - ) - )) +#' @seealso [variance_boxcox()], [folded_params()] +box_cox_transform <- function(data, dataset, outcome_SE_colname) { + # ----- Argument Checking ----- + if ( any(rlang::is_na(data), rlang::is_null(data))) { + cli::cli_alert_warning( + text = + glue::glue( + "Cannot box-cox transform data for", + paste(names(dplyr::cur_group()), + dplyr::cur_group(), + sep = " = ", + collapse = ", " + ) + )) result <- NA } else { - cli::cli_h2(glue::glue("Box-cox transforming absolute deviation scores for ", { - dataset - })) - - box_cox_recipe <- recipes::recipe(~., - data = select( - data, - starts_with("abs_deviation_score_") + + # ---- Compute Box-Cox Transformed absolute deviation scores ---- + cli::cli_h2( + c("Box-cox transforming absolute deviation scores for ", + "{.arg dataset} = {.val {dataset}}." ) - ) %>% + ) + + box_cox_recipe <- + recipes::recipe( ~ ., + data = select( + data, + starts_with("abs_deviation_score_") + ) + ) %>% timetk::step_box_cox(everything(), limits = c(0, 10)) %>% recipes::prep(training = data, retain = TRUE) # estimate lambda + box cox transform vars - + if (box_cox_recipe %>% - recipes::tidy(number = 1) %>% nrow() > 0) { # TODO pull execution of if/else and check result in if() so not executing twice (next line) + recipes::tidy(number = 1) %>% + nrow() > 0) { # TODO pull execution of if/else and check result in if() so not executing twice (next line) lambda <- box_cox_recipe %>% recipes::tidy(number = 1) %>% pull(., lambda) %>% `names<-`(., pull(box_cox_recipe %>% - recipes::tidy(number = 1), terms)) - + recipes::tidy(number = 1), + terms)) + if (!is.null(dataset)) { - cli::cli_alert_info(c( - "Optimised Lambda used in Box-Cox Transformation of ", - "{dataset} dataset variables ", - "is {round(lambda, 4)} for `{names(lambda)}`." - )) - } - - variance_box_cox <- function(folded_mu, folded_v, lambda) { - variance_bc <- folded_v * (lambda * folded_mu^(lambda - 1))^2 # delta method - return(variance_bc) - } - - folded_params <- function(abs_dev_score, VZr) { - mu <- abs_dev_score - sigma <- sqrt(VZr) - fold_mu <- sigma * sqrt(2 / pi) * exp((-mu^2) / (2 * sigma^2)) + mu * (1 - 2 * pnorm(-mu / sigma)) # folded abs_dev_score - fold_se <- sqrt(mu^2 + sigma^2 - fold_mu^2) - fold_v <- fold_se^2 # folded VZr - return(list(fold_mu = fold_mu, fold_v = fold_v)) + cli::cli_alert_info( + c( + "Optimised Lambda used in Box-Cox Transformation of ", + "{dataset} dataset variables ", + "is {round(lambda, 2)} for `{names(lambda)}`." + ) + ) } - - # Z_colname <- data %>% colnames %>% keep(., str_starts(., "Z")) - VZ_colname <- data %>% - colnames() %>% - keep(., str_starts(., "VZ")) + result <- recipes::juice(box_cox_recipe) %>% rename_with(.fn = ~ paste0("box_cox_", .x)) %>% bind_cols(data, .) %>% - mutate(fold_params = map2(.x = abs_deviation_score_estimate, .y = !!as.name(VZ_colname), .f = folded_params)) %>% - hoist(fold_params, folded_mu_val = 1, folded_v_val = 2) %>% + mutate(fold_params = + map2(.x = abs_deviation_score_estimate, + .y = !!as.name(outcome_SE_colname), + .f = folded_params)) %>% + hoist(fold_params, + folded_mu_val = 1, + folded_v_val = 2) %>% mutate( - box_cox_var = variance_box_cox(folded_mu_val, folded_v_val, lambda[[1]]), + box_cox_var = variance_box_cox(folded_mu_val, + folded_v_val, + lambda[[1]]), lambda = lambda[[1]] ) } else { result <- NA - cli::cli_alert_warning(text = glue::glue("Lambda cannot be computed.")) + cli::cli_alert_warning(text = c("Lambda cannot be computed.")) } } - + return(result) } + +#' Calculate the variance of the Box-Cox transformed absolute deviation scores +#' @param folded_mu The mean of the folded absolute deviation scores +#' @param folded_v The variance of the folded VZr +#' @param lambda The lambda value used in the Box-Cox transformation +#' @return The variance of the Box-Cox transformed absolute deviation scores +#' @export +#' @family Box-Cox transformation +#' @family Analysis-level functions +variance_box_cox <- function(folded_mu, folded_v, lambda) { + variance_bc <- folded_v * (lambda * folded_mu^(lambda - 1))^2 # delta method + return(variance_bc) +} + +#' Calculate the folded parameters for the Box-Cox transformation +#' @param abs_dev_score The absolute deviation score +#' @param VZr The variance of the standardised effect size +#' @return A named list containing the mean `fold_mu` and variance `fold_v` of the folded parameters +#' @export +#' @family Box-Cox transformation +#' @family Analysis-level functions +folded_params <- function(abs_dev_score, VZr) { + + mu <- abs_dev_score + sigma <- sqrt(VZr) + fold_mu <- sigma * sqrt(2 / pi) * exp((-mu^2) / (2 * sigma^2)) + mu * (1 - 2 * pnorm(-mu / sigma)) # folded abs_dev_score + fold_se <- sqrt(mu^2 + sigma^2 - fold_mu^2) + fold_v <- fold_se^2 # folded VZr + return(list(fold_mu = fold_mu, fold_v = fold_v)) + +} diff --git a/R/calculate_descriptive_statistics.R b/R/calculate_descriptive_statistics.R index 5906e02..3611d22 100644 --- a/R/calculate_descriptive_statistics.R +++ b/R/calculate_descriptive_statistics.R @@ -84,16 +84,16 @@ prepare_sorenson_summary_data <- function(data, data_subset_name = "all", id_sub if (length(id_subsets) != length(subset_names)) { cli::cli_abort("Length of `id_subsets` and `subset_names` must be equal") } - + out <- data %>% ungroup() - + if (!is.null(filter_expressions)) { out <- out %>% filter(!!!filter_expressions) } - + out %>% select(dataset, diversity_indices) %>% unnest(diversity_indices) %>% @@ -138,14 +138,14 @@ prepare_diversity_summary_data <- function(data, data_subset_name = "all", id_su if (length(id_subsets) != length(subset_names)) { cli::cli_abort("Length of `id_subsets` and `subset_names` must be equal") } - + data %>% select(diversity_data) %>% unnest(everything()) %>% mutate(new = id_col) %>% separate_wider_delim(new, "-", - names = c("response_id", "submission_id", "analysis_id", "split_id"), - too_many = "merge" + names = c("response_id", "submission_id", "analysis_id", "split_id"), + too_many = "merge" ) %>% mutate_at(c("submission_id", "analysis_id", "split_id"), as.numeric) %>% list(., { @@ -189,12 +189,12 @@ prepare_analyst_summary_data <- function(data, data_subset_name = "all", id_subs if (length(id_subsets) != length(subset_names)) { cli::cli_abort("Length of `id_subsets` and `subset_names` must be equal") } - + make_subset <- function(x, y) { left_join(x, y, by = join_by("id_col")) %>% prepare_df_for_summarising() } - + data %>% select("data") %>% unnest(everything()) %>% @@ -247,56 +247,56 @@ summarise_study <- function(ManyEcoEvo, ManyEcoEvo_results, id_subsets, subset_n if (length(id_subsets) != length(subset_names)) { cli::cli_abort("Length of `id_subsets` and `subset_names` must be equal") } - + # ------ Prepare Summary Data Subsets ------ - + subsets_tibble <- ManyEcoEvo %>% prepare_analyst_summary_data( "all", id_subsets, subset_names ) - + subsets_tibble_sorensen <- ManyEcoEvo_results %>% prepare_sorenson_summary_data("all", - id_subsets, - subset_names, - filter_expressions = filter_vars + id_subsets, + subset_names, + filter_expressions = filter_vars ) - + subsets_tibble_variables <- ManyEcoEvo %>% prepare_diversity_summary_data( "all", id_subsets, subset_names ) - + var_names <- ManyEcoEvo %>% pull(diversity_data) %>% map(~ .x %>% - select(-id_col, -dataset) - %>% - colnames()) %>% + select(-id_col, -dataset) + %>% + colnames()) %>% enframe("dataset", "variable") - + # ------ Calculate Summary Statistics ------ - + ## ----- Descriptive Stats Summary ------ - + # Analysis Teams Per Dataset, Per Subset teams_per_subset <- subsets_tibble %>% pmap(~ count(.x, dataset, TeamIdentifier, sort = TRUE) %>% - mutate(subset = .y)) %>% + mutate(subset = .y)) %>% list_rbind() - + # actually counting nunmber of analyses per team # all_analyst_data %>% # group_by(dataset) %>% # count(TeamIdentifier, sort = TRUE) %>% # tally(n,name = "totalanalyses") %>% # mutate(subset = "all") - + # Teams Per Analysis, Per Subset Total_Teams_Per_Analysis <- pmap( @@ -306,7 +306,7 @@ summarise_study <- function(ManyEcoEvo, ManyEcoEvo_results, id_subsets, subset_n enframe("subset", "n_teams") ) %>% list_rbind() - + # Number of Teams and Total Analyses per dataset for each subset Team_Analyses <- map( list( @@ -317,12 +317,12 @@ summarise_study <- function(ManyEcoEvo, ManyEcoEvo_results, id_subsets, subset_n list_rbind() ) %>% reduce(full_join, - by = join_by("dataset", "subset") + by = join_by("dataset", "subset") ) - - + + # Calculate Summary Statistics for Binary and Numeric Variables - + Table2 <- subsets_tibble %>% pmap(calc_summary_stats_numeric) %>% list_rbind() %>% @@ -333,12 +333,12 @@ summarise_study <- function(ManyEcoEvo, ManyEcoEvo_results, id_subsets, subset_n names_pattern = "(.*)_(.*)" ) %>% ungroup() - + Table1 <- subsets_tibble %>% pmap(calc_summary_stats_binary) %>% list_rbind() %>% full_join(Team_Analyses, - by = join_by("dataset", "subset") + by = join_by("dataset", "subset") ) %>% arrange(dataset, subset) %>% relocate( @@ -347,7 +347,7 @@ summarise_study <- function(ManyEcoEvo, ManyEcoEvo_results, id_subsets, subset_n totalanalyses, everything() ) - + ## ----- Coding variable inclusion across analyses ----- Table3 <- subsets_tibble_variables %>% pmap(calculate_variable_counts) %>% @@ -371,13 +371,13 @@ summarise_study <- function(ManyEcoEvo, ManyEcoEvo_results, id_subsets, subset_n max = max(value, na.rm = T), .groups = "drop" ) - + ## ------ Conclusions analysis ----- Table4 <- subsets_tibble %>% pmap(.f = count_conclusions) %>% list_rbind() %>% spread(Conclusion, count, fill = 0) - + ## ----- Sorensen all_diversity_data Index Data ----- SorensenSummary <- subsets_tibble_sorensen %>% @@ -392,13 +392,13 @@ summarise_study <- function(ManyEcoEvo, ManyEcoEvo_results, id_subsets, subset_n .groups = "drop" ) %>% rename(subset = subset_name) - + # ----- Combine Outputs ----- - + list(subsets_tibble, subsets_tibble_variables, subsets_tibble_sorensen) %>% reduce(left_join, by = join_by("data", "subset_name")) %>% left_join(Total_Teams_Per_Analysis, - by = join_by("subset_name" == "subset") + by = join_by("subset_name" == "subset") ) %>% reduce2( .x = list(SorensenSummary, teams_per_subset, Table4, Table3, Table2, Table1), @@ -539,9 +539,9 @@ calc_summary_stats_binary <- function(data, subset_name = character(1L)) { data %>% group_by(dataset) %>% summarise(., - sum_linear = sum(lm, na.rm = T), - sum_mixed = sum(mixed_model, na.rm = T), - sum_Bayesian = sum(Bayesian, na.rm = T), subset = subset_name + sum_linear = sum(lm, na.rm = T), + sum_mixed = sum(mixed_model, na.rm = T), + sum_Bayesian = sum(Bayesian, na.rm = T), subset = subset_name ) } @@ -586,9 +586,25 @@ calculate_variable_counts <- function(data, subset_name = character(1L)) { #' #' @export #' @import dplyr +#' @importFrom pointblank expect_col_exists count_conclusions <- function(data, subset_name = character(1L)) { - data %>% - filter(split_id == 1 & analysis_id == 1) %>% + # ----- Argument Checking ------ + stopifnot( + is.data.frame(data), + is.character(subset_name) + ) + + pointblank::expect_col_exists(object = data, + columns = + c( + contains("Conclusion"), + "split_id", + "analysis_id", + "dataset" + ) + ) + out <- data %>% + filter(split_id == 1 & analysis_id == 1) %>% #TODO switch to using `first()` so that we don't require columns split_id and analysis_id to exist group_by(dataset, pick(contains("Conclusion"))) %>% summarise(count = n(), .groups = "drop") %>% filter( @@ -596,4 +612,6 @@ count_conclusions <- function(data, subset_name = character(1L)) { if_any(contains("Conclusion"), ~ .x != "CHECK") ) %>% mutate(subset = subset_name) + + return(out) } diff --git a/R/calculate_deviation_score.R b/R/calculate_deviation_score.R index 6cd954b..bf4969d 100644 --- a/R/calculate_deviation_score.R +++ b/R/calculate_deviation_score.R @@ -3,37 +3,52 @@ #' #' @param data Dataset containing the column `"Z"` \(standardised out of sample prediction piont estimates\) or standardised effect-sizes, `"Zr"`. #' @param meta_analytic_model Fitted meta-analytic model of class `rma` -#' +#' @param outcome_colname Column name in `data` containing outcomes used in meta-analysis #' @return `data` but with an additional column of deviation score estimates `"abs_deviation_score_estimate"` #' @export #' -#' @examples -#' # Example Usage: TODO - this is incorrect bc box-cox transformation is included in meta_analyse_datasets_wrapper -#' # library(tidyverse); library(targets) -#' # tar_load(meta_analysis_outputs) -#' # calculate_deviation_score(meta_analysis_outputs$data[[1]], -#' # meta_analysis_outputs$MA_mod[[1]]) -calculate_deviation_score <- function(data, meta_analytic_model) { - cli::cli_h2(glue::glue("Calculating absolute deviation scores from standardised effect sizes")) - - stopifnot("rma" %in% class(meta_analytic_model)) - # TODO build in checks: - # stop if not data is not a dataframe - # stop if not data does not contain the column Zr/Z - - - meta_analytic_mean <- meta_analytic_model$beta[[1]] # TODO should this be the fitted val from the model, or the raw score? - # meta_analytic_se <- meta_analytic_model$se[[1]] - - +#' @import dplyr +#' @importFrom cli cli_h2 +calculate_deviation_score <- function(data, meta_analytic_model, outcome_colname) { + + # ----- Argument Checks ----- + stopifnot( + "rma" %in% class(meta_analytic_model), + is.data.frame(data) + ) + + pointblank::test_col_exists(data, outcome_colname) + + meta_analytic_mean <- meta_analytic_model$beta[[1]] + + if (any(rlang::is_null(meta_analytic_mean), + rlang::is_na(meta_analytic_mean))) { + cli::cli_abort( + text = + c("{.arg meta_analytic_mean} could not be calculated ", + "({.val {meta_analytic_mean}}): ", + "check the meta-analytic model in {.arg meta_analytic_model}." + ) + ) + } + + # ----- Calculate deviation scores ----- + cli::cli_h2(c("Calculating absolute deviation scores from meta-analytic mean")) + + cli::cli_alert_info( + text = + c("Using the meta-analytic mean outcome as the reference point:", + "{.arg meta_analytic_mean} = {.val {round(meta_analytic_mean, 4)}}") + ) + out <- data %>% ungroup() %>% mutate(across( - .cols = starts_with("Z"), - .fns = ~ abs(.x - { - meta_analytic_mean - }), + .cols = {{outcome_colname}}, + .fns = ~ abs(.x - meta_analytic_mean), .names = "abs_deviation_score_estimate" - )) # abs_deviation_score_se = abs({VZr - meta_analytic_se})? + ), + meta_analytic_mean = meta_analytic_mean) + return(out) } diff --git a/R/calculate_sorensen_diversity_index.R b/R/calculate_sorensen_diversity_index.R index 7efbc1d..d1f1dc6 100644 --- a/R/calculate_sorensen_diversity_index.R +++ b/R/calculate_sorensen_diversity_index.R @@ -1,14 +1,21 @@ -#' Calculate mean sorensen diversity index values for an analyst dataset +#' Calculate mean Sorensen pair-wise dissimilarity values for a ManyAnalyst dataset #' #' @param .data A variable diversity dataset with columns for each unique variable used in all analyses. Values are `NA` if the analysis did not use that variable, and take the value of the variable as a character string if the analysis did use that variable. Each unique analysis is a row. #' @param .id character string of the analysis identifier column #' -#' @return A tibble containing the variables `id_col`, `mean_diversity_index` and `num_variables` -#' @export +#' @return A tibble containing the variables `id_col`, `mean_diversity_index` and `num_variables`; the total number of variables used in a given analysis. +#' @export +#' @details +#' Sorensen pair-wise dissimilarity is calculated as the number of shared variables between two analyses divided by the total number of variables used in both analyses. After calculating the Sorensen dissimilarity for all pairwise comparisons, the function then computes the mean diversity index for each analysis as the mean of all pairwise comparisons for that analysis, generating a single value per analysis. +#' +#' @seealso See [betapart::beta.pair()] for details of the Sorensen dissimilarity calculation. +#' @import dplyr +#' @importFrom tibble column_to_rownames as_tibble rownames_to_column +#' @importFrom betapart beta.pair calculate_sorensen_diversity_index <- function(.data, .id = character()) { out <- .data %>% - column_to_rownames(paste0(.id)) %>% + tibble::column_to_rownames(paste0(.id)) %>% mutate(across(everything(), .fns = ~ case_when( !is.na(.x) ~ 1, @@ -23,12 +30,12 @@ calculate_sorensen_diversity_index <- function(.data, .id = character()) { pluck("beta.sor") %>% as.matrix() %>% as_tibble(rownames = NA) %>% - rownames_to_column("id_col") %>% + tibble::rownames_to_column("id_col") %>% bind_cols(num_variables = num_variables) %>% filter(num_variables > 0) %>% rowwise() %>% mutate( - mean_diversity_index = # TODO why do we take the mean again (remember: these are pairwise comparisons, so we need to reduce down to single value per analysis) + mean_diversity_index = mean(c_across(cols = -c( num_variables, id_col diff --git a/R/clean_response_transformation.R b/R/clean_response_transformation.R index 4176e38..ede148c 100644 --- a/R/clean_response_transformation.R +++ b/R/clean_response_transformation.R @@ -12,7 +12,7 @@ #' names `cleaned_transformation`. The `transformation_orig` values are the original response transformation values #' used by the analyst. The `cleaned_transformation` values are the cleaned response transformation values that are equal to the required `transformation` values in [conversion()]. #' The user can supply an alternate table of transformations depending on what is required for the back-transformation functions. -#' @family back-transformation functions +#' @family Back-transformation #' @seealso To be called after to [assign_transformation_type()] #' @examples #' clean_response_transformation("power2", ManyEcoEvo:::transformation_tbl) diff --git a/R/compute_MA_inputs.R b/R/compute_MA_inputs.R index 39dc8eb..5805a2f 100644 --- a/R/compute_MA_inputs.R +++ b/R/compute_MA_inputs.R @@ -1,46 +1,71 @@ #' Compute meta-analysis inputs for a nested-dataframe containing different datasets/subsets of analyst data -#' @description Computes the sorensen diversity indices and joins it to the prepared data in preparation for meta-analysing all subsets of data with `meta_analyse_datasets()`. +#' +#' @description +#' +#' Computes the Sorensen diversity indices and joins it to data in preparation for meta-analysing all subsets of data with [meta_analyse_datasets()]. #' #' @param ManyEcoEvo A dataframe grouped by the character columns `dataset`, `estimate_type`, `exclusion_set`. Each group corresponds to a subset of the full `dataset`, and has the subset analyst data stored in `data`, with its corresponding subset `diversity_data`. #' @param estimate_type character string, one of "Zr", "yi", "y25", "y50", "y75". -#' @details The name of the subset is derived from the funs generated by `subset_fns_yi` and/or `subset_fns_Zr`. -#' -#' Computes sorensen diversity indices `diversity_indices` for each subset of data returning them in the list-columns `diversity_indices` and joins them to the subset analyst `data`, returning it in the list-column `effects_analysis`. +#' @details #' +#' Computes Sorensen diversity indices `diversity_indices` for each subset of data returning them in the list-column `diversity_indices` and joins them to the relevant subset of processed analyst `data` within the list-column `effects_analysis`. +#' +#' Note that, the name of the subset is derived from the functions within by [subset_fns_yi()] and/or [subset_fns_Zr()] called in the previous step of data processing [generate_exclusion_subsets()]. +#' Should the user wish to skip the `generate_exclusion_subsets()` step, they can supply arbitrary values for `exclusion_set` and the function will still work. +#' +#' Should be run after *all* data subsetting is complete, otherwise the diversity indices will need to be recalculated. +#' +#' @seealso [apply_sorensen_calc()] is used to calculate the Sorensen diversity indices. +#' #' @return A dataframe that includes the additional columns in `ManyEcoEvo`, but with added columns `diversity_indices` and `effects_analysis`. #' @export #' @family Multi-dataset Wrapper Functions +#' @import dplyr +#' @importFrom purrr map2 map pmap +#' @importFrom rlang is_null +#' @importFrom pointblank col_exists test_col_exists +#' @importFrom cli cli_alert_warning cli_h1 compute_MA_inputs <- function(ManyEcoEvo, estimate_type = NULL) { # TODO should be renamed something to do with diversity indices... that's the # only thing happening here!! match.arg(estimate_type, choices = c("Zr", "yi", "y50", "y75", "y25", NULL), several.ok = FALSE) - # TODO insert check to ensure that if estimate_type supplied, there is NO col with estiamte_type in ManyEcoEvo? + cli::cli_h1(c("Computing Sorensen diversity indices inputs")) if (!rlang::is_null(estimate_type)) { + if (pointblank::test_col_exists(ManyEcoEvo, "estimate_type")) { + ManyEcoEvo <- dplyr::select(ManyEcoEvo, -estimate_type) + cli::cli_alert_warning(text = c( + "Column {.arg estimate_type} already exists in {.arg ManyEcoEvo},", + " and will be overwritten by supplied value", + " of {.arg estimate_type} = {.val {estimate_type}}")) + } + df <- ManyEcoEvo %>% + pointblank::col_exists(c("diversity_data", "data")) %>% mutate( diversity_indices = map(diversity_data, apply_sorensen_calc), effects_analysis = map2( - .x = data, .y = diversity_indices, # TODO post-dev, remove data/diversity_data cols?? - .f = ~ left_join(.x, .y) %>% + .x = data, + .y = diversity_indices, + .f = ~ left_join(.x, .y, by = join_by("id_col")) %>% rename(study_id = id_col) %>% mutate(estimate_type = !!{{ estimate_type }}) - ) - ) %>% # - dplyr::group_by(exclusion_set, dataset, estimate_type) + ), + estimate_type = !!{{ estimate_type }} + ) } else { df <- ManyEcoEvo %>% - pointblank::col_exists("estimate_type") %>% + pointblank::col_exists(c("estimate_type", "diversity_data", "data")) %>% mutate( - diversity_indices = map(diversity_data, apply_sorensen_calc), + diversity_indices = map(diversity_data, + apply_sorensen_calc), effects_analysis = pmap( .l = list(data, diversity_indices, estimate_type), - .f = ~ left_join(..1, ..2) %>% + .f = ~ left_join(..1, ..2, by = join_by("id_col")) %>% rename(study_id = id_col) %>% mutate(estimate_type = ..3) ) - ) %>% # TODO can we remove estimate type from this df? - dplyr::group_by(exclusion_set, dataset, estimate_type) + ) } - + return(df) } diff --git a/R/compute_metaanalysis_inputs.R b/R/compute_metaanalysis_inputs.R index e3c7e19..16c8d38 100644 --- a/R/compute_metaanalysis_inputs.R +++ b/R/compute_metaanalysis_inputs.R @@ -8,8 +8,10 @@ compute_metaanalysis_inputs <- function(.data, estimate_type = character(1L)) { # TODO insert checks that appropriate columns exist match.arg(estimate_type, choices = c("Zr", "yi", "y25", "y50", "y75"), several.ok = FALSE) - cli::cli_h1(glue::glue("Computing meta-analysis inputs", " for estimate type ", "{estimate_type}")) - + cli::cli_h1(c("Computing meta-analysis inputs", + " for {.arg estimate type} =", + " {.val {estimate_type}}")) + if (estimate_type == "Zr") { # Convert Effect Sizes to Zr ------- cli::cli_h2(paste0("Computing standardised effect sizes ", "{.code Zr}", " and variance ", "{.code VZr}")) @@ -27,15 +29,16 @@ compute_metaanalysis_inputs <- function(.data, estimate_type = character(1L)) { } else { cli::cli_h2(paste0("Transforming out of sample predictions from link to response scale")) .data <- .data %>% - pointblank::col_exists(columns = vars( - "response_id", - "submission_id", - "analysis_id", - "split_id", - "augmented_data", - "link_function", - "response_transformation_description" - )) %>% # TODO add check for response transformation + pointblank::col_exists( + columns = c( + "response_id", + "submission_id", + "analysis_id", + "split_id", + "augmented_data", + "link_function", + "response_transformation_description" + )) %>% # TODO add check for response transformation group_by(response_id, submission_id, analysis_id, split_id) %>% mutate( back_transformed_data = diff --git a/R/conversion.R b/R/conversion.R index 8bd7508..297391c 100644 --- a/R/conversion.R +++ b/R/conversion.R @@ -7,7 +7,6 @@ #' @param sim Number of simulations to use during back-transformation. Defaults to $10000$. #' #' @return The outputs of a back-transformation function, see family back-transformations -#' @family back transformation #' @details `transformation` character strings may take the values: #' * "log" #' * "logit" @@ -22,31 +21,36 @@ #' * "divided.by.X", where `X` is a numeric #' @export #' @import dplyr -#' @import purrr -#' @import cli -#' @import rlang -#' @import stringr +#' @importFrom purrr discard is_scalar_vector pluck +#' @importFrom cli cli_alert_danger cli_alert_warning cli_ol cli_alert_success +#' @importFrom rlang is_na +#' @importFrom stringr str_detect str_split +#' @family Back-transformation +#' @seealso [conversion_2()], [back()] conversion <- function(beta, se, transformation, sim = 10000) { - # Ensure Correct Number of Arguments Supplied + # ----- Argument Checking ----- na_args <- purrr::discard(c(beta, se, transformation), is.na) %>% length() - + if (na_args < 3) { cli::cli_alert_danger("Required values for back-transformation missing:") cli::cli_alert_warning("Returning {.val NA} for tupple:") cli::cli_ol(c( - "beta_estimate {.val {beta}},", - "beta_se {.val {se}},", + "beta {.val {beta}},", + "se {.val {se}},", "with {.val {transformation}} transformation." )) return(NA) } - # Ensure Correct Type of Arguments Supplied - stopifnot(purrr::is_scalar_vector(sim)) - stopifnot(is.numeric(beta)) - stopifnot(is.numeric(se)) - - # Apply Back Transformations + + stopifnot( + purrr::is_scalar_vector(sim), + is.numeric(beta), + is.numeric(se), + is.character(transformation) + ) + + # ----- Apply Back Transformations ----- if (transformation == "log") { log_back(beta, se, sim) } else if (transformation == "logit") { diff --git a/R/conversion_2.R b/R/conversion_2.R index 37789ec..21cdc14 100644 --- a/R/conversion_2.R +++ b/R/conversion_2.R @@ -8,25 +8,35 @@ #' @param sim Number of simulations to use during back-transformation. Defaults to $10000$. #' #' @return The outputs of a back-transformation function, see family back-transformations -#' @family back transformation #' @export +#' @family Back-transformation +#' @seealso [conversion()] conversion_2 <- function(beta, se, response_transformation, link_fun, sim = 10000) { + # ----- Argument Checking ----- na_args <- purrr::discard(c(beta, se, response_transformation, link_fun), is.na) %>% length() - if (na_args < 4) { cli::cli_alert_danger("Required values for back-transformation missing:") cli::cli_alert_warning("Returning {.val NA} for quadruple:") cli::cli_ol(c( - "beta_estimate {.val {beta}},", - "beta_se {.val {se}},", - "with {.val {response_transformation}} response transformation and", - "link function {.val {link_fun}}." + "{.arg beta} {.val {beta}},", + "{.arg se} {.val {se}},", + "with {.val {response_transformation}} response {.arg transformation} and", + "{.arg link_function }{.val {link_fun}}." )) return(NA) } - + + stopifnot( + purrr::is_scalar_vector(sim), + is.numeric(beta), + is.numeric(se), + is.character(response_transformation), + is.character(link_fun) + ) + + # ----- Back-transformation ----- set <- if (link_fun == "log") { log_back(set$beta, set$se, sim) } else if (link_fun == "logit") { diff --git a/R/convert_predictions.R b/R/convert_predictions.R index d66918f..ec2d042 100644 --- a/R/convert_predictions.R +++ b/R/convert_predictions.R @@ -1,15 +1,17 @@ #' Convert Predictions #' @description Converts out of sample predictions on the link scale back to the response scale -#' @param augmented_data A tibble of out of analysts's sample prediction data for 3 scenarios +#' @param augmented_data A tibble of out of analyst's sample prediction data for 3 scenarios #' @return A tibble of out of sample predictions on the response variable scale of the response variable used by the analyst -#' @family analysis-values +#' @family Analysis-level functions #' @export #' @import dplyr -#' @import purrr -#' @import rlang -#' @import cli +#' @importFrom purrr discard +#' @importFrom rlang is_na +#' @importFrom cli cli_alert_warning cli_abort #' @importFrom data.table setnames #' @importFrom pointblank has_columns +#' @family Back-transformation +#' @seealso [rename_prediction_cols()] convert_predictions <- function(augmented_data, transformation_type, response_transformation, @@ -17,6 +19,7 @@ convert_predictions <- function(augmented_data, # tar_load(all_prediction_data) # convert_predictions(augmented_data = all_prediction_data$augmented_data[[262]], # transformation_type = all_prediction_data$transformation_type[[262]]) + # if (rlang::is_na(list(augmented_data))) { cli::cli_alert_warning("Missing Value for {.arg augmented_data}, returning {.val NA}") out <- rlang::na_cpl @@ -44,26 +47,6 @@ convert_predictions <- function(augmented_data, SIMPLIFY = TRUE ) - rename_prediction_cols <- function(.data, key_var, .old_data) { - if (names(key_var) == "scenario") { - .data %>% - data.table::setnames( - old = colnames(.data), # TODO: is this order correct? .old_data is being used for the new variable.. - new = colnames(.old_data) %>% purrr::discard(~ .x == "scenario") - ) - } else if (names(key_var) == "SurveyID") { - .data %>% - data.table::setnames( - old = colnames(.data), # TODO: is this order correct? .old_data is being used for the new variable.. - new = colnames(.old_data) %>% purrr::discard(~ .x == "SurveyID") - ) - } else { - NA - } - - return(.data) - } - # Define input variables to conversion fns key_var <- augmented_data %>% @@ -94,7 +77,7 @@ convert_predictions <- function(augmented_data, t() } else { # Back-transform response AND link-function - if (rlang::is_na(response_transformation) | rlang::is_na(link_fun)) { + if (any(rlang::is_na(response_transformation), rlang::is_na(link_fun))) { cli::cli_alert_warning("Missing Value for {.arg response_transformation}, returning {.val NA}") out <- rlang::na_cpl } @@ -121,3 +104,34 @@ convert_predictions <- function(augmented_data, return(out) } + +#' Rename Prediction Columns +#' @description Renames the prediction columns in the output of convert_predictions +#' @param .data A tibble of out of sample predictions on the response variable scale +#' @param key_var A tibble of the key variables used in the conversion +#' @param .old_data A tibble of the original data used in the conversion +#' @return A tibble of out of sample predictions on the response variable scale with the correct column names +#' @family Analysis-level functions +#' @family Back-transformation +#' @importFrom data.table setnames +#' @importFrom purrr discard +#' @export +rename_prediction_cols <- function(.data, key_var, .old_data) { + if (names(key_var) == "scenario") { + .data %>% + data.table::setnames( + old = colnames(.data), # TODO: is this order correct? .old_data is being used for the new variable.. + new = colnames(.old_data) %>% purrr::discard(~ .x == "scenario") + ) + } else if (names(key_var) == "SurveyID") { + .data %>% + data.table::setnames( + old = colnames(.data), # TODO: is this order correct? .old_data is being used for the new variable.. + new = colnames(.old_data) %>% purrr::discard(~ .x == "SurveyID") + ) + } else { + NA + } + + return(.data) +} \ No newline at end of file diff --git a/R/est_to_Zr.R b/R/est_to_Zr.R index 8b74ffa..9d6ff57 100644 --- a/R/est_to_Zr.R +++ b/R/est_to_Zr.R @@ -5,7 +5,7 @@ #' @param adjusted_df numeric vector of the adjusted degrees of freedom for the analysis generating `beta_SE` and `beta_estimate` #' @return A named list of length 2 containing converted Zr and VZr values #' @export -#' @family analysis-values +#' @family Analysis-level functions est_to_zr <- function(beta_estimate, beta_SE, adjusted_df) { na_args <- purrr::discard(c(beta_estimate, beta_SE, adjusted_df), is.na) %>% length() diff --git a/R/exclude_extreme_VZ.R b/R/exclude_extreme_VZ.R index ebfd943..04ffb07 100644 --- a/R/exclude_extreme_VZ.R +++ b/R/exclude_extreme_VZ.R @@ -1,21 +1,51 @@ #' Exclude extreme values of VZ from a dataframe of standardised predictions #' -#' @param df A dataframe containing the columns `Z` and `VZ` +#' @param df A dataframe containing processed out-of-sample prediction values #' @param VZ_cutoff A numeric vector of length 1, values equal to or greater than this value of VZ will be filtered out of `df`. -#' -#' @return A dataframe with observations removed where the value is less than that of `VZ\_cutoff`. +#' @param VZ_colname A character vector corresponding to the column name in `df` containing the VZ values to filter on. +#' @return A dataframe with observations removed where the value is less than that of `VZ_cutoff`. #' @export -exclude_extreme_VZ <- function(df = data.frame(), VZ_cutoff = numeric(1L)) { - pointblank::col_exists(df, "VZ") - +#' @import dplyr +#' @importFrom pointblank col_exists +#' @importFrom cli cli_alert cli_h2 +#' @importFrom tidyselect all_of +#' @importFrom purrr pluck +exclude_extreme_VZ <- function(df = data.frame(), VZ_colname, VZ_cutoff = numeric(1L)) { + + # ----- Argument Checking ----- + pointblank::col_exists(df, !!{{VZ_colname}}) + stopifnot( + length(VZ_cutoff) == 1, + is.numeric(VZ_cutoff), + is.data.frame(df) + ) + + # ----- filter out extreme values ----- + cli::cli_h2("Excluding extreme values of VZ") df_out <- df %>% - dplyr::filter(VZ < !!{{ VZ_cutoff }}) - + dplyr::filter(if_any(.cols = all_of(VZ_colname), + .fns = ~ .x < !!{{VZ_cutoff}})) + + # ---- Format output ---- + if ( all(!is.null(cur_data()), + !is.null(cur_group_id()))) { + dataset <- cur_data() %>% + slice(cur_group_id()) %>% + pluck("dataset", 1) + estimate_type <- cur_data() %>% + slice(cur_group_id()) %>% + pluck("estimate_type", 1) + } else { + dataset <- "unknown" + estimate_type <- "unknown" + } + cli::cli_alert(paste0( nrow(df) - nrow(df_out), - " extreme values of VZ removed at threshold of ", - "{.val {VZ_cutoff}}." + " extreme values of {.arg {VZ_colname}} removed at threshold of ", + "{.val {VZ_cutoff}} for {.arg dataset} {.val {dataset}}, ", + "{.arg estimate_type} = {.val {estimate_type}}." )) - + return(df_out) } diff --git a/R/filt_multivar_MA.R b/R/filt_multivar_MA.R index d4121b7..4101e66 100644 --- a/R/filt_multivar_MA.R +++ b/R/filt_multivar_MA.R @@ -3,21 +3,22 @@ #' @description Fit a multivariate meta-regression model that models the effect of peer-review ratings on the deviation from the meta-analytic mean (both continuous and categorical ratings), mean Sorensen's index, and/or whether the analysis uses a mixed effects model, or not. #' #' @param data_tbl Data for model fitting -#' @param ... Additional arguments passed to `lmer` +#' @param ... Additional arguments passed to [lme4::lmer] #' @param env Environment in which to evaluate the formula, defaults to the calling environment #' @param N threshold for the number of analyses that must have been conducted using mixed effects models to include the binary predictor `mixed_model` in the meta-regression. Defaults to 5. #' #' @return An object of class lmer. #' #' @export -#' @importFrom rlang new_formula -#' @importFrom rlang caller_env -#' @importFrom rlang expr -#' @importFrom rlang expr +#' @importFrom rlang new_formula caller_env expr inject #' @importFrom lme4 lmer -#' @importFrom pointblank test_col_vals_gte +#' @importFrom pointblank test_col_vals_gte expect_col_exists #' @import dplyr -#' @import cli +#' @importFrom purrr list_flatten list_c transpose +#' @importFrom tibble enframe +#' @importFrom tidyr unite +#' @importFrom cli cli_alert_info cli_bullets cli_h2 style_italic +#' @importFrom glue glue #' @details #' Depending on whether enough analyses in `data_tbl` have been conducted with the `mixed_model` variable, the function will fit a model with or without the predictor `mixed_model`. #' @@ -29,70 +30,91 @@ #' - `box_cox_abs_deviation_score_estimate`: response variable, Box-Cox transformed deviation from the meta-analytic mean effect-size for each analysis #' - `mixed_model`: binary variable indicating whether the analysis used a mixed effects model or not #' - `ReviewerId`: reviewer identifier +#' @family Model fitting and meta-analysis fit_multivar_MA <- function(data_tbl, N = 5, ..., env = rlang::caller_env()) { + + # ----- Argument Checks ----- + data_tbl %>% - pointblank::expect_col_exists(columns = c( - box_cox_abs_deviation_score_estimate, - RateAnalysis, PublishableAsIs, - mean_diversity_index, - ReviewerId, - mixed_model - )) - # Define Models - f1 <- rlang::new_formula(rlang::expr(box_cox_abs_deviation_score_estimate), + pointblank::expect_col_exists( + columns = c( + box_cox_abs_deviation_score_estimate, + RateAnalysis, + PublishableAsIs, + mean_diversity_index, + ReviewerId, + mixed_model + )) + + # ----- Define Models ----- + + f1 <- rlang::new_formula( + rlang::expr(box_cox_abs_deviation_score_estimate), rlang::expr(RateAnalysis + - PublishableAsIs + - mean_diversity_index + - (1 | ReviewerId)), + PublishableAsIs + + mean_diversity_index + + (1 | ReviewerId)), env = env ) - - f2 <- rlang::new_formula(rlang::expr(box_cox_abs_deviation_score_estimate), + + f2 <- rlang::new_formula( + rlang::expr(box_cox_abs_deviation_score_estimate), rlang::expr(RateAnalysis + - PublishableAsIs + - mean_diversity_index + - mixed_model + - (1 | ReviewerId)), + PublishableAsIs + + mean_diversity_index + + mixed_model + + (1 | ReviewerId)), env = env ) - - cli::cli_h2("Fitting multivariate meta-regression model") - + pass_threshold <- data_tbl %>% count(mixed_model) %>% pointblank::test_col_vals_gte(n, N) - + cur_group_bullets <- dplyr::cur_group() %>% transpose() %>% list_flatten() %>% enframe() %>% mutate(value = list_c(value)) %>% unite(group, everything(), - sep = ": " + sep = ": " ) %>% pull(group) - + + # ---- Conditionally Fit Models ----- + if (pass_threshold == TRUE) { + cli::cli_alert_info(glue::glue( "Presence of random effects in analyses ", cli::style_italic("included"), " as predictor in model for data subset:" )) - cli::cli_bullets(c(setNames(cur_group_bullets, rep("*", length(cur_group_bullets))))) + + cli::cli_bullets(c( + setNames(cur_group_bullets, + rep("*", length(cur_group_bullets))) + )) + } else { + cli::cli_alert_info(glue::glue( "Presence of random effects in analyses ", cli::style_italic("excluded"), " as predictor in model for data subset:" )) - cli::cli_bullets(c(setNames(cur_group_bullets, rep("*", length(cur_group_bullets))))) + + cli::cli_bullets(c( + setNames(cur_group_bullets, + rep("*", length(cur_group_bullets))) + )) } - - # TODO MAKE SURE GIVES CORRECT EX + + # TODO MAKE SURE GIVES CORRECT EXPECTED OUTPUT f <- if (pass_threshold) f2 else f1 # MAKE SURE RETURNS APPROPIRATELY - + mod <- rlang::inject(lme4::lmer(!!f, data = data_tbl, ...)) - + return(mod) } diff --git a/R/fit_MA_mv.R b/R/fit_MA_mv.R index 3a6533e..d335168 100644 --- a/R/fit_MA_mv.R +++ b/R/fit_MA_mv.R @@ -1,10 +1,11 @@ #' Fit Meta-regression with random-effects -#' @description Fit a meta-regression model with random effects using the [metafor::rma.mv()] function from the `metafor` package to a dataframe containing the estimates and variances for the meta-analysis. +#' +#' @description Fit a meta-regression model with random effects using the [metafor::rma.mv()] function from the [metafor::] package to a data.frame containing the estimates and variances for the meta-analysis. #' #' @param effects_analysis A dataframe containing the estimates and variances for the meta-analysis. -#' @param Z_colname The name of the column containing the estimates. -#' @param VZ_colname The name of the column containing the variances. -#' @param estimate_type The type of estimate to be used in the model. One of "Zr", "y50", "y25", "y75", or "yi". +#' @param outcome_colname The name of the column containing the estimates. +#' @param outcome_SE_colname The name of the column containing the variances. +#' @param estimate_type The type of estimate to be used in the model. One of `c("Zr", "y50", "y25", "y75", or "yi")`. #' #' @return A fitted model of class `c("rma.mv","rma")`. #' @export @@ -13,20 +14,27 @@ #' @import metafor #' @importFrom pointblank stop_if_not #' @details -#' This function is a wrapper around the [metafor::rma.mv()] function from the `metafor` package. It takes a dataframe containing the estimates and variances for the meta-analysis, the name of the column containing the estimates, the name of the column containing the variances, and the type of estimate to be used in the model. It then fits a metaregression model with random-effects using the [metafor::rma.mv()] function called in [fit_metafor_mv()] and returns the fitted model. +#' This function is a wrapper around the [metafor::rma.mv()] function from the [metafor::] package. It takes a dataframe containing the estimates and variances for the meta-analysis, the name of the column containing the estimates, the name of the column containing the variances, and the type of estimate to be used in the model. It then fits a metaregression model with random-effects using the [metafor::rma.mv()] function called in [fit_metafor_mv()] and returns the fitted model. #' #' Nested random effects are included for `TeamIdentifier` and `TeamIdentifier/study_id`. #' @examples #' ManyEcoEvo_results$effects_analysis[[1]] %>% #' fit_MA_mv(beta_estimate, beta_SE, "Zr") -fit_MA_mv <- function(effects_analysis = data.frame(), Z_colname, VZ_colname, estimate_type = character(1L)) { - pointblank::stop_if_not(estimate_type %in% c("Zr", "yi", "y25", "y50", "y75")) +#' @seealso [fit_metafor_mv()], [metafor::rma.mv()] +#' @family Model fitting and meta-analysis +fit_MA_mv <- function(effects_analysis = data.frame(), + outcome_colname, + outcome_SE_colname, + estimate_type = character(1L)) { + + pointblank::stop_if_not(estimate_type %in% + c("Zr", "yi", "y25", "y50", "y75")) - Z <- effects_analysis %>% dplyr::pull({{ Z_colname }}) - VZ <- effects_analysis %>% dplyr::pull({{ VZ_colname }}) + outcome <- effects_analysis %>% dplyr::pull({{ outcome_colname }}) + outcome_variance <- effects_analysis %>% dplyr::pull({{ outcome_SE_colname }}) mod <- ManyEcoEvo::fit_metafor_mv( - estimate = Z, - variance = VZ, + estimate = outcome, + variance = outcome_variance, estimate_type = estimate_type, data = effects_analysis ) diff --git a/R/fit_boxcox_ratings_cat.R b/R/fit_boxcox_ratings_cat.R index 4877cab..e54c382 100644 --- a/R/fit_boxcox_ratings_cat.R +++ b/R/fit_boxcox_ratings_cat.R @@ -1,75 +1,108 @@ #' Fit model of boxcox deviation scores as function of continuous ratings #' @description Fit an lmer model of the box-cox transformed deviation from the meta-analytic mean scores as a function of continuous peer-review ratings #' -#' @param .data Data for model fitting +#' @param data Data for model fitting #' @param outcome outcome variable, unquoted. #' @param outcome_var Variance of the `outcome` variable #' @param interceptless A logical relating to whether the model should be interceptless or not. Defaults to `FALSE`. #' -#' @return An object of class lmer. +#' @return An object of class `lme4::lmerMod-class` #' @export -fit_boxcox_ratings_cat <- function(.data, outcome, outcome_var, interceptless = FALSE) { - cli::cli_h2(glue::glue("Fitting lmer with categorical ratings predictor on box_cox_transformed outcomes")) - # Example Usage: - # library(tidyverse);library(targets);library(metafor) - # tar_load(meta_analysis_outputs) - # meta_analysis_outputs$data[[1]] %>% - # fit_boxcox_ratings_cat(., - # outcome = box_cox_abs_deviation_score_estimate, - # outcome_var = VZr, interceptless = FALSE) - - # TODO @egouldo stopifnot data doesn't contain variables named eval(box_cox_outcome_var), eval(sampling_variance_var), review_data - # TODO @egouldo unnest and then check stopifnot: RateAnalysis, ReviewerId, study_id. +#' @family Model fitting and meta-analysis +#' @importFrom lme4 lmer +#' @importFrom rlang ensym new_formula expr +#' @import dplyr +#' @importFrom forcats fct_relevel +#' @importFrom tidyr unnest +#' @importFrom cli cli_h2 +#' @importFrom pointblank expect_col_exists +#' @examples +#' # Example Usage: +#' # library(tidyverse);library(targets);library(metafor) +#' # tar_load(meta_analysis_outputs) +#' # meta_analysis_outputs$data[[1]] %>% +#' # fit_boxcox_ratings_cat(., +#' # outcome = box_cox_abs_deviation_score_estimate, +#' # outcome_var = VZr, interceptless = FALSE) +fit_boxcox_ratings_cat <- function(data, outcome, outcome_var, interceptless = FALSE, ..., env = rlang::caller_env()) { + + # ----- Argument Checks ----- + stopifnot( + is.data.frame(data), + is.logical(interceptless) + ) + + pointblank::expect_col_exists( + data, + columns = c(starts_with("box_cox_abs_"), + {{outcome}}, + {{outcome_var}}, + study_id, + review_data) + ) + + # ----- Fit model ----- + cli::cli_h2(c("Fitting {.fn lmer} with categorical ratings predictor {.arg PublishableAsIs} on Box-Cox transformed {.arg outcome}: {.arg {rlang::enexpr(outcome)}}")) + data_tbl <- - .data %>% + data %>% unnest(cols = c(review_data)) %>% + pointblank::col_exists( + columns = c("PublishableAsIs", "ReviewerId") + ) %>% select( study_id, ReviewerId, PublishableAsIs, - starts_with("box_cox_"), # @TODO - delete this row? + starts_with("box_cox_"), #TODO - delete this row? {{ outcome }}, {{ outcome_var }} ) %>% ungroup() %>% mutate( - PublishableAsIs = forcats::fct_relevel(PublishableAsIs, c( - "deeply flawed and unpublishable", - "publishable with major revision", - "publishable with minor revision", - "publishable as is" - )), + PublishableAsIs = + forcats::fct_relevel( + PublishableAsIs, + c("deeply flawed and unpublishable", + "publishable with major revision", + "publishable with minor revision", + "publishable as is") + ), obs_id = 1:n() ) - + if (interceptless == FALSE) { f <- rlang::new_formula( rlang::ensym(outcome), - expr( + rlang::expr( PublishableAsIs + - (1 | ReviewerId) # + (1 | study_id ) RE ommitted due to convergence issues - ) + (1 | ReviewerId) + ), + env = env ) - - mod <- lme4::lmer(formula = f, data = data_tbl) + } else { - ( # interceptless: for plotting - - mod <- lme4::lmer( - rlang::new_formula( - rlang::ensym(outcome), - expr(-1 + PublishableAsIs + (1 | ReviewerId)) - ), - data = data_tbl - ) + # interceptless: for plotting + f <- rlang::new_formula( + rlang::ensym(outcome), + rlang::expr( + -1 + PublishableAsIs + (1 | ReviewerId) + ), + env = env ) } - + + mod <- rlang::inject(lme4::lmer(!!f, data = data_tbl, ...)) + return(mod) } - +#' Possibly [fit_boxcox_ratings_cat()] +#' @description Wrapper for [fit_boxcox_ratings_cat()] that returns `NA` if an error is encountered +#' @keywords internal +#' @family Model fitting and meta-analysis +#' @importFrom purrr possibly poss_fit_boxcox_ratings_cat <- purrr::possibly(fit_boxcox_ratings_cat, - otherwise = NA, - quiet = FALSE + otherwise = NA, + quiet = FALSE ) diff --git a/R/fit_boxcox_ratings_cont.R b/R/fit_boxcox_ratings_cont.R index 7275db6..61ba76a 100644 --- a/R/fit_boxcox_ratings_cont.R +++ b/R/fit_boxcox_ratings_cont.R @@ -1,56 +1,69 @@ #' Fit model of boxcox deviation scores as function of continuous ratings #' @description Fit an lmer model of the box-cox transformed deviation from the meta-analytic mean scores as a function of continuous peer-review ratings #' -#' @param .data Data for model fitting +#' @param data Data for model fitting #' @param outcome outcome variable, unquoted. #' @param outcome_var Variance of the `outcome` variable #' -#' @return An object of class lmer. +#' @return An object of class `lme4::lmerMod-class` #' @export -#' -#' @examples -#' # Example Usage: -#' # Note, outcome = the name using NSE of the response variable, otucome_var = the -#' # variance associated with that variable. -#' # library(tidyverse);library(targets);library(metafor);library(tidymodels);library(multilevelmod) -#' # tar_load(meta_analysis_outputs) -#' # meta_analysis_outputs$data[[1]] %>% -#' # fit_boxcox_ratings_cont(., -#' # box_cox_abs_deviation_score_estimate, -#' # VZr ) -fit_boxcox_ratings_cont <- function(.data, outcome, outcome_var, ..., env = rlang::caller_env()) { - cli::cli_h2(glue::glue("Fitting metaregression with continuous ratings predictor on box_cox_transformed outcomes")) - - # TODO @egouldo stopifnot data doesn't contain variables named eval(box_cox_outcome_var), eval(sampling_variance_var), review_data - # TODO @egouldo unnest and then check stopifnot: RateAnalysis, ReviewerId, study_id. - +#' @family Model fitting and meta-analysis +#' @import dplyr +#' @importFrom lme4 lmer +#' @importFrom rlang ensym new_formula inject expr caller_env +#' @importFrom tidyr unnest +#' @importFrom cli cli_h2 +fit_boxcox_ratings_cont <- function(data, outcome, outcome_var, ..., env = rlang::caller_env()) { + + # ----- Argument Checks ----- + stopifnot( + is.data.frame(data) + ) + pointblank::expect_col_exists( + data, + columns = c(starts_with("box_cox_abs_"), + {{outcome}}, + {{outcome_var}}, + study_id, + review_data) + ) + + # ----- Fit model ----- + cli::cli_h2(c("Fitting {.fn lmer} with continuous ratings predictor {.arg RateAnalysis} on Box-Cox transformed {.arg outcome}: {.arg {rlang::enexpr(outcome)}}")) data_tbl <- # TODO, consider extracting unnesting outside of this fn. - .data %>% + data %>% select( study_id, review_data, - starts_with("box_cox_"), # @TODO - delete this row? + starts_with("box_cox_"), #TODO - delete this row? {{ outcome }}, {{ outcome_var }} ) %>% unnest(cols = c(review_data)) %>% ungroup() %>% - mutate(., obs_id = 1:nrow(.)) # TODO Is this correct, or should it be done BEFORE the unnesting?? - - f <- rlang::new_formula(rlang::ensym(outcome), - expr( + pointblank::col_exists(columns = c("RateAnalysis", "ReviewerId")) %>% + mutate(., obs_id = 1:nrow(.)) + + f <- rlang::new_formula( + rlang::ensym(outcome), + rlang::expr( RateAnalysis + (1 | study_id) # NOTE: ReviewerId removed due to singularity ), env = env ) - + mod <- rlang::inject(lme4::lmer(!!f, data = data_tbl, ...)) - + return(mod) } +#' Possibly fit [fit_boxcox_ratings_cont()] model +#' @description Wrapper for [fit_boxcox_ratings_cont()] that returns `NA` if an error is thrown +#' @keywords internal +#' @family Model fitting and meta-analysis +#' @importFrom purrr possibly poss_fit_boxcox_ratings_cont <- purrr::possibly(fit_boxcox_ratings_cont, - otherwise = NA, - quiet = FALSE -) # TODO export + otherwise = NA, + quiet = FALSE +) diff --git a/R/fit_boxcox_ratings_ord.R b/R/fit_boxcox_ratings_ord.R index 6d44a56..01ad5dd 100644 --- a/R/fit_boxcox_ratings_ord.R +++ b/R/fit_boxcox_ratings_ord.R @@ -9,10 +9,16 @@ #' @param interceptless A logical relating to whether the model should be #' interceptless or not. Defaults to `FALSE`. #' -#' @return An object of class lmer. +#' @return An object of class `lme4::lmerMod-class` #' @export +#' @family Model fitting and meta-analysis +#' @importFrom lme4 lmer +#' @importFrom rlang ensym new_formula expr +#' @import dplyr +#' @importFrom tidyr unnest +#' @importFrom forcats fct_relevel fit_boxcox_ratings_ord <- function(.data, outcome, outcome_var, interceptless = FALSE) { - cli::cli_h2(glue::glue("Fitting lmer with ordinal ratings predictor on box_cox_transformed outcomes")) + cli::cli_h2(c("Fitting lmer with ordinal ratings predictor on box_cox_transformed outcomes")) # Example Usage: # library(tidyverse);library(targets);library(metafor) @@ -72,7 +78,11 @@ fit_boxcox_ratings_ord <- function(.data, outcome, outcome_var, interceptless = return(mod) } - +#' Possibly [fit_box_cox_ratings()] +#' @description A wrapper for [fit_box_cox_ratings()] that returns `NA` if an error is thrown +#' @keywords internal +#' @importFrom purrr possibly +#' @family Model fitting and meta-analysis poss_fit_boxcox_ratings_ord <- purrr::possibly(fit_boxcox_ratings_ord, otherwise = NA, quiet = FALSE diff --git a/R/fit_metafor_mv.R b/R/fit_metafor_mv.R index 36ec130..a95dce6 100644 --- a/R/fit_metafor_mv.R +++ b/R/fit_metafor_mv.R @@ -7,30 +7,24 @@ #' #' @return Object of class \code{rma.mv} #' @import metafor +#' @importFrom cli cli_h2 +#' @importFrom glue glue +#' @importFrom metafor rma.mv #' @export #' -#' @examples -#' # TODO -- is this the best way of setting up this fun?? (i.e. to take numeric vectors)? -#' # Example Usage: -#' # library(tidyverse);library(targets);library(metafor) # NOT RUN, TODO: remove after create pkg -#' # source("R/functions.R") #NOT RUN, TODO: remove after create pkg -#' tar_read(round_2_survey_meta_analysis) %>% -#' filter(dataset == "eucalyptus") %>% -#' filter( -#' !is.na(Zr), -#' !is.na(VZr), -#' !is.infinite(Zr), -#' !is.infinite(VZr) -#' ) %>% -#' fit_metafor_mv(estimate = .$Zr, variance = .$VZr, estimate_type = "Zr", data = .) +#' @family Model fitting and meta-analysis fit_metafor_mv <- function(estimate, variance, estimate_type = character(1L), data) { - cli::cli_h2(glue::glue("Fitting metaregression")) - match.arg(estimate_type, choices = c("Zr", "y50", "y25", "y75", "yi"), several.ok = FALSE) - + + cli::cli_h2(c("Fitting metaregression")) + + match.arg(estimate_type, + choices = c("Zr", "y50", "y25", "y75", "yi"), + several.ok = FALSE) + if (estimate_type != "Zr") { # you need to put SE^2 for y variance <- variance^2 } - + mod <- metafor::rma.mv( yi = estimate, # of type "Zr" or "ymed", "y25", "y75" V = variance, @@ -50,52 +44,45 @@ fit_metafor_mv <- function(estimate, variance, estimate_type = character(1L), da #' @param estimate Numeric vector #' @param variance Numeric vector #' @param estimate_type Character vector of either "Zr", "y50", "y25", "y75". -#' @param data Dataframe containing estimates and variances with case id column \code{study_id}. +#' @param data Dataframe containing estimates and variances with case id column `study_id`. #' -#' @return Object of class \code{rma.mv} -#' @import metafor +#' @return Object of class `rma.mv` +#' @importFrom metafor rma.mv #' @import dplyr -#' @importFrom glue glue #' @importFrom cli cli_h2 #' @export -#' -#' @examples -#' # TODO -- is this the best way of setting up this fun?? (i.e. to take numeric vectors)? -#' # Example Usage: -#' # library(tidyverse);library(targets);library(metafor) # NOT RUN, TODO: remove after create pkg -#' # source("R/functions.R") #NOT RUN, TODO: remove after create pkg -#' tar_read(round_2_survey_meta_analysis) %>% -#' filter(dataset == "eucalyptus") %>% -#' filter( -#' !is.na(Zr), -#' !is.na(VZr), -#' !is.infinite(Zr), -#' !is.infinite(VZr) -#' ) %>% -#' fit_metafor_mv(estimate = .$Zr, variance = .$VZr, estimate_type = "Zr", data = .) +#' @family Model fitting and meta-analysis fit_metafor_mv_reduced <- function(estimate, variance, estimate_type = character(1L), data) { - cli::cli_h2(glue::glue("Fitting multivariate metaregression")) + + cli::cli_h2(c("Fitting multivariate metaregression")) + match.arg(estimate_type, choices = c("Zr", "y50", "y25", "y75"), several.ok = FALSE) - + data <- data %>% ungroup() %>% mutate(obs_id = 1:n()) # metafor idiosyncrasy - + if (estimate_type != "Zr") { # you need to put SE^2 for y variance <- variance^2 } - + metafor::rma.mv( yi = estimate, # of type "Zr" or "ymed", "y25", "y75" V = variance, - random = list(~ 1 | TeamIdentifier / obs_id), + random = list(~ 1 | TeamIdentifier / study_id), data = data, sparse = TRUE, sigma2 = c(0, NA) ) } +#' Possibly [fit_metafor_mv()] +#' @description Wrapper for [fit_metafor_mv()] that returns `NA` if an error is thrown +#' @importFrom purrr possibly +#' @keywords internal +#' @family Model fitting and meta-analysis +#' @seealso [fit_metafor_mv()] poss_fit_metafor_mv <- purrr::possibly(fit_metafor_mv, - otherwise = NA, - quiet = FALSE + otherwise = NA, + quiet = FALSE ) diff --git a/R/fit_metafor_uni.R b/R/fit_metafor_uni.R index 197f2d5..1ed2f2f 100644 --- a/R/fit_metafor_uni.R +++ b/R/fit_metafor_uni.R @@ -7,7 +7,7 @@ #' #' @return A fitted model of class rma #' @export -#' +#' @family Model fitting and meta-analysis #' @examples #' # library(tidyverse);library(targets);library(metafor) #' # source("R/functions.R") @@ -22,7 +22,7 @@ #' # data = ., #' # slab = .$study_id) fit_metafor_uni <- function(Zr, VZr, data, slab) { - cli::cli_h2(glue::glue("Fitting univariate metaregression")) + cli::cli_h2(c("Fitting univariate metaregression")) metafor::rma( yi = Zr, vi = VZr, diff --git a/R/fit_sorensen_glm.R b/R/fit_sorensen_glm.R index d7376b6..aaa7757 100644 --- a/R/fit_sorensen_glm.R +++ b/R/fit_sorensen_glm.R @@ -1,43 +1,52 @@ #' Fit univariate glm of deviation scores on sorensen diversity index #' -#' @param data A dataframe containing box-cox transformed absolute deviation from the meta-analytic mean scores +#' @param data A `data.frame` containing Box-Cox transformed absolute deviation from the meta-analytic mean scores and the mean Sorensen's scores for each analysis #' -#' @return An fitted model object of class `glm` and `parsnip` +#' @return A fitted model object of class `glm` and `parsnip` #' @export -#' -#' @examples -#' # library(tidyverse);library(targets);library(metafor);library(tidymodels) -#' # tar_load(meta_analysis_outputs) -#' # fit_sorensen_glm(meta_analysis_results$data[[1]]) +#' @family Model fitting and meta-analysis +#' @importFrom parsnip linear_reg fit +#' @importFrom recipes recipe update_role +#' @importFrom workflows workflow add_model add_recipe extract_fit_parsnip +#' @import dplyr +#' @importFrom cli cli_h2 cli_alert_info +#' @importFrom pointblank expect_col_exists +#' @importFrom purrr simplify fit_sorensen_glm <- function(data) { - cli::cli_h2(glue::glue("Fitting glm for box-cox transformed outcome with sorensen diversity index as predictor")) + cli::cli_h2(c("Fitting glm for box-cox transformed outcome with sorensen diversity index as predictor")) cli::cli_alert_info(dplyr::cur_group() %>% purrr::simplify()) # TODO only run when applied within a tibble on a list-col... want fn available on its own - - - # TODO: stopifnot(does not contain box_cox_abs_ or mean_diversity_index) - + + pointblank::expect_col_exists(data, + columns = c(starts_with("box_cox_abs_"), + "mean_diversity_index")) + data <- data %>% - dplyr::select(dplyr::starts_with("box_cox_abs_"), mean_diversity_index) - + dplyr::select(dplyr::starts_with("box_cox_abs_"), + mean_diversity_index) + glm_recipe <- recipes::recipe(~., - data = data + data = data ) %>% recipes::update_role(starts_with("box_cox_abs_"), new_role = "outcome") - + glm_mod <- parsnip::linear_reg(engine = "glm") - + fitted_mod <- workflows::workflow() %>% workflows::add_model(glm_mod) %>% workflows::add_recipe(glm_recipe) %>% parsnip::fit(data = data) %>% workflows::extract_fit_parsnip() - + return(fitted_mod) } +#' Possibly [fit_sorensen_glm()] +#' @description A version of [fit_sorensen_glm()] that returns `NA` if an error is encountered +#' @keywords internal +#' @importFrom purrr possibly poss_fit_sorensen_glm <- purrr::possibly(fit_sorensen_glm, - otherwise = NA, - quiet = FALSE -) # TODO export + otherwise = NA, + quiet = FALSE +) diff --git a/R/fit_uni_mixed_effects.R b/R/fit_uni_mixed_effects.R index 5dda949..6c0a576 100644 --- a/R/fit_uni_mixed_effects.R +++ b/R/fit_uni_mixed_effects.R @@ -1,66 +1,84 @@ -#' Fit univariate glm of deviation scores on random effects inclusion +#' Fit model of Box-Cox transformed deviation scores as a function random-effects inclusion in analyses #' @description Fits a univariate glm of box-cox transformed absolute deviation from the meta-analytic mean scores as a function of whether the analysis was a mixed effects model \(i.e. included random effects\) or not. #' #' @param data Dataframe containing box-cox transformed absolute deviation scores and binary column called `mixed_model` describing whether or not the analysis used a mixed-effects model. #' #' @return A fitted model object of class `glm` and `parsnip` #' @export -#' +#' @family Model fitting and meta-analysis #' @examples #' # library(tidyverse);library(targets);library(metafor);library(tidymodels) #' # tar_load(meta_analysis_outputs) #' # fit_uni_mixed_effects(meta_analysis_results$data[[1]]) #' # Note: used tidymodels approach for dynamic outcome var selection #' # base R approach will be more succinct. +#' @import dplyr +#' @importFrom cli cli_h2 cli_warn cli_alert_warning +#' @importFrom pointblank test_col_exists +#' @importFrom recipes recipe update_role step_mutate step_naomit +#' @importFrom parsnip fit linear_reg +#' @importFrom workflows workflow add_model add_recipe extract_fit_parsnip +#' @seealso [parsnip::details_linear_reg_glm] for details on the [parsnip::linear_reg] engine. fit_uni_mixed_effects <- function(data) { - cli::cli_h2(glue::glue("Fitting glm for box-cox transformed outcome with inclusion of random effects (binary variable) as predictor")) - - if (pointblank::test_col_exists( - data, - c( - "mixed_model", - data %>% - select(starts_with("box_cox_abs_")) %>% # TODO will this not fail if missing?? Seems illogical to derive the col name we are testing to look for from the object?? - colnames() + + cli::cli_h2(c("Fitting glm for box-cox transformed outcome with inclusion of random effects (binary variable) as predictor")) + + if (pointblank::test_col_exists(data, + columns = c("mixed_model", + starts_with("box_cox_abs_")))) { + + cli::cli_alert_warning( + c("Columns {.var mixed_model} and ", + data %>% + dplyr::select(starts_with("box_cox_abs_")) %>% + colnames(), + " missing. Returning {.val {NA}}.") ) - )) { - if (length(unique(data$mixed_model)) == 1) { - cli::cli_warn(message = "More than 1 unique value of {.var mixed_model} is needed to fit model with {.var mixed_model} as predictor variable.") - - return(NA) - } else { - data <- data %>% - dplyr::select(dplyr::starts_with("box_cox_abs_"), mixed_model) - - glm_recipe <- - recipes::recipe(~., - data = data - ) %>% - recipes::update_role(starts_with("box_cox_abs_"), new_role = "outcome") %>% - recipes::step_mutate(mixed_model = as.factor(mixed_model)) %>% - recipes::step_naomit() - - glm_mod <- parsnip::linear_reg(engine = "glm") - - fitted_mod <- - workflows::workflow() %>% - workflows::add_model(glm_mod) %>% - workflows::add_recipe(glm_recipe) %>% - parsnip::fit(data = data) %>% - workflows::extract_fit_parsnip() - - return(fitted_mod) - } - } else { - cli::cli_alert_warning(c("Columns {.var mixed_model} and ", data %>% - select(starts_with("box_cox_abs_")) %>% - colnames(), " missing. Returning {.val {NA}}.")) - + return(NA) - } + + } else if ( length(unique(data$mixed_model)) == 1) { + + cli::cli_warn(message = "More than 1 unique value of {.var mixed_model} ", + "is needed to fit model with {.var mixed_model} ", + "as predictor variable. Returning {.val {NA}}") + + return(NA) + + } else { + + data <- data %>% + dplyr::select(dplyr::starts_with("box_cox_abs_"), + mixed_model) + + glm_recipe <- + recipes::recipe(~., + data = data + ) %>% + recipes::update_role(starts_with("box_cox_abs_"), new_role = "outcome") %>% + recipes::step_mutate(mixed_model = as.factor(mixed_model)) %>% + recipes::step_naomit() + + glm_mod <- parsnip::linear_reg(engine = "glm") + + fitted_mod <- + workflows::workflow() %>% + workflows::add_model(glm_mod) %>% + workflows::add_recipe(glm_recipe) %>% + parsnip::fit(data = data) %>% + workflows::extract_fit_parsnip() + } + + return(fitted_mod) } +#' Possibly [fit_uni_mixed_effects()] +#' @description Wrapper for [fit_uni_mixed_effects()] that returns `NA` if an error is thrown. +#' @seealso [fit_uni_mixed_effects()] +#' @importFrom purrr possibly +#' @keywords internal +#' @family Model fitting and meta-analysis poss_fit_uni_mixed_effects <- purrr::possibly(fit_uni_mixed_effects, - otherwise = NA, - quiet = FALSE -) # TODO export and document + otherwise = NA, + quiet = FALSE +) diff --git a/R/generate_collinearity_subset.R b/R/generate_collinearity_subset.R index 1954dc1..d90e7fe 100644 --- a/R/generate_collinearity_subset.R +++ b/R/generate_collinearity_subset.R @@ -19,9 +19,7 @@ #' #' `generate_collinearity_subset()` only creates expertise subsets based on the full dataset where `exclusion_set == "complete"` and `publishable_subset == "All"` and `expertise_subset == "All"`. #' @import dplyr -#' @importFrom purrr map -#' @importFrom purrr map2 -#' @importFrom purrr pluck +#' @importFrom purrr map map2 pluck #' @examples #' ManyEcoEvo %>% #' prepare_response_variables(estimate_type = "Zr") |> @@ -34,48 +32,51 @@ generate_collinearity_subset <- function(ManyEcoEvo, collinearity_subset) { if (!is.data.frame(collinearity_subset)) { stop("collinearity_subset must be a dataframe.") } - + if (!is.data.frame(ManyEcoEvo)) { stop("ManyEcoEvo must be a dataframe.") } - + # Check if the subset_collumn dataframe has the correct column names if (!all(c("response_id", "id_col") %in% colnames(collinearity_subset))) { stop("The input dataframe must contain the column 'response_id' and 'id_col'.") } - + # Check if the response_id column is unique if (length(unique(collinearity_subset$id_col)) != nrow(collinearity_subset)) { stop("The 'id_col' column in collinearity_subset must be unique.") } - + collinearity_subset_dataset <- collinearity_subset %>% pluck("dataset", unique) - + collinear_removed <- ManyEcoEvo %>% filter( publishable_subset == "All" & exclusion_set == "complete" & expertise_subset == "All", dataset %in% collinearity_subset_dataset ) %>% - mutate(data = map( - .x = data, - .f = dplyr::anti_join, collinearity_subset, - by = join_by(response_id, id_col, dataset) - )) %>% + mutate(data = + map( + .x = data, + .f = dplyr::anti_join, + collinearity_subset, + by = join_by(response_id, id_col, dataset) + )) %>% mutate( diversity_data = map2( .x = diversity_data, .y = data, - .f = ~ semi_join(.x, .y, join_by(id_col, dataset)) %>% distinct() + .f = ~ semi_join(.x, .y, join_by(id_col, dataset)) %>% + distinct() ), collinearity_subset = "collinearity_removed" ) - + out <- bind_rows( ManyEcoEvo %>% mutate(collinearity_subset = "All"), collinear_removed ) - + return(out) } diff --git a/R/generate_exclusion_subsets.R b/R/generate_exclusion_subsets.R index 0946218..bb26fdf 100644 --- a/R/generate_exclusion_subsets.R +++ b/R/generate_exclusion_subsets.R @@ -1,18 +1,31 @@ #' Generate subsets of analyst data based on different exclusion criteria +#' +#' @description +#' Generates subsets of data with different combinations of outliers removed for different `exclusion_set`s. #' -#' @param ManyEcoEvo A dataframe +#' @param ManyEcoEvo A dataframe containing at minimum the character column `dataset` and list-columns `data` and `diversity_data`. #' @param estimate_type character vector, one of \code{"Zr", "yi", "y25", "y50", "y75", NULL}. -#' @details If `estimate_type` is `NULL`, the column `estimate_type` must be in `ManyEcoEvo`. -#' @note This function uses the functions`subset_fns_Zr`and `subset_fns_yi` to create named lists with elements containing `rlang_lambda_function`s, whose element name is the name of the `rlang_lambda_function` -#' @return A `dataframe` grouped by dataset and exclusion_set that contains subsets of `data` and `diversity_data` based on exclusion criteria functions defined in `subset_fns_Zr` and `subset_funs_yi`, +#' @details +#' If `estimate_type` is `NULL`, the column `estimate_type` must be in `ManyEcoEvo`. +#' +#' This function uses the functions [subset_fns_Zr()] and []subset_fns_yi() to create named lists with elements containing `purrr::`-style lambda functions, whose element name is the name of the function. +#' +#' If `NULL` is provided to the argument `estimate_type`, then the column `estimate_type` must exist in `ManyEcoEvo`, as this column will be used to filter the exclusion criteria functions. +#' +#' The value of column `exclusion_set` in the returned object will be the name of the exclusion criteria function, with the prefix "subset_" removed, derived from either [subset_fns_Zr()] or [subset_funs_yi()], depending on the `estimate_type`. +#' +#' **Note**: This function should be exectued after [prepare_response_variables()] and [generate_yi_subsets()]. +#' @return A `dataframe` grouped by `dataset` and `exclusion_set` that contains subsets of `data` and `diversity_data` based on exclusion criteria functions defined in [subset_fns_Zr()] and [subset_funs_yi()], and the `estimate_type` column. +#' #' @export -#' @note To be run after `generate_exclusion_subsets()` #' @family Multi-dataset Wrapper Functions +#' @import dplyr +#' @importFrom stringr str_remove +#' @importFrom tidyr unnest_longer +#' @importFrom purrr map2 exec +#' @importFrom pointblank test_col_exists +#' @importFrom rlang is_null generate_exclusion_subsets <- function(ManyEcoEvo, estimate_type = NULL) { - # generates datasets according to different exclusion criteria - # Generates the equivalent datasets with different combinations of outliers removed - # expects nested data frame grouped by dataset with analysis data stored in list-col variable `data` - # and raw diversity index data stored in variable `diversity_data` match.arg( arg = estimate_type, @@ -20,6 +33,7 @@ generate_exclusion_subsets <- function(ManyEcoEvo, estimate_type = NULL) { several.ok = FALSE ) cli::cli_h1("Applying exclusion rules and generating exclusion subsets") + subset_fns_df <- tibble::tibble( exclusion_set = names(subset_fns_Zr()) %>% stringr::str_remove(., "subset_"), @@ -30,7 +44,7 @@ generate_exclusion_subsets <- function(ManyEcoEvo, estimate_type = NULL) { dplyr::bind_rows( ., tibble::tibble( - exclusion_set = names(subset_fns_yi()) %>% # TODO mv these funs into this function. + exclusion_set = names(subset_fns_yi()) %>% # TODO expose this as a function argument stringr::str_remove(., "subset_"), fns = subset_fns_yi() ) %>% @@ -39,35 +53,39 @@ generate_exclusion_subsets <- function(ManyEcoEvo, estimate_type = NULL) { dplyr::group_by(exclusion_set) ) - if (!rlang::is_null(estimate_type)) { + if (!rlang::is_null(estimate_type)) { # When argument `estimate_type` is not NULL if (pointblank::test_col_exists(ManyEcoEvo, "estimate_type")) { ManyEcoEvo <- ManyEcoEvo %>% - select(-"estimate_type") # will be replaced with `estimate_type` arg. + select(-"estimate_type") } df <- subset_fns_df %>% + pointblank::col_exists("estimate_type") %>% dplyr::filter(estimate_type == !!{{ estimate_type }}) %>% dplyr::mutate(ManyEcoEvo = list(ManyEcoEvo)) %>% tidyr::unnest(ManyEcoEvo) %>% - dplyr::group_by(dataset, exclusion_set, estimate_type) %>% - dplyr::transmute( + ungroup() %>% + dplyr::mutate( data = purrr::map2( .x = fns, .y = data, .f = exec ), - diversity_data = # this step filters diversity_data according to matches in data, is also applied in prepare_yi + diversity_data = purrr::map2( .x = diversity_data, .y = data, - .f = ~ dplyr::semi_join(.x, .y) %>% distinct() - ) + .f = ~ dplyr::semi_join(.x, .y, by = join_by("id_col")) %>% + distinct() + ), + .keep = "unused" ) # TODO duplicate cols for euc R_1LRqq2WHrQaENtM, glasgow? - } else { # Expects estimate_type is stored in column `estimate_type` - df <- ManyEcoEvo %>% # TODO should we pointblank::stop_if_not(pointblank::test_col_exists(ManyEcoEvo, "estimate_type")) ?? - dplyr::left_join(subset_fns_df) %>% - dplyr::group_by(dataset, exclusion_set) %>% + } else { # When argument estimate_type is NULL + df <- ManyEcoEvo %>% + pointblank::col_exists("estimate_type") %>% + dplyr::left_join(subset_fns_df, by = join_by("estimate_type")) %>% + ungroup() %>% dplyr::mutate( data = purrr::map2( @@ -75,14 +93,15 @@ generate_exclusion_subsets <- function(ManyEcoEvo, estimate_type = NULL) { .y = data, .f = exec ), - diversity_data = # this step filters diversity_data according to matches in data, is also applied in prepare_yi + diversity_data = map2( .x = diversity_data, .y = data, - .f = ~ semi_join(.x, .y) %>% distinct() + .f = ~ semi_join(.x, .y, by = join_by("id_col")) %>% + distinct() ), .keep = "unused" - ) + ) } return(df) diff --git a/R/generate_expertise_subsets.R b/R/generate_expertise_subsets.R index 46a4dbb..1b9a8b2 100644 --- a/R/generate_expertise_subsets.R +++ b/R/generate_expertise_subsets.R @@ -27,23 +27,28 @@ generate_expertise_subsets <- function(ManyEcoEvo, expert_subset) { # NOTE: should be run *after* computing Zr with compute_MA_inputs() out <- ManyEcoEvo %>% filter(publishable_subset == "All" & exclusion_set == "complete") %>% - mutate(data = map(.x = data, .f = dplyr::semi_join, expert_subset)) %>% + mutate(data = + map(.x = data, + .f = dplyr::semi_join, + expert_subset, + by = join_by(response_id, TeamIdentifier))) %>% mutate( diversity_data = map2( .x = diversity_data, .y = data, - .f = ~ semi_join(.x, .y) %>% distinct() + .f = ~ semi_join(.x, .y, join_by(id_col)) %>% + distinct() ) ) %>% mutate(expertise_subset = "expert") - + # THEN BIND ROWS WITH PREVIOUS DATASETS out <- bind_rows( ManyEcoEvo %>% mutate(expertise_subset = "All"), out ) - + return(out) } diff --git a/R/generate_outlier_subsets.R b/R/generate_outlier_subsets.R index df8f9be..3bf73c5 100644 --- a/R/generate_outlier_subsets.R +++ b/R/generate_outlier_subsets.R @@ -1,73 +1,284 @@ #' Generate Outlier Subsets for ManyEcoEvo datasets #' @description Removes top outlier for `yi` datasets and top 2 and bottom 2 outliers for `Zr` datasets #' -#' @param ManyEcoEvo a ManyEcoEvo dataframe containing formatted raw `data`, formatted `diversity_data`, the `estimate_type`, and `dataset` -#' -#' @return A ManyEcoEvo dataframe with added column `exclusion_set` with new subsets of `data` and `diversity_data` +#' @param data a ManyEcoEvo dataframe containing formatted raw `data`, formatted `diversity_data`, the `estimate_type`, and `dataset` +#' @param n_min integer, the number of bottom outliers to remove +#' @param n_max integer, the number of top outliers to remove +#' @param ignore_subsets A list of <[`data-masked`][dplyr::dplyr_data_masking]> expressions passed to [dplyr::filter()] for ignoring specific data subsets when removing outliers +#' @param outcome_variable A named list containing either/and a list of `dataset`s and their corresponding outcome variables for each value of `dataset`, a list of `estimate_type`s and their corresponding outcome variables for each value of `estimate_type`. +#' @return A ManyEcoEvo dataframe with added column `exclusion_set` with new subsets of `data`, `diversity_data` that exclude outliers. #' @export +#' @details +#' +#' ## Function Usage +#' +#' `n_min` and `n_max` are used to specify the number of outliers to remove from the bottom and top of the dataset, respectively. These arguments are passed to the `n` argument within [dplyr::slice_min()] and [slice_max()] respectively. Note that negative values of `n_min` and `n_max` will be removed from the dataset, while positive values of `n` will retain observations in the dataframe. +#' +#' `ignore_subsets` is used to specify which subsets of the data should be ignored when removing outliers. This is useful when you want to remove outliers from all datasets except for specific subsets. For example, if you want to remove outliers from all datasets except for the `eucalyptus` dataset, you would pass `ignore_subsets = dataset == "eucalyptus"`. +#' +#' The function will check that any columns specified in `ignore_subsets` exist in the dataset using [pointblank::test_col_exists()]. If they do not, the function will throw an error. +#' +#' ## Analysis Pipeline Usage +#' +#' This function ahould be run after computing response variables for `yi` datasets with [generate_yi_subsets()] and `Zr` datasets with [generate_Zr_subsets()], but it may also be executed on the raw data to remove the top `n_max` and bottom `n_min` observations. +#' +#' Note that `outcome_variable` +#' +#' #TODO: will nolonger work on Zr dataset, because this doesn't contain an estimate_type col? +#' +#' `collinearity_subset != "collinearity_removed"` for Zr datasets and Don't run with the reduced publishability subset.... some of these already only have 10 data points!! +#' +#' @examples +#' +#' analysis_data <- ManyEcoEvo_yi %>% +#' prepare_response_variables( +#' estimate_type = "yi", +#' param_table = ManyEcoEvo:::analysis_data_param_tables, +#' dataset_standardise = "blue tit", +#' dataset_log_transform = "eucalyptus") %>% +#' generate_yi_subsets() %>% #TODO: must be run after prepare_response_variables?? +#' apply_VZ_exclusions( +#' VZ_colname = list("eucalyptus" = "se_log", +#' "blue tit" = "VZ"), +#' VZ_cutoff = 3) %>% +#' generate_exclusion_subsets() %>% +#' compute_MA_inputs() +#' analysis_data %>% generate_outlier_subsets(outcome_variable = list(dataset = list("eucalyptus" = "mean_log", "blue tit" = "Z"), "estimate_type" = list("Zr" = "Zr")), n_min = -3, n_max = -3, ignore_subsets = list(estimate_type != "y25", dataset != "eucalyptus")) +#' #' @family Multi-dataset Wrapper Functions -#' @family targets-pipeline functions -generate_outlier_subsets <- function(ManyEcoEvo) { - # NOTE: should be run *after* computing Zr with compute_MA_inputs() - # because the function expects the column 'Zr' to exist in - # TODO: will nolonger work on Zr dataset, because this doesn't contain an estimate_type col? - # TODO: Don't run with the reduced publishability subset.... some of these already only have 10 data points!! - # apply conditional behaviour to trigger both - # TODO: do not run for collinearity_removed datasets - if (str_detect(ManyEcoEvo$estimate_type, "Zr") %>% any(na.rm = TRUE)) { - ManyEcoEvo_Zr <- ManyEcoEvo %>% - filter(estimate_type == "Zr") %>% - bind_rows(., { - ManyEcoEvo %>% - filter(estimate_type == "Zr", collinearity_subset != "collinearity_removed") %>% - mutate(effects_analysis = map( - effects_analysis, - ~ slice_max(.x, Zr, n = -2) %>% - slice_min(Zr, n = -2) - )) %>% - mutate( - exclusion_set = paste0(exclusion_set, "-rm_outliers"), - diversity_data = - map2( - .x = diversity_data, - .y = data, # TODO should this be effects analysis?? Yes, but no shared variables... - .f = ~ semi_join(.x, .y) %>% distinct() - ) - ) - }) # TODO duplicates in diversity_data....?? +generate_outlier_subsets <- function(data, outcome_variable = NULL, n_min = NULL, n_max = NULL, ignore_subsets = NULL) { + # ----- Argument Checks ----- + + if (length(c(n_max, n_min)) == 0) { + cli_abort("One of {.arg n_max} or {.arg n_min} must be supplied") } - - if (str_detect(ManyEcoEvo$estimate_type, "y") %>% any(na.rm = TRUE)) { - ManyEcoEvo_yi <- ManyEcoEvo %>% - filter(str_detect(estimate_type, "y")) %>% - bind_rows(., { - ManyEcoEvo %>% - filter(str_detect(estimate_type, "y")) %>% - mutate(data = map( - data, # TODO check list-column is still called this! - ~ slice_max(.x, Z, n = -1) - )) %>% # TODO check that downstream functions call on data and not effects analysis!!! - mutate( - exclusion_set = paste0(exclusion_set, "-rm_outliers"), - diversity_data = - map2( - .x = diversity_data, - .y = data, # TODO should this be effects analysis??? - .f = ~ semi_join(.x, .y) %>% distinct() - ) - ) - }) + + stopifnot( + is.data.frame(data) + ) + + required_columns <- c("data", + "diversity_data", + "estimate_type", + "dataset") + + #TODO consider switching to exprs instead of list as input + # see meta_analyse_datasets + if (!is.null(enexpr(ignore_subsets))) { + ignore_subsets_columns <- rlang::call_args(enquo(ignore_subsets)) %>% + map(rlang::f_lhs) %>% + map(rlang::as_string) %>% + list_c() %>% + append(values = required_columns) %>% + unique() + } else { + ignore_subsets_columns <- required_columns } - - out <- if (exists(x = "ManyEcoEvo_Zr") & exists(x = "ManyEcoEvo_yi")) { - bind_rows(ManyEcoEvo_Zr, ManyEcoEvo_yi) - } else if (exists(x = "ManyEcoEvo_Zr") & !exists(x = "ManyEcoEvo_yi")) { - ManyEcoEvo_Zr - } else if (!exists(x = "ManyEcoEvo_Zr") & exists(x = "ManyEcoEvo_yi")) { - ManyEcoEvo_yi + + pointblank::expect_col_exists(data, + columns = ignore_subsets_columns) + + if (is.list(n_min)) { + map(n_min, ~ { + stopifnot( + is.numeric(.x) + ) + }) + } else { + stopifnot( + is.numeric(n_min) + ) + # ----- Format `n_min` when `n_min` is not list ----- + if (length(n_min) < length(unique(data$dataset))) { + cli::cli_alert_warning("{.arg n_min} = {.val {n_min}} was recycled to match the number of unique datasets in {.arg data}.") + n_min <- rep(n_min, length(unique(data$dataset))) + } + } + + if (is.list(n_max)) { + map(n_max, ~ { + stopifnot( + is.numeric(.x) + ) + }) + } else { + stopifnot( + is.numeric(n_max) + ) + # ----- Format `n_max` when `n_max` is not list ----- + if (length(n_max) < length(unique(data$dataset))) { + cli::cli_alert_warning("{.arg n_max} = {.val {n_max}} was recycled to match the number of unique datasets in {.arg data}.") + n_max <- rep(n_max, length(unique(data$dataset))) + } + } + # ----- Create match formulae for outcome variables and n_min/n_max----- + + if (is.list(n_min)) { + formulae_match_n_min <- formulae_match(names(n_min), n_min) + } else { + formulae_match_n_min <- formulae_match(unique(data$dataset), n_min) + } + + if (is.list(n_max)) { + formulae_match_n_max <- formulae_match(names(n_max), n_max) + } else { + formulae_match_n_max <- formulae_match(unique(data$dataset), n_min) + } + + matched_formulae <- map(outcome_variable, ~ formulae_match(x = names(.x), y = .x)) + + # ----- Generate Outlier Subsets ----- + if (str_detect(data$estimate_type, "Zr") %>% any(na.rm = TRUE)) { + + if (!is.null(enexpr(ignore_subsets))) { + filter_vars <- quos(estimate_type == "Zr", + !!!rlang::call_args(enquo(ignore_subsets))) + } else { + filter_vars <- quo(estimate_type == "Zr") + } + + data_Zr <- data %>% + filter(estimate_type == "Zr") + + data_Zr <- + map2(names(matched_formulae), matched_formulae, + .f = ~ map_match_formulae(data_Zr, .x, .y)) %>% + bind_rows() %>% + drop_na(outcome_colname) %>% + map_match_formulae(variable_name = "dataset", formulae_match_n_min, col_name = "n_min") %>% + map_match_formulae(variable_name = "dataset", formulae_match_n_max, col_name = "n_max") %>% + apply_slice_conditionally( + x = ., + filter_vars = filter_vars) %>% + select(-outcome_colname, -n_min, -n_max) + } + + if (str_detect(data$estimate_type, "y") %>% + any(na.rm = TRUE)) { + + if (!is.null(enexpr(ignore_subsets))) { + filter_vars <- quos(str_detect(estimate_type, "y"), + !!!rlang::call_args(enquo(ignore_subsets))) + } else { + filter_vars <- quo(str_detect(estimate_type, "y")) + } + + data_yi <- data %>% + filter(str_detect(estimate_type, "y")) + + data_yi <- map2( + names(matched_formulae), + matched_formulae, + .f = ~ map_match_formulae(data_yi, .x, .y)) %>% + bind_rows() %>% + drop_na(outcome_colname) %>% + map_match_formulae(variable_name = "dataset", formulae_match_n_min, col_name = "n_min") %>% + map_match_formulae(variable_name = "dataset", formulae_match_n_max, col_name = "n_max") %>% + apply_slice_conditionally( + x = ., + filter_vars = filter_vars) %>% + select(-outcome_colname, -n_min, -n_max) + } + + out <- if (exists(x = "data_Zr") & exists(x = "data_yi")) { + bind_rows(data_Zr, data_yi) + } else if (exists(x = "data_Zr") & !exists(x = "data_yi")) { + data_Zr + } else if (!exists(x = "data_Zr") & exists(x = "data_yi")) { + data_yi } else { NULL } + + return(out) +} + + +#' Slice Conditionally +#' +#' @param data A tibble +#' @param n_min integer, the number of bottom outliers to remove +#' @param n_max integer, the number of top outliers to remove +#' @param outcome_variable character string, the name of the outcome variable +#' @keywords internal +slice_conditionally <- function(data, n_min, n_max, outcome_variable) { + data %>% + {if (!is.null({{n_min}})) slice_min(., pick(outcome_variable), n = n_min) else .} %>% + {if (!is.null({{n_max}})) slice_max(., pick(outcome_variable), n = n_max) else .} +} +#' Apply slice conditionally +#' @param x A tibble, containing the full dataset which will be subset with [slice_conditionally()] and bound back to the original dataset `x` +#' @param filter_vars A list of quosures to be used in [dplyr::filter()] to subset `y` +#' @param n_min integer, the number of bottom outliers to remove +#' @param n_max integer, the number of top outliers to remove +#' @details the tibble `x` must contain the columns `data`, `outcome_colname`, `n_min`, and `n_max`. Will create the columns `exclusion_set` if not present in the dataset, assigning `"complete"` to `x` and `"complete-rm_outliers"` to the subsetted data bound to `x`. +#' @keywords internal +apply_slice_conditionally <- function(x, filter_vars){ + out <- bind_rows(x %>% + mutate( exclusion_set = + if ("exclusion_set" %in% colnames(.)) { + exclusion_set } + else {"complete"}), { + x %>% + filter(!!!filter_vars) %>% + mutate(data = + pmap(list(data, outcome_colname, n_min, n_max), + .f = ~ slice_conditionally(..1, + n_min = ..3, + n_max = ..4, + outcome_variable = ..2 + ))) %>% + mutate( exclusion_set = + if ("exclusion_set" %in% colnames(.)) { + paste0(exclusion_set, "-rm_outliers") } + else {"complete-rm_outliers"}, + data = + map2( + .x = data, + .y = data, + .f = ~ semi_join(.x, .y, + by = join_by(id_col)) %>% + distinct() + ), + diversity_data = + map2( + .x = diversity_data, + .y = data, + .f = ~ semi_join(.x, .y, + by = join_by(id_col)) %>% + distinct() + ) + ) + }) + return(out) } + +#' Match formulae to outcome variables +#' @param x A character vector +#' @param y A vector +#' @return A named list of formulae +#' @details This function is used to match formulae to variables with a `data.frame`. If `x` and `y` are the same vector, then the formulae will be matched to the same variable. +#' @keywords internal +formulae_match <- function(x,y) { + map2( + .x = x, + .y = y, + rlang::new_formula + ) +} + + +#' Map matching formulae to data +#' @param data A tibble +#' @param variable_name character string, the name of the variable to match +#' @param formulae A named list of formulae +#' @return A tibble with a new column `outcome_colname` containing `rhs` of the the matched formula, or `NA` if no match is found +#' @keywords internal +map_match_formulae <- function(data, variable_name, formulae, col_name = "outcome_colname"){ + data %>% + mutate(data, {{col_name}} := case_match(.x = !!sym(variable_name), + !!!formulae, + .default = NA)) +} diff --git a/R/generate_rating_subsets.R b/R/generate_rating_subsets.R index 9a9f024..68cfc58 100644 --- a/R/generate_rating_subsets.R +++ b/R/generate_rating_subsets.R @@ -8,8 +8,14 @@ #' @export #' @family Multi-dataset Wrapper Functions #' @family targets-pipeline functions +#' @details +#' To be executed on a ManyEcoEvo dataframe after the `compute_MA_inputs()` function. This function generates two subsets of data based on the peer review ratings for both complete and partial exclusion datasets for both `yi` and `Zr` estimates. The subsets are generated based on the `PublishableAsIs` column in the `data` list-column. The subsets are named `data_flawed` and `data_flawed_major` and are created by filtering out the data points with the `PublishableAsIs` values of `"deeply flawed and unpublishable"` and `"publishable with major revision"` respectively. The `diversity_data` list-column is also updated to reflect the new subsets of data. +#' @import dplyr +#' @importFrom purrr map2 map +#' @importFrom forcats fct_relevel as_factor +#' @importFrom tidyr unnest pivot_longer nest +#' @importFrom stringr str_detect generate_rating_subsets <- function(ManyEcoEvo) { - # NOTE: should be run *after* computing Zr with compute_MA_inputs() out <- ManyEcoEvo %>% filter(exclusion_set == "complete" | exclusion_set == "partial") %>% @@ -87,7 +93,7 @@ generate_rating_subsets <- function(ManyEcoEvo) { map2( .x = diversity_data, .y = data, - .f = ~ semi_join(.x, .y) %>% distinct() + .f = ~ semi_join(.x, .y, by = join_by(id_col)) %>% distinct() ) ) diff --git a/R/generate_yi_subsets.R b/R/generate_yi_subsets.R index 90caa21..13c2f89 100644 --- a/R/generate_yi_subsets.R +++ b/R/generate_yi_subsets.R @@ -1,66 +1,88 @@ #' Generate subsets of out-of-sample predictions data by `estimate_type` for multiple analysis datasets. #' -#' @param yi_analysis A \code{dataframe} containing multiple datasets of out-of-sample predictions and corresponding diversity data. -#' @details The object \code{yi\_analysis} should contain the character column \code{dataset}, and list-columns \code{data} and \code{diversity\_data}. In essence, both `data` and `diversity_data` are nested by `dataset`. \code{data} should be a list-col of \code{grouped_df}s, which should also contain the list-col `back_transformed_data` +#' @param yi_analysis A `dataframe` containing multiple datasets of out-of-sample predictions and corresponding diversity data. +#' @details The object `yi_analysis` should contain the character column `dataset`, and list-columns `data` and `diversity_data`. In essence, both `data` and `diversity_data` are nested by `dataset`. `data` should be a list-col of `grouped_df`, which should also contain the list-col `back_transformed_data`. +#' +#' If the column `back_transformed_data` contains `NA` values, that row will be removed from the list-column `data`. +#' If the column `estimate_type` is present in `yi_analysis`, it will be removed, and replaced with the `estimate_type` derived from the `scenario` and `SurveyID` columns in each `back_transformed_data` dataset. +#' #' #' @family Multi-dataset Wrapper Functions #' @return A `datraframe` with the character columns `dataset`, `estimate_type` and list-cols `data` and `diversity_data` #' @export #' @author Elliot Gould +#' @importFrom purrr map map2 +#' @import dplyr +#' @importFrom tidyr unnest generate_yi_subsets <- function(yi_analysis) { - # So: yi_analysis$data[[1]]$back_transformed data is that obj. cli::cli_h1("Generating out-of-sample prediction subsets.") - # ---- define helper fun ---- - split_yi_subsets <- function(.data) { - # applied to a single dataset - # reorganises the data from nesting based on individual analysis submissions, to - # nesting based on the type of estimate - # removes unnecessary data: `augmented_data` and `checks` - - if (nrow(.data) == 0) { - cli::cli_alert_danger("{.code nrow(.data)} is {.val {0}} when splitting yi subsets. This is likely because all values for column {.val back_transformed_data} are {.val {NA}}") - return(NA) - } - - .data %>% - select(-augmented_data, -checks) %>% - filter(!is.na(back_transformed_data)) %>% - unnest(back_transformed_data) %>% - dplyr::rename_with( - .fn = ~ return("estimate_type"), - .cols = contains(match = c("scenario", "SurveyID")) - ) %>% - mutate(estimate_type = case_when( - estimate_type %in% list("Q1", 1) ~ "y25", - estimate_type %in% list("Q2", 2) ~ "y50", - estimate_type %in% list("Q3", 3) ~ "y75", # TODO: check instructions to analyst for correct ordering of scenarios - TRUE ~ rlang::na_chr - )) %>% - ungroup() %>% - nest_by(estimate_type, .keep = FALSE) %>% - hoist(data, .remove = TRUE) - } - - # ---- apply helper fun ---- out <- yi_analysis %>% group_by(dataset) %>% mutate( data = - map(data, ~ filter(.x, !is.na(back_transformed_data))) %>% # TODO is this step replicated in split_yi_subsets() ?? + map(data, ~ dplyr::filter(.x, !is.na(back_transformed_data))) %>% map(split_yi_subsets) ) %>% + select(-contains("estimate_type")) %>% unnest(data) %>% mutate( - diversity_data = # this step filters diversity_data according to matches in data, is also applied in prepare_yi + diversity_data = map2( .x = diversity_data, .y = data, - .f = ~ semi_join(.x, .y) %>% distinct() + .f = ~ semi_join(.x, .y, + by = join_by(id_col)) %>% distinct() ) ) - # ---- rename scenario cols in back transformed data---- - return(out) } + +#' Split a dataset of out-of-sample predictions by `estimate_type` +#' +#' Reorganises the data from nesting based on individual analysis submissions, to nesting based on the type of estimate. +#' +#' @param .data A dataset containing out-of-sample predictions +#' @return A tibble of out-of-sample predictions subset by `estimate_type` and stored in the list-column `data`. +#' @details +#' This function is used to split a dataset of out-of-sample predictions by `estimate_type`, where out-of-sample predictions are stored in a list-column called `back_transformed_data`, with one data frame of data per analysis submission. +#' +#' The `estimate_type` is derived from either the `scenario` and `SurveyID` columns in each `back_transformed_data` dataset. +#' The `estimate_type` is then used to nest the data by `estimate_type` in the list-column `data`. +#' +#' Removes unnecessary data in `.data`: `augmented_data` and `checks`. +#' +#' @export +#' @import dplyr +#' @importFrom tidyr unnest hoist +#' @importFrom purrr map +#' @seealso This function is called in the wrapper function [generate_yi_subsets()] to split out-of-sample predictions by `estimate_type` across multiple ManyAnalyst datasets. +#' @author Elliot Gould +split_yi_subsets <- function(.data) { + + if (nrow(.data) == 0) { + cli::cli_alert_danger("{.code nrow(.data)} is {.val {0}} when splitting yi subsets. This is likely because all values for column {.val back_transformed_data} are {.val {NA}}") + return(NA) + } + + out <- .data %>% + select(-augmented_data, -checks) %>% + filter(!is.na(back_transformed_data)) %>% + unnest(back_transformed_data) %>% + dplyr::rename_with( + .fn = ~ return("estimate_type"), + .cols = contains(match = c("scenario", "SurveyID")) + ) %>% + mutate(estimate_type = case_when( + estimate_type %in% list("Q1", 1) ~ "y25", + estimate_type %in% list("Q2", 2) ~ "y50", + estimate_type %in% list("Q3", 3) ~ "y75", + TRUE ~ rlang::na_chr + )) %>% + ungroup() %>% + nest_by(estimate_type, .keep = FALSE) %>% + hoist(data, .remove = TRUE) + + return(out) +} diff --git a/R/get_MA_fit_stats.R b/R/get_MA_fit_stats.R index eef8b9e..7cb2310 100644 --- a/R/get_MA_fit_stats.R +++ b/R/get_MA_fit_stats.R @@ -2,16 +2,22 @@ #' @param MA_mod a fitted model of class rma.mv #' @return A tidy tibble with \eqn{\sigma^2} and \eqn{I^2} estimates for `MA_mod` #' @export +#' @importFrom orchaRd i2_ml +#' @importFrom purrr pluck set_names +#' @importFrom tibble as_tibble_row +#' @import dplyr get_MA_fit_stats <- function(MA_mod) { - stopifnot("MA_mod must be an object of class rma.mv" = "rma.mv" %in% class(MA_mod)) - - res <- bind_cols( - pluck(MA_mod, "sigma2") %>% - set_names("sigma2_1", "sigma2_2") %>% - as_tibble_row(), - orchaRd::i2_ml(MA_mod) %>% - as_tibble_row(), - ) - + + stopifnot("MA_mod must be an object of class `rma.mv`" = "rma.mv" %in% class(MA_mod)) + + res <- + bind_cols( + pluck(MA_mod, "sigma2") %>% + set_names("sigma2_1", "sigma2_2") %>% + as_tibble_row(), + orchaRd::i2_ml(MA_mod) %>% + as_tibble_row() + ) + return(res) } diff --git a/R/get_forest_plot_data.R b/R/get_forest_plot_data.R index e7cbe01..39b1b17 100644 --- a/R/get_forest_plot_data.R +++ b/R/get_forest_plot_data.R @@ -3,16 +3,17 @@ #' @param model A metafor model object of class `rma.mv` or `rma.uni` #' @return A tibble containing the data required to plot a forest plot #' @export -#' @family Forest Plot Functions +#' @family Plotting functions #' @examples #' get_forest_plot_data(model) -#' @import broom.mixed +#' @importFrom broom tidy #' @import dplyr -#' @import forcats -#' @import stringr +#' @importFrom forcats fct_reorder +#' @importFrom stringr str_detect +#' @importFrom purrr keep_at get_forest_plot_data <- function(model){ model %>% - broom.mixed::tidy(conf.int = TRUE, include_studies = TRUE) %>% + broom::tidy(conf.int = TRUE, include_studies = TRUE) %>% dplyr::mutate( point_shape = ifelse(stringr::str_detect(term, "overall"), @@ -39,10 +40,11 @@ get_forest_plot_data <- function(model){ #' @return A ggplot object #' @export #' @import ggplot2 -#' @import ggforestplot -#' @import NatParksPalettes -#' @family Forest Plot Functions +#' @importFrom ggforestplot theme_forest +#' @importFrom NatParksPalettes scale_color_natparks_d +#' @family Plotting functions #' @examples +#' data(ManyEcoEvo_results) #' model <- ManyEcoEvo_results %>% pluck("MA_mod", 1) #' plot_data <- get_forest_plot_data(model) #' plot_forest(plot_data) diff --git a/R/gg_forest.R b/R/gg_forest.R index 78df140..b47fb81 100644 --- a/R/gg_forest.R +++ b/R/gg_forest.R @@ -6,27 +6,32 @@ #' #' @return An object of class `ggplot2` #' @export +#' @family Plotting Functions +#' @importFrom ggplot2 ggplot aes element_line element_text theme guides coord_flip labs geom_pointrange +#' @importFrom ggforestplot theme_forest +#' @importFrom parameters parameters +#' @importFrom tibble as_tibble +#' @import dplyr +#' @importFrom forcats fct_reorder +#' @importFrom stringr str_detect +#' @importFrom cli cli_h2 gg_forest <- function(meta_model, estimate_type, dataset = character(1L)) { match.arg(dataset, choices = c("blue tit", "eucalyptus"), several.ok = FALSE) - cli::cli_h2(glue::glue( - "Creating gg-forest-plot of ", - { - estimate_type - }, - " estimates for ", - { - dataset - }, - " dataset" - )) - # meta_analysis_outputs$MA_mod %>% pluck(1) %>% gg_forest("Zr", "blue tit") + stopifnot("rma" %in% class(meta_model)) match.arg(estimate_type, choices = c("Zr", "y50", "y25", "y75"), several.ok = FALSE ) - + + # ---- Extract Plot Data & Axis Labels ---- + + cli::cli_h2(c( + "Creating gg-forest-plot of {.arg estimate_type} estimates for ", + "{.arg dataset} = {.val {dataset}}" + )) + plot_data <- meta_model %>% parameters::parameters() %>% tibble::as_tibble() %>% @@ -36,7 +41,7 @@ gg_forest <- function(meta_model, estimate_type, dataset = character(1L)) { forcats::fct_reorder(., point_shape, .desc = TRUE) ) - x_axis_label <- case_when( + x_axis_label <- case_when( #TODO update whether standardised or not estimate_type == "Zr" ~ expression("Standardised Effect Size, Z"[r]), estimate_type == "ymed" ~ expression("Standardised Out-of-sample Prediction, y"[50]), estimate_type == "y25" ~ expression("Standardised Out-of-sample Prediction, y"[25]), @@ -44,10 +49,10 @@ gg_forest <- function(meta_model, estimate_type, dataset = character(1L)) { TRUE ~ expression("Standardised Out-of-sample Prediction, y"[75]) ) - euc_svg_url <- "https://images.phylopic.org/images/a42656fa-b92a-4c69-8f13-55e4cb4b6bc1/vector.svg" - bt_svg_url <- "https://images.phylopic.org/images/dfdfb59e-8126-44e1-a7a9-1bf698113e1c/vector.svg" - - img_url <- ifelse(dataset == "eucalyptus", euc_svg_url, bt_svg_url) + # euc_svg_url <- "https://images.phylopic.org/images/a42656fa-b92a-4c69-8f13-55e4cb4b6bc1/vector.svg" + # bt_svg_url <- "https://images.phylopic.org/images/dfdfb59e-8126-44e1-a7a9-1bf698113e1c/vector.svg" + # + # img_url <- ifelse(dataset == "eucalyptus", euc_svg_url, bt_svg_url) p <- plot_data %>% ggplot(aes( diff --git a/R/log_transform.R b/R/log_transform.R index eb83319..c61e52f 100644 --- a/R/log_transform.R +++ b/R/log_transform.R @@ -3,24 +3,38 @@ #' @param estimate Point estimates on the original response scale #' @param std.error Standard error of the point estimates on the original response scale #' @param sim Number of simulations to run when generating distribution to sample from -#' -#' @return A dataframe containing the `mean_log`, `std.error_log`, `lower` and `upper` 95% CI on the log scale +#' @return A dataframe containing the `mean_log`, `se_log`, `lower` and `upper` 95% CI on the log scale #' @export -#' #' @examples log_transform(1.77, 1.01, 1000) -log_transform <- function(estimate, std.error, sim) { +#' @import dplyr +#' @importFrom cli cli_alert_danger cli_alert_success +#' @importFrom purrr map_lgl flatten_dbl +#' @seealso Equivalent in workflow data hierarchy to [Z_VZ_preds()]. +log_transform <- function(estimate = numeric(1L), + std.error = numeric(1L), + sim = 10000L) { + simulated <- rnorm(sim, estimate, std.error) log_simulated <- suppressWarnings(log(simulated)) %>% na.omit() + m_est <- mean(log_simulated) - std.error_est <- sd(log_simulated) + std.error_est <- sd(log_simulated) / sqrt(length(log_simulated)) quantiles <- quantile(log_simulated, c(0.025, 0.975), na.rm = TRUE) - std.error <- data.frame(mean_log = m_est, std.error_log = std.error_est, lower = quantiles[[1]], upper = quantiles[[2]]) - if (flatten_dbl(std.error) %>% - map_lgl(.f = ~ is.na(.x) | is.nan(.x) | is.infinite(.x)) %>% - any()) { + + out <- data.frame(mean_log = m_est, + se_log = std.error_est, + lower = quantiles[[1]], + upper = quantiles[[2]]) + + if (flatten_dbl(out) %>% + map_lgl(.f = ~ is.na(.x) | is.nan(.x) | is.infinite(.x)) %>% + any()) { + cli::cli_alert_danger("{.val NA}, {.val Inf} or {.val NaN} returned during back-transformation of effect sizes and standard errors.") } + cli::cli_alert_success("Log-transformed out-of-sample predictions, using {.val {sim}} simulations.") - return(std.error) + + return(out) } diff --git a/R/log_transform_yi.R b/R/log_transform_yi.R new file mode 100644 index 0000000..392587d --- /dev/null +++ b/R/log_transform_yi.R @@ -0,0 +1,42 @@ +#' Log-transform a data-frame of back-transformed out-of-sample estimates +#' +#' @param back_transformed_data description +#' @param sim Number of simulations to run when generating distribution to sample from +#' @return A tibble of standardised-out-of-sample predictions on the Z-scale, with columns `Z`, `VZ`, `lower` and `upper` and the original columns fro `back_transformed_data` that were not used / updated in the transformation. +#' @seealso Equivalent to [pred_to_Z()] in terms of workflow data hierarchy. Called by [log_transform_response()]. +#' @param sim Number of simulations to run when generating distribution to sample from +#' @export +#' @import dplyr +#' @importFrom purrr map2 +#' @importFrom tidyr unnest +#' @importFrom cli cli_warn +#' @importFrom rlang is_na +log_transform_yi <- function(back_transformed_data, + sim = 10000L, ...){ + + if (any(rlang::is_na(sim), + rlang::is_na(back_transformed_data))) { + + cli::cli_warn("Argument {.arg sim} or {.arg back_transformed_data} is {.val {NA}}. Returning {.val {NA}} for log-transformed predictions.") + + return(NA) + + } + + names_lookup <- c(estimate = "estimate", #blue tit + estimate = "fit", #eucalyptus + std.error = "se.fit") # both datasets + + log_transformed_data <- + back_transformed_data %>% + rename(., any_of(names_lookup)) %>% + mutate(res = map2(.x = estimate, + .y = std.error, + .f = log_transform, + sim = sim), + .keep = "unused") %>% + select(-starts_with("ci.")) %>% + unnest(res) + + return(log_transformed_data) +} \ No newline at end of file diff --git a/R/make_param_table.R b/R/make_param_table.R index 96198c1..eddf269 100644 --- a/R/make_param_table.R +++ b/R/make_param_table.R @@ -11,7 +11,7 @@ #' make_param_table(ManyEcoEvo::blue_tit_data) #' make_param_table(ManyEcoEvo::euc_data) #' @import dplyr -#' @import tidyr +#' @importFrom tidyr pivot_longer #' @details The parameter table is used in the computation of Z-values during the standardisation of out-of-sample predictions with `pred_to_Zr()`. `make_param_table()` returns a tidy, long-form tibble with the variable names of `analysis_data` stored in column`variable`, the corresponding `parameter` ("mean" or "sd"), and the `value` of that `parameter`. #' #' @details # Note diff --git a/R/make_viz.R b/R/make_viz.R index 5834090..da6f6ab 100644 --- a/R/make_viz.R +++ b/R/make_viz.R @@ -5,29 +5,34 @@ #' #' @return a nested dataframe grouped by variables `exclusion_set`, `dataset`, `estimate_type`, `publishable_subset`, `expertise_subset`, `collinearity_subset` containing model summaries, tidy model summaries, model fit stats, funnel plots and forest plots #' @export -#' @family targets-pipeline functions #' @family Multi-dataset Wrapper Functions #' @import dplyr #' @importFrom purrr map_if map2 pmap possibly #' @importFrom stringr str_detect -#' @importFrom broom.mixed tidy +#' @importFrom broom tidy #' @importFrom performance performance #' @importFrom metaviz viz_funnel #' @importFrom ggplot2 ggplot #' @importFrom parameters parameters #' @import metafor #' @import lme4 -#' @importFrom tidyr pivot_longer -#' @importFrom tidyr unnest +#' @importFrom tidyr unnest pivot_longer #' @importFrom rlang is_na make_viz <- function(data) { - # targets wrapper function - # define map helper fun + + # ---- Define Helper Functions ---- + tidy_mod <- function(mod) { - broom.mixed::tidy(mod, conf.int = TRUE) + broom::tidy(mod, conf.int = TRUE) } - # remove unnecessary inputs, create summary tables and visualisations - # repeat for yi and Zr + + viz_funnel_2 <- function(x) { + metaviz::viz_funnel(x, y_axis = "precision") + } + + poss_viz_funnel <- possibly(viz_funnel_2, otherwise = NA) + + # ---- Prepare Data for Visualisation ---- if (any(str_detect(unique(data$estimate_type), pattern = "Zr"))) { data_Zr <- data %>% filter(estimate_type == "Zr") %>% @@ -56,7 +61,7 @@ make_viz <- function(data) { -effects_analysis ) } - + if (any(str_detect(unique(data$estimate_type), "y"))) { data_yi <- data %>% filter(estimate_type %in% c("yi", "y25", "y50", "y75")) %>% @@ -83,7 +88,7 @@ make_viz <- function(data) { ) %>% mutate(publishable_subset = NA) } - + if (exists("data_Zr") & exists("data_yi")) { all_data <- bind_rows(data_Zr, data_yi) } else if (exists("data_Zr")) { @@ -91,71 +96,75 @@ make_viz <- function(data) { } else { all_data <- data_yi } - - viz_funnel_2 <- function(x) { - metaviz::viz_funnel(x, y_axis = "precision") - } - - poss_viz_funnel <- possibly(viz_funnel_2, otherwise = NA) - + + # ----- Extract Model Metrics and Apply Visualisation Functions ----- + viz_out <- all_data %>% mutate( - mod_summary = map_if( - .x = model, - .p = ~ !rlang::is_na(.x), - .f = summary, - .else = ~ return(NA) - ), - tidy_mod_summary = map_if( - .x = model, - .p = ~ !rlang::is_na(.x), - .f = purrr::possibly(tidy_mod, - otherwise = NA, - quiet = TRUE - ), - .else = ~ return(NA) - ), - mod_fit_stats = map_if( - .x = model, - .p = ~ !rlang::is_na(.x), - .f = purrr::possibly(performance::performance, # switch to performance from glance - otherwise = NA, - quiet = FALSE + mod_summary = + map_if( + .x = model, + .p = ~ !rlang::is_na(.x), + .f = summary, + .else = ~ return(NA) ), - .else = ~ return(NA) - ), - funnel_plot = purrr::map_if( - .x = model, - .p = ~ any(class(.x) == "rma.uni"), - .f = poss_viz_funnel, - # metafor::funnel(., yaxis = "seinv") #alternative plot fun - .else = ~NA - ), - forest_plot = ifelse(!rlang::is_na(model) & model_name == "MA_mod", - purrr::pmap( - .l = - list(model, estimate_type, dataset), - .f = purrr::possibly(gg_forest, otherwise = NA) + tidy_mod_summary = + map_if( + .x = model, + .p = ~ !rlang::is_na(.x), + .f = purrr::possibly(tidy_mod, + otherwise = NA, + quiet = TRUE + ), + .else = ~ return(NA) ), - NA - ), - MA_fit_stats = ifelse(model_name == "MA_mod" & !rlang::is_na(model), + mod_fit_stats = map_if( .x = model, - .p = ~ "rma.mv" %in% class(.x), - .f = purrr::possibly(get_MA_fit_stats, otherwise = NA), + .p = ~ !rlang::is_na(.x), + .f = purrr::possibly(performance::performance, # switch to performance from glance + otherwise = NA, + quiet = FALSE + ), .else = ~ return(NA) ), - NA - ), + funnel_plot = + purrr::map_if( + .x = model, + .p = ~ any(class(.x) == "rma.uni"), + .f = poss_viz_funnel, + # metafor::funnel(., yaxis = "seinv") #alternative plot fun + .else = ~NA + ), + forest_plot = + ifelse(!rlang::is_na(model) & model_name == "MA_mod", + purrr::pmap( + .l = + list(model, estimate_type, dataset), + .f = purrr::possibly(gg_forest, otherwise = NA) + ), + NA + ), + MA_fit_stats = + ifelse(model_name == "MA_mod" & !rlang::is_na(model), + map_if( + .x = model, + .p = ~ "rma.mv" %in% class(.x), + .f = purrr::possibly(get_MA_fit_stats, otherwise = NA), + .else = ~ return(NA) + ), + NA + ), model_params = map_if( .x = model, - .p = possibly(\(x) class(x) %in% parameters::supported_models() %>% any(), otherwise = NA), + .p = possibly(\(x) class(x) %in% parameters::supported_models() %>% + any(), + otherwise = NA), .f = possibly(parameters::parameters, NA), .else = ~ return(NA), ) ) - + return(viz_out) } diff --git a/R/meta_analyse_datasets.R b/R/meta_analyse_datasets.R index fdf9bd2..b2cf925 100644 --- a/R/meta_analyse_datasets.R +++ b/R/meta_analyse_datasets.R @@ -1,4 +1,5 @@ #' Meta-analyses multiple datasets or subsets of datasets of analyst data +#' #' @description Runs all meta-analyses and regression models for the ManyEcoEvo project analysis, including: #' - Fitting univariate / fixed-effects meta-analysis #' - Calculating the deviation of every effect size / point-estimate from the meta-analytic mean for all data subsetes @@ -8,19 +9,22 @@ #' - A univariate GLM regression of the transformed deviation scores on the categorical peer-review ratings #' - A univariate GLM regression of the transformed deviation scores on a binary variable corresponding to whether the analysis was a mixed-effects model (i.e. GLM with random-effects) or not. #' - To be implemented: a multivariate regression #TODO -#' - The deviation scores on transformed categorical ratings but with no intercept (for nice plotting / ecploration). +#' - The deviation scores on transformed categorical ratings but with no intercept (for nice plotting / exploration). #' -#' @param MA_data A nested-dataframe grouped by `dataset` and / or `exclusion_set`, `estimate_type`, containing the list-column of prepared analyst subset data `effects_analysis` ready for meta-analysis. -#' @param filter_vars A list of expressions to filter the `MA_data` dataframe by. E.g. `rlang::exprs(exclusion_set == "complete", expertise_subset == "All", publishable_subset == "All", collinearity_subset == "All")` -#' -#' @return A nested dataframe with all columns of object parsed to arg `MA_data`, but with additional columns for the results of each analysis: `MA_mod`, `sorensen_glm`, `box_cox_ratings_cont`, `box_cox_ratings_cat`, `box_cox_rating_cat_no_int`, `uni_mixed_effects` +#' @param data A nested- dataframe grouped by `dataset` and / or `exclusion_set`, `estimate_type`, containing the list-column of prepared analyst subset data `effects_analysis` ready for meta-analysis. +#' @param filter_vars A list of expressions to filter the `data` dataframe by. E.g. `rlang::exprs(exclusion_set == "complete", expertise_subset == "All", publishable_subset == "All", collinearity_subset == "All")` +#' #' @param outcome_variable A named list containing either/and a list of `dataset`s and their corresponding outcome variables for each value of `dataset`, a list of `estimate_type`s and their corresponding outcome variables for each value of `estimate_type`. +#' @return A nested dataframe with all columns of object parsed to arg `data`, but with additional columns for the results of each analysis: `MA_mod`, `sorensen_glm`, `box_cox_ratings_cont`, `box_cox_ratings_cat`, `box_cox_rating_cat_no_int`, `uni_mixed_effects` #' @export -#' @importFrom purrr map_chr map2 map possibly pmap +#' @importFrom stringr str_detect +#' @importFrom purrr map_chr map2 map possibly pmap list_c map_lgl #' @import dplyr -#' @import cli -#' @importFrom rlang na_chr is_null na_chr +#' @importFrom tidyselect where +#' @importFrom cli cli_h1 cli_abort +#' @importFrom rlang na_chr is_null na_chr is_list is_call exprs f_lhs as_string +#' @importFrom pointblank expect_col_exists +#' @importFrom tidyr unnest drop_na #' @family Multi-dataset Wrapper Functions -#' #' @examples #' filter_vars <- rlang::exprs( #' exclusion_set == "complete", @@ -28,61 +32,130 @@ #' publishable_subset == "All", #' collinearity_subset == "All" #' ) -meta_analyse_datasets <- function(MA_data, filter_vars = NULL) { - # poss_fit_metafor_mv <- purrr::possibly(fit_metafor_mv, - # otherwise = NA, - # quiet = FALSE) - # - cli::cli_h1(text = "Meta-analysing Datasets") - - if (any(str_detect(unique(MA_data$estimate_type), pattern = "Zr"))) { - # Must group by cols else multiple "effects_analysis" elements - # get passed to fit_MA_mv() - MA_data <- MA_data %>% - group_by(estimate_type, dataset, exclusion_set, publishable_subset, expertise_subset, collinearity_subset) +#' @details +#' +#' When `filter_vars` are supplied the function will filter the `data` dataframe by the expressions in the list, any data subsets excluded by filtering will not have multivariate met-analysis models fitted with [fit_multivar_MA()]. +#' +#' When the arguments `outcome_variable` and/or `outcome_variable` are not supplied, the function defaults to: +#' +#' - using `"Zr"` as the standardised effect size and `"VZr"` as the standard error when `estimate_type` is `"Zr"`. +#' - using `"Z"` as the standardised out-of-sample estimate and `"VZ" `as the standardised out-of-sample estimate error when `estimate_type` is one of `c("yi", "y25", "y50", "y75")`. +#' +#' The function will check if the `data` dataframe contains the required columns for meta-analysis, including any variable names specified in calls to the `filter_vars` argument. If the required functions do not exist then the function will stop with an error. +#' +#' Function assumes that if argument `outcome_variable` is supplied, then `outcome_SE` is also supplied, and conversely, if `outcome_SE` is not supplied, then neither is `outcome_variable` (*TODO* not yet checked in function). +#' +meta_analyse_datasets <- function(data, outcome_variable = NULL, outcome_SE = NULL, filter_vars = NULL) { + + # ----- Argument Checks ----- + stopifnot( + is.data.frame(data), + rlang::is_null(filter_vars) | rlang::is_list(filter_vars) + ) + + required_columns <- c("effects_analysis", + "estimate_type", + "dataset") + + if (rlang::is_list(filter_vars)) { + if (!all(map_lgl(filter_vars, rlang::is_call))) { + cli_abort("{.arg filter_vars} must be a list of calls") + } else { + required_columns <- filter_vars %>% + map(rlang::f_lhs) %>% + map(rlang::as_string) %>% + list_c() %>% + append(values = required_columns) %>% + unique() + } + } + + pointblank::expect_col_exists( + data, + columns = required_columns + ) + + # ---- Data Preparation & Conditional Object Assignment --- + + # if (any(str_detect(unique(data$estimate_type), pattern = "Zr"))) { + # # Must group by cols else multiple "effects_analysis" elements + # # get passed to fit_MA_mv() + # data <- data %>% + # group_by(estimate_type, #TODO can we just `ungroup()`? + # dataset, + # exclusion_set, + # publishable_subset, + # expertise_subset, + # collinearity_subset) + # + # } else { + # data <- data %>% + # group_by(estimate_type, + # dataset, + # exclusion_set) #TODO we need to merge the yi together for eucalyptus + # } + + # Assign outcome_variable values + if (rlang::is_null(outcome_variable)) { + # Defaults + if (any(str_detect(unique(data$estimate_type), pattern = "Zr"))) { + outcome_variable <- "Zr" + outcome_SE <- "VZr" + } else { + outcome_variable <- "Z" + outcome_SE <- "VZ" + } + data <- data %>% + ungroup %>% + mutate(outcome_colname = outcome_variable, + outcome_SE_colname = outcome_SE) } else { - MA_data <- MA_data %>% - group_by(estimate_type, dataset, exclusion_set) + # Argument supplied + matched_formulae_outcome <- + map(outcome_variable, + ~ formulae_match(x = names(.x), y = .x)) + + matched_formulae_outcome_SE <- + map(outcome_SE, + ~ formulae_match(x = names(.x), y = .x)) + + data <- map2(names(matched_formulae_outcome), + matched_formulae_outcome, + .f = ~ map_match_formulae(ungroup(data), .x, .y)) %>% + bind_rows() %>% + drop_na(outcome_colname) %>% + left_join( + { + map2(names(matched_formulae_outcome_SE), + matched_formulae_outcome_SE, + .f = ~ map_match_formulae( + {data %>% + ungroup %>% + select(names(outcome_SE))}, + .x, + .y, + col_name = "outcome_SE_colname")) %>% + bind_rows() %>% + drop_na(outcome_SE_colname) %>% + distinct() + }, + by = unique(names(outcome_SE)) + ) + } - - # --- Fit Meta-Models & Create Plots --- + + # ----- Fit Meta-Models & Create Plots ----- + cli::cli_h1(text = "Meta-analysing Datasets") + out <- - MA_data %>% - dplyr::mutate( - Z_colname = - map_chr( - effects_analysis, - ~ if (!is_null(.x)) { - dplyr::select( - .x, - starts_with("Z") - ) %>% - colnames() - } else { - rlang::na_chr - } - ), - VZ_colname = - map_chr( - effects_analysis, - ~ if (!is_null(.x)) { - dplyr::select( - .x, - starts_with("VZ") - ) %>% - colnames() - } else { - rlang::na_chr - } - ) - ) %>% + data %>% dplyr::mutate( effects_analysis = purrr::pmap( .l = list( effects_analysis, - Z_colname, - VZ_colname + outcome_colname, + outcome_SE_colname ), .f = rm_inf_na ) @@ -90,26 +163,29 @@ meta_analyse_datasets <- function(MA_data, filter_vars = NULL) { dplyr::mutate( MA_mod = purrr::pmap( - .l = list(effects_analysis, Z_colname, VZ_colname, estimate_type), + .l = list(effects_analysis, + outcome_colname, + outcome_SE_colname, + estimate_type), .f = fit_MA_mv ), effects_analysis = ifelse(is.na(MA_mod), - NA, - purrr::map2( - .x = effects_analysis, - .y = MA_mod, - .f = ~ calculate_deviation_score(.x, .y) - ) + NA, + purrr::pmap( + .l = list(effects_analysis, MA_mod, outcome_colname), + .f = calculate_deviation_score + ) ), effects_analysis = ifelse(rlang::is_na(effects_analysis), - NA, - purrr::map2( - .x = effects_analysis, - .y = dataset, - .f = ~ box_cox_transform(.x, .y) - ) + NA, + purrr::pmap( + .l = list(effects_analysis, + dataset, + outcome_SE_colname), + .f = box_cox_transform + ) ), sorensen_glm = purrr::map( @@ -122,7 +198,7 @@ meta_analyse_datasets <- function(MA_data, filter_vars = NULL) { purrr::map( .x = effects_analysis, .f = ~ fit_boxcox_ratings_cont( - .data = .x, + data = .x, outcome = box_cox_abs_deviation_score_estimate, outcome_var = box_cox_var ) @@ -131,7 +207,7 @@ meta_analyse_datasets <- function(MA_data, filter_vars = NULL) { purrr::map( .x = effects_analysis, .f = ~ poss_fit_boxcox_ratings_cat( - .data = .x, + data = .x, outcome = box_cox_abs_deviation_score_estimate, outcome_var = box_cox_var, interceptless = FALSE @@ -141,7 +217,7 @@ meta_analyse_datasets <- function(MA_data, filter_vars = NULL) { purrr::map( .x = effects_analysis, .f = ~ poss_fit_boxcox_ratings_cat( - .data = .x, + data = .x, outcome = box_cox_abs_deviation_score_estimate, outcome_var = box_cox_var, interceptless = TRUE @@ -155,44 +231,48 @@ meta_analyse_datasets <- function(MA_data, filter_vars = NULL) { ) ) ) - + # --- Fit Multivariate Models --- - # TODO apply same strategy below for filtering any other models out that we might not want - if (!is.null(filter_vars)) { # TODO check if this is the correct way to check for NULL + + # TODO apply same strategy below for filtering any other models out that we might not want to fit + if (!rlang::is_null(filter_vars)) { filter_var_syms <- map(filter_vars, ~ rlang::call_args(.x) %>% pluck(1)) - + filter_var_names <- filter_var_syms %>% map(rlang::quo_name) %>% purrr::list_c() - + multivar_mods <- out %>% dplyr::filter(!!!filter_vars) %>% group_by(dataset, !!!filter_var_syms) %>% # retain grouping, but add additional dataset grouping mutate(effects_analysis = map(effects_analysis, ~ .x %>% - unnest(review_data))) %>% + unnest(review_data))) %>% mutate( MA_mod_mv = map(effects_analysis, fit_multivar_MA), .keep = "none" ) # retain output and grouping cols only - + by <- join_by("dataset", !!!filter_var_names) - + out <- left_join(out, multivar_mods, by) %>% select(-ends_with("_colname")) } else { + out <- out %>% - mutate(effects_analysis = map(effects_analysis, ~ .x %>% - unnest(review_data))) %>% + mutate(effects_analysis = + map(effects_analysis, ~ .x %>% + unnest(review_data))) %>% mutate(MA_mod_mv = map(effects_analysis, fit_multivar_MA)) %>% select(-ends_with("_colname")) } - + out <- out %>% # replace any NULL values with NA - mutate(across(everything(), - .fns = ~ coalesce(.x, list(NA)) - )) - + mutate( + across(where(is.list), + .fns = ~ coalesce(.x, list(NA))) + ) + return(out) } diff --git a/R/multi_level_mod_calcs.R b/R/multi_level_mod_calcs.R index 808974e..76172a7 100644 --- a/R/multi_level_mod_calcs.R +++ b/R/multi_level_mod_calcs.R @@ -6,7 +6,7 @@ #' #' @return A numeric vector of length 1. #' @export -#' @family multi-level model calculations +#' @family Meta-analysis statistics calc_I2_ml <- function(fitted_model) { W <- diag(1 / fitted_model$vi) X <- model.matrix(fitted_model) @@ -22,7 +22,7 @@ calc_I2_ml <- function(fitted_model) { #' #' @return A named numeric vector of length 2. #' @export -#' @family multi-level model calculations +#' @family Meta-analysis statistics apportion_heterogeneity_ml <- function(fitted_model) { # Estiamtes how much of the total variance (I^2) can be attributed W <- diag(1 / fitted_model$vi) @@ -41,7 +41,7 @@ apportion_heterogeneity_ml <- function(fitted_model) { #' #' @return A tibble with descriptive statistics of model fit #' @export -#' @family multi-level model calculations +#' @family Meta-analysis statistics compare_ml_MA <- function(object1, object2) { # see https://bookdown.org/MathiasHarrer/Doing_Meta_Analysis_in_R/multilevel-ma.html#multilevel-R # this fn compares two fitted mra.mv models, and tidies the results diff --git a/R/plot_cont_rating_effects.R b/R/plot_cont_rating_effects.R index ef649a8..0b01a75 100644 --- a/R/plot_cont_rating_effects.R +++ b/R/plot_cont_rating_effects.R @@ -9,7 +9,7 @@ #' #' @return A list, with the first element containing the fitted statistical model and the second element containing the plot #' @export -#' +#' @family Plotting functions #' @examples #' # ManyEcoEvo_results$effects_analysis[[1]] %>% #TODO use package data object instead of targets object #' # unnest(review_data) %>% diff --git a/R/plot_effects_diversity.R b/R/plot_effects_diversity.R index 695d7dd..c6abf68 100644 --- a/R/plot_effects_diversity.R +++ b/R/plot_effects_diversity.R @@ -6,7 +6,7 @@ #' #' @return A ggplot with the original data, predicted values and confidence values from the fitted model #' @export -#' +#' @family Plotting functions #' @examples #' # targets::tar_load(ManyEcoEvo_results) #TODO change this to package data #' # library(tidyverse) diff --git a/R/plot_model_means_box_cox_cat.R b/R/plot_model_means_box_cox_cat.R index 2096dce..3421277 100644 --- a/R/plot_model_means_box_cox_cat.R +++ b/R/plot_model_means_box_cox_cat.R @@ -11,10 +11,11 @@ #' @export #' @import ggplot2 #' @import dplyr -#' @import see +#' @importFrom see geom_jitter2 scale_fill_material_d theme_modern #' @importFrom EnvStats stat_n_text #' @importFrom forcats fct_relevel #' @importFrom sae bxcx +#' @family Plotting functions plot_model_means_box_cox_cat <- function(dat, variable, predictor_means, diff --git a/R/plot_model_means_orchard.R b/R/plot_model_means_orchard.R index add3414..f0ca7a0 100644 --- a/R/plot_model_means_orchard.R +++ b/R/plot_model_means_orchard.R @@ -1,4 +1,4 @@ -#' @title plot_model_means_orchard +#' Plot orchard-plot style model means #' @description Plot the means of a model with a predictor variable #' @param dat A tibble with the data to plot #' @param variable A character string of the predictor variable to plot @@ -8,10 +8,11 @@ #' @return A ggplot object #' @export #' @import ggplot2 -#' @import ggbeeswarm +#' @importFrom ggbeeswarm geom_quasirandom #' @import dplyr -#' @import see +#' @importFrom see theme_modern #' @importFrom forcats fct_relevel +#' @family Plotting functions plot_model_means_orchard <- function(dat, variable, predictor_means, diff --git a/R/pred_to_Z.R b/R/pred_to_Z.R index 788bd72..dfcf33c 100644 --- a/R/pred_to_Z.R +++ b/R/pred_to_Z.R @@ -1,74 +1,58 @@ -#' Standardize Out-Of-Sample Predictions +#' Z-standardise a dataframe of back-transformed Out-Of-Sample Predictions #' #' @description Standardizes out-of-sample predictions by computing the Fisher's Z transformed Correlation Coefficient from analysts' out-of-sample prediction estimates and corresponding standard error. -#' @note `pred_to_Z` expects estimates to be on the response scale, not the link scale. #' @param back_transformed_data a dataframe or tibble with the columns "estimate" and "se.fit", containing yi and SE\(yi\) values respectively #' @param response_variable_name a character vector +#' @return A tibble of standardised-out-of-sample predictions on the Z-scale, with columns `Z`, `VZ`, `lower` and `upper`, and the original columns fro `back_transformed_data` that were not used / updated in the transformation. +#' @details This function is used to standardize out-of-sample predictions on the response scale to the Z-scale. [pred_to_Z()] expects estimates to be on the response scale, not the link scale. +#' +#' The function computes the Z-score and VZ-score for each out-of-sample prediction estimate and its corresponding standard error using [Z_VZ_preds()]. #' @export +#' @import dplyr +#' @importFrom purrr pluck map +#' @importFrom cli cli_warn +#' @importFrom rlang is_na +#' @importFrom tidyr any_of unnest +#' @importFrom glue glue +#' @seealso Equivalent to[log_transform_yi()] in terms of workflow data hierarchy. pred_to_Z <- function(back_transformed_data, - params, - dataset) { - # TODO test: str_detect(response_variable_name) in param table - match.arg(dataset, choices = c("blue tit", "eucalyptus"), several.ok = FALSE) - if (rlang::is_na(params) | rlang::is_na(back_transformed_data)) { - cli::cli_warn("Argument {.arg params} or {.arg back_transformed_data} is {.val {NA}}. Returning {.val {NA}} for standardized predictions.") + params) { + + if (any( + rlang::is_na(params), + rlang::is_na(back_transformed_data) + )) { + cli::cli_warn( + c("Argument {.arg params} or {.arg back_transformed_data} ", + "is {.val {NA}}. Returning {.val {NA}}", + "for standardized predictions.") + ) return(NA) } - - if (dataset == "blue tit") { - if (!pointblank::test_col_exists(back_transformed_data, - columns = c("estimate", "se.fit") - )) { - cli::cli_warn("Blue tit Dataframe {.arg back_transformed_data} is missing columns {.val estimate} and/or {.val se.fit}. Returning {.val {NA}} for standardized predictions.") - return(NA) - } - sd_p <- params %>% - dplyr::filter(parameter == "sd") %>% - purrr::pluck("value") - mu_p <- params %>% - dplyr::filter(parameter == "mean") %>% - purrr::pluck("value") - - standardised_preds <- - back_transformed_data %>% - mutate( - res = map2( - estimate, - se.fit, - ~ Z_VZ_preds( - yi = .x, - yi_se = .y, - sd_p = sd_p, - mu_p = mu_p - ) - ), - .keep = c("unused") - ) %>% - hoist(res, "Z", "VZ") %>% - select(-starts_with("ci.")) - } else { - if (!pointblank::test_col_exists(back_transformed_data, - columns = c("fit", "se.fit") - )) { - cli::cli_warn("Eucalyptus Dataframe {.arg back_transformed_data} is missing columns {.val fit} and/or {.val se.fit}. Returning {.val {NA}} for standardized predictions.") # TODO remove hard-coding, generalise - return(NA) - } - sd_p <- params %>% - filter(parameter == "sd") %>% - pluck("value") - mu_p <- params %>% - filter(parameter == "mean") %>% - pluck("value") - - standardised_preds <- - back_transformed_data %>% - mutate( - res = map2(fit, se.fit, ~ Z_VZ_preds(.x, .y, sd_p, mu_p)), - .keep = c("unused") - ) %>% - hoist(res, "Z", "VZ") %>% - select(-starts_with("ci.")) - } - + + sd_p <- params %>% + dplyr::filter(parameter == "sd") %>% + purrr::pluck("value") + + mu_p <- params %>% + dplyr::filter(parameter == "mean") %>% + purrr::pluck("value") + + names_lookup <- c(yi = "estimate", #blue tit + yi = "fit", #eucalyptus + yi_se = "se.fit") # both datasets + + standardised_preds <- + back_transformed_data %>% + rename(any_of(names_lookup)) %>% + mutate(res = map2(.x = yi, + .y = yi_se, + .f = Z_VZ_preds, + sd_p = sd_p, + mu_p = mu_p), + .keep = c("unused")) %>% + select(-starts_with("ci.")) %>% + unnest(res) + return(standardised_preds) } diff --git a/R/prepare_response_variables.R b/R/prepare_response_variables.R index 558987c..8be6a93 100644 --- a/R/prepare_response_variables.R +++ b/R/prepare_response_variables.R @@ -4,60 +4,116 @@ #' @param estimate_type A character string of length 1, equal to either "Zr", "yi", "y25", "y50", "y75", indicating what type of estimates are being prepared. #' @param param_table A table of parameters \(mean, sd\) for *most* response variables used by analysts. This tibble is pulled from the named object exported by `ManyEcoEvo::`. but can be overwritten with the users's own `param_table` dataset. #' @param dataset_standardise A character string of length 1, equal to the name of the dataset to standardise the response variables to. If `NULL` (default), no datasets are standardised. +#' @param dataset_log_transform A character string of length 1, equal to the name of the dataset to log-transform the response variables to. If `NULL` (default), no datasets are log-transformed. #' @return A tibble of nested list-columns #' @details Operates on nested list-columns of dataframes, where each dataframe contains the response variable data for a single analysis. The function standardises the response variable data for each analysis, and returns the modified dataset to the `data` list-column. +#' +#' Note that if `ManyEcoEvo` does not have an `estimate_type` column, it will be added with the value of `estimate_type`. This is because some transformation functions require the `estimate_type` column to be present in the dataset. +#' #' @family targets-pipeline functions. #' @family Multi-dataset Wrapper Functions #' @export -#' @import cli +#' @importFrom cli cli_abort cli_alert_info cli_alert_warning cli_h1 cli_h2 #' @import dplyr -#' @import purrr -#' @import rlang -#' @importFrom pointblank expect_col_exists expect_col_is_numeric expect_col_is_character expect_col_vals_in_set +#' @importFrom purrr set_names map2 pmap +#' @importFrom rlang !! := enquo +#' @importFrom pointblank expect_col_exists expect_col_is_numeric expect_col_is_character expect_col_vals_in_set test_col_exists +#' @importFrom tidyr tibble drop_na +#' @examples +#' data(ManyEcoEvo) +#' ManyEcoEvo %>% prepare_response_variables(estimate_type = "Zr") prepare_response_variables <- function(ManyEcoEvo, estimate_type = character(1L), param_table = NULL, - dataset_standardise = NULL) { + dataset_standardise = NULL, + dataset_log_transform = NULL, + ...) { + # ------ Argument Checks ------ match.arg(estimate_type, choices = c("Zr", "yi", "y25", "y50", "y75"), several.ok = FALSE) + stopifnot(is.data.frame(ManyEcoEvo)) + pointblank::expect_col_exists(object = ManyEcoEvo, columns = c(dataset, data)) + + if (!pointblank::test_col_exists(ManyEcoEvo, "estimate_type")) { + + ManyEcoEvo <- dplyr::mutate(ManyEcoEvo, + estimate_type = estimate_type) + + } + if (!is.null(dataset_standardise)) { - stopifnot(is.character(dataset_standardise)) - stopifnot(length(dataset_standardise) >= 1) - stopifnot(length(dataset_standardise) <= length(unique(ManyEcoEvo$dataset))) + + stopifnot( + is.character(dataset_standardise), + length(dataset_standardise) >= 1, + length(dataset_standardise) <= length(unique(ManyEcoEvo$dataset)) + ) + match.arg(dataset_standardise, choices = ManyEcoEvo$dataset, several.ok = TRUE) } + + if (!is.null(dataset_log_transform)) { + + stopifnot( + is.character(dataset_log_transform), + length(dataset_log_transform) >= 1, + length(dataset_log_transform) <= length(unique(ManyEcoEvo$dataset)) + ) + + match.arg(dataset_log_transform, + choices = ManyEcoEvo$dataset, + several.ok = TRUE) + } + if (!is.null(param_table)) { + stopifnot(is.data.frame(param_table)) - pointblank::expect_col_exists(object = param_table, - columns = c("variable", - "parameter", - "value")) - pointblank::expect_col_is_numeric(object = param_table, - columns = "value") - pointblank::expect_col_is_character(object = param_table, - columns = c("variable", - "parameter")) - pointblank::expect_col_vals_in_set(object = param_table, - columns = "parameter", - set = c("mean", "sd")) + + pointblank::expect_col_exists( + object = param_table, + columns = c("variable", + "parameter", + "value") + ) + + pointblank::expect_col_is_numeric( + object = param_table, + columns = "value" + ) + + pointblank::expect_col_is_character( + object = param_table, + columns = c("variable", + "parameter") + ) + + pointblank::expect_col_vals_in_set( + object = param_table, + columns = "parameter", + set = c("mean", "sd") + ) } - # ------ Function Body ------ + # ------ Prepare Response Variables ------ out <- ManyEcoEvo if (estimate_type != "Zr") { + if (all(is.null(param_table), !is.null(dataset_standardise))) { + cli::cli_abort("{.arg param_table} must be supplied for {.val {estimate_type}} data when {.arg dataset_standardise} is not {.val NULL}.") + } # ------ Back transform if estimate_type is yi only ------ + out <- out %>% ungroup() %>% dplyr::mutate( @@ -66,9 +122,7 @@ prepare_response_variables <- function(ManyEcoEvo, .y = dataset, .f = ~ back_transform_response_vars_yi( dat = .x, - estimate_type = !!{ - estimate_type - }, + estimate_type = !!{estimate_type}, dataset = .y ) ), @@ -80,49 +134,80 @@ prepare_response_variables <- function(ManyEcoEvo, distinct() ) ) + # ------ Allocate Response Variable Transformation Functions ------ + + # yi: no standardise or log-transform + if ( all(is.null(dataset_standardise), + is.null(dataset_log_transform))) { + + cli::cli_alert_info("No standardisation or log-transformation applied to response variables for {.val {estimate_type}} estimates.") + + transform_datasets <- + tibble( + dataset = unique(out$dataset), + fns = list(process_response) %>% + set_names("process_response") + ) + + } else { #yi + standardise and/or log-transform + + cli::cli_alert_info("Standardising and/or log-transforming response variables for {.val {estimate_type}} estimates.") + + transform_datasets <- + bind_rows( + tibble( + dataset = dataset_log_transform, + fns = list(log_transform_response) %>% + set_names("log_transform_response") + ), + tibble( + dataset = dataset_standardise, + fns = list(standardise_response) %>% + set_names("standardise_response") + )) %>% + drop_na() # in case of NULLs + + } + } else { # Zr - } else { if (!is.null(param_table)) { - cli::cli_abort("{.arg param_table} must be NULL for {.val {estimate_type}} data") + + cli::cli_abort("{.arg param_table} must be {.val NULL} for {.val {estimate_type}} data") } - } + + cli::cli_alert_info("Standardising response variables for {.val {estimate_type}} estimates.") + + transform_datasets <- + tibble( + dataset = unique(out$dataset), + fns = list(standardise_response) %>% + set_names("standardise_response") + ) + } # ------ Standardise Response Variables for Meta-analysis ------ - if (is.null(dataset_standardise)) { - out <- out %>% - ungroup() %>% - dplyr::mutate(data = purrr::map( - data, - process_response - )) - } else { - - datasets_to_standardise <- tibble( - dataset = dataset_standardise, - fns = list(standardise_response) - ) - - pmap_prepare_response <- function(data, - estimate_type = character(1L), - param_table, - dataset = character(1L), - fns, - ...){ #TODO move into own function as internal - stopifnot(is.data.frame(data)) - stopifnot(class(fns) == "function") - fns(data, estimate_type, param_table, dataset) - } - - out <- out %>% - ungroup() %>% - left_join(datasets_to_standardise, by = "dataset") %>% - mutate(fns = coalesce(fns, list(process_response))) %>% - mutate(data = pmap(.l = ., - .f = pmap_prepare_response, - estimate_type = estimate_type, - param_table = param_table)) %>% - select(-fns) #TODO drop ci cols or not?? - } + out <- out %>% + ungroup() %>% + left_join(transform_datasets, by = "dataset") %>% + mutate(fns = coalesce(fns, list(process_response))) %>% + mutate(data = pmap(.l = ., + .f = pmap_wrap, + # estimate_type = !!{{estimate_type}}, + param_table = !!{{param_table}} + )) %>% + select(-fns) + return(out) + +} + +#' Wrapper function to standardise response variables +#' @rdname process_analyst_data +#' @seealso This internal helper function is called by [prepare_response_variables()] +#' @importFrom rlang caller_env exec +#' @keywords internal +pmap_wrap <- function(..., fns, env = caller_env()){ + fn <- match.fun(fns) + exec(.fn = fn, ..., .env = env) } diff --git a/R/prepare_response_variables_yi.R b/R/prepare_response_variables_yi.R index d1e2d13..1308137 100644 --- a/R/prepare_response_variables_yi.R +++ b/R/prepare_response_variables_yi.R @@ -5,12 +5,14 @@ #' @param param_table A table of parameters \(mean, sd\) for *most* response variables used by analysts. This tibble is pulled from the named object exported by `ManyEcoEvo::`. but can be overwritten with the users's own `param_table` dataset. #' #' @return A tibble of nested list-columns -#' @details Operates on nested list-columns of data. The function back-transforms the response variables from the link to the response scale for each dataset in the ManyEcoEvo dataset. The back-transformed data is stored in a list-column called `back_transformed_data`. It is useful for when wanting to conduct a meta-analysis on the response scale, e.g. for the *Eucalyptus* count data. +#' @details Operates on nested list-columns of data. The function back-transforms the response variables from the link to the response scale for each dataset in the ManyEcoEvo dataset. The back-transformed data is stored in a list-column called `back_transformed_data`. It is useful for when wanting to conduct a meta-analysis on the response scale, e.g. for the *Eucalyptus* count data. +#' `estimate_type` is used to specify the type of estimate to be standardised and parsed to [back_transform_response_vars_yi()] +#' @seealso [back_transform_response_vars_yi()]. To be called prior to [generate_yi_subsets()]. #' @family targets-pipeline functions #' @family Multi-dataset Wrapper Functions #' @export prepare_response_variables_yi <- function(ManyEcoEvo, - estimate_type = character(1L), # TODO why do we need an estimate type arg if this is for yi only?! + estimate_type = character(1L), param_table = NULL) { stopifnot(is.data.frame(ManyEcoEvo)) # TODO run checks on ManyEcoEvo @@ -34,7 +36,8 @@ prepare_response_variables_yi <- function(ManyEcoEvo, diversity_data = map2( .x = diversity_data, .y = data, - .f = ~ semi_join(.x, .y) %>% distinct() + .f = ~ semi_join(.x, .y) %>% + distinct() ) ) return(out) @@ -48,7 +51,8 @@ prepare_response_variables_yi <- function(ManyEcoEvo, #' #' @return A tibble of analyst data with standardised values contained in a list-column called 'back_transformed_data' #' @export -#' @family analyst-data +#' @family Analysis-level functions +#' @family Back-transformation back_transform_response_vars_yi <- function(dat, estimate_type = character(1L), dataset = character(1L)) { @@ -60,7 +64,7 @@ back_transform_response_vars_yi <- function(dat, dat <- dat %>% pointblank::col_exists( columns = - pointblank::vars( + c( "TeamIdentifier", "submission_id", "analysis_id", diff --git a/R/run_model_checks.R b/R/run_model_checks.R index 7d6f7e2..6d93ebc 100644 --- a/R/run_model_checks.R +++ b/R/run_model_checks.R @@ -7,9 +7,11 @@ #' @return A tibble whose columns contain the outcomes of different model checks #' @export run_model_checks <- function(data, model_name = character(0L)) { - stopifnot(is.data.frame(data)) + stopifnot(is.data.frame(data), + is.character(model_name)) + pointblank::col_exists(data, - columns = vars(model_name, exclusion_set, dataset, estimate_type) + columns = c(model_name, "exclusion_set", "dataset", "estimate_type") ) match.arg(model_name, choices = unique(data$model_name)) diff --git a/R/standardise_response.R b/R/standardise_response.R index be8edf7..a9e3720 100644 --- a/R/standardise_response.R +++ b/R/standardise_response.R @@ -1,19 +1,22 @@ #' Process Response Data for Meta-Analysis -#' @param dat A tibble of analyst data with a list-column called -#' @param estimate_type The type of estimate to be standardised. Character vector of length 1, whose value may be "Zr", "yi", "y25", "y50", "y75". -#' @param param_table A table of estimated 'population' parameters for each variable in the analysis datasets. -#' @param dataset One of either "blue tit" or "eucalyptus" -#' @import cli +#' +#' @param data A tibble of analyst data with a list-column called +#' @param ... Ignored +#' @importFrom cli cli_h1 cli_h2 #' @import dplyr -#' @import tidyr -#' @import purrr -#' @import rlang +#' @importFrom tidyr unnest +#' @importFrom purrr pmap map2 map_int map +#' @importFrom rlang is_na #' @importFrom pointblank col_exists vars #' @name process_analyst_data NULL #> NULL - + #' Standardise Response Variable +#' +#' @param estimate_type The type of estimate to be standardised. Character vector of length 1, whose value may be "Zr", "yi", "y25", "y50", "y75". +#' @param param_table A table of estimated 'population' parameters for each variable in the analysis datasets. +#' @param dataset Character vector of length 1. The name of the dataset being processed, e.g. `blue tit` or `eucalyptus`. #' @return A tibble of analyst data with standardised values contained in a list-column called 'back_transformed_data' #' @details #' # `standardise_response()` @@ -34,44 +37,63 @@ NULL #' variable will not be standardised, and NA will be returned for that entry in `back_transformed_data`. #' @export #' @describeIn process_analyst_data Standardise response data for meta-analysis -#' @family analyst-data -#' @seealso [est_to_zr()], [assign_transformation_type()] -standardise_response <- function(dat, +#' @family Analysis-level functions +#' @seealso [est_to_zr()],[assign_transformation_type()], [pred_to_Z()] +#' @examples +#' # Standardise effect-sizes for eucalyptus dataset +#' +#' data(ManyEcoEvo) +#' ManyEcoEvo %>% +#' filter(dataset == "eucalyptus") %>% +#' pluck("data", 1) %>% +#' standardise_response(estimate_type = "Zr", +#' param_table = NULL, +#' dataset = "eucalyptus") +standardise_response <- function(data, estimate_type = character(1L), param_table = NULL, - dataset = character(1L)) { + dataset = character(1L), + ...) { + stopifnot(is.data.frame(data), + is.character(dataset)) + # TODO insert checks that appropriate columns exist # TODO apply to data and check that all cases accounted for! match.arg(estimate_type, choices = c("Zr", "yi", "y25", "y50", "y75"), several.ok = FALSE) - match.arg(dataset, choices = c("eucalyptus", "blue tit"), several.ok = FALSE) - cli::cli_h1(glue::glue("Computing meta-analysis inputs", "for estimate type ", "{estimate_type}")) + cli::cli_h1(c("Computing meta-analysis inputs", + "for {.arg estimate_type} = ", + "{.val {estimate_type}}")) if (estimate_type == "Zr") { + # ------ Convert Effect Sizes to Zr ------- + cli::cli_h2(paste0("Computing standardised effect sizes ", "{.code Zr}", " and variance ", "{.code VZr}")) - dat <- dat %>% - # unnest(back_transformed_estimate) %>% - dplyr::mutate(Zr_VZr = purrr::pmap( - .l = list( - beta_estimate = beta_estimate, - beta_SE = beta_SE, - adjusted_df = adjusted_df - ), - .f = est_to_zr - )) %>% + data <- data %>% + dplyr::mutate( + Zr_VZr = purrr::pmap( + .l = list( + beta_estimate = beta_estimate, + beta_SE = beta_SE, + adjusted_df = adjusted_df + ), + .f = est_to_zr + )) %>% tidyr::unnest(cols = c(Zr_VZr)) } else { + # ------ Convert predictions to Z ------- + cli::cli_h2(paste0("Standardising out-of-sample predictions")) - dat <- dat %>% + data <- data %>% pointblank::col_exists( columns = - pointblank::vars( + c( "id_col", - "augmented_data", + "back_transformed_data", "response_variable_name" ) ) %>% # add check for response transformation @@ -104,8 +126,7 @@ standardise_response <- function(dat, .f = ~ if (all(!rlang::is_na(..1), !rlang::is_na(..2))) { pred_to_Z( back_transformed_data = ..1, - params = ..2, - dataset = dataset) + params = ..2) } else { NA } @@ -114,7 +135,7 @@ standardise_response <- function(dat, ungroup() } # TODO for any analyses implicitly excluded, return a message to the user - return(dat) + return(data) } #' Process response data for meta-analysis @@ -127,22 +148,74 @@ standardise_response <- function(dat, #' #' Formats tibbles in the list-column `back_transformed_data` to ensure that the #' correct columns are present for meta-analysis, matching the outputs of -#' [standardise_response()]. For blue tit data `dat$back_transformed_data$fit` -#' and for eucalyptus data, `dat$back_transformed_data$estimate` is renamed `Z`. +#' [standardise_response()]. For blue tit data `data$back_transformed_data$fit` +#' and for eucalyptus data, `data$back_transformed_data$estimate` is renamed `Z`. #' `se.fit` is renamed `VZ`. #' @import dplyr -#' @import purrr -#' @import tidyr -process_response <- function(dat, ...){ +#' @importFrom purrr map +process_response <- function(data, ...){ Z_names_lookup <- c(Z = "estimate", #blue tit Z = "fit", #eucalyptus - VZ = "se.fit") # both datasets + VZ = "se.fit", + lower = "ci.low", + upper = "ci.hi") # both datasets - dat %>% + data %>% mutate(back_transformed_data = map(back_transformed_data, rename, any_of(Z_names_lookup)), params = NA) } + +#' Log-transform out-of-sample predictions data for meta-analysis +#' +#' @param sim a numeric vector of length 1L with the number of simulations that should be passed to [log_transform()] +#' @details +#' # [log_transform_response()] +#' +#' maps [log_transform_yi()] onto back-transformed data stored in list-columns within [data] +#' @examples +#' data(ManyEcoEvo_yi) +#' ManyEcoEvo_yi %>% +#' filter(dataset == "eucalyptus") %>% +#' pluck("data", 1) %>% +#' back_transform_response_vars_yi("yi", "eucalyptus") %>% +#' log_transform_response() +#' @export +#' @import dplyr +#' @importFrom cli cli_h1 cli_h2 +#' @importFrom pointblank col_exists +#' @importFrom purrr map +#' @importFrom rlang is_na +#' @describeIn process_analyst_data Standardise response data for meta-analysis +#' @family Analysis-level functions +log_transform_response <- function(data, sim = 10000L, ...) { + # TODO insert checks that appropriate columns exist + # TODO apply to data and check that all cases accounted for! + stopifnot(is.data.frame(data)) + + cli::cli_h1(c("Computing meta-analysis inputs:")) + cli::cli_h2(c("Log-transforming response-variable")) + + out <- data %>% + pointblank::col_exists( + columns = c( + "id_col", + "back_transformed_data" + ) + ) %>% + dplyr::mutate(back_transformed_data = + purrr::map( + .x = back_transformed_data, + .f = ~ if (!rlang::is_na(.x)) { + log_transform_yi(.x, sim = sim) + } else { + NA + } + ), + .by = "id_col") + + return(out) +} diff --git a/R/summarise_analysis_types.R b/R/summarise_analysis_types.R index f5f1ecc..5755b9e 100644 --- a/R/summarise_analysis_types.R +++ b/R/summarise_analysis_types.R @@ -13,16 +13,17 @@ #' @return A summarised tibble with the variables `subset`, `dataset`, `num_teams`, `total_analyses`, `sum_linear`, `sum_mixed`, `sum_Bayesian`. #' @export #' @import dplyr -#' @import broom -#' @import tidyr +#' @importFrom broom tidy +#' @importFrom tidyr unnest #' @import metafor -#' @import purrr +#' @importFrom purrr map set_names map_dfr #' @family Multi-dataset Wrapper Functions #' @author Hannah S. Fraser #' @author Elliot Gould #' @examples #' summarise_analysis_types(ManyEcoEvo_results, ManyEcoEvo_yi_results, ManyEcoEvo) summarise_analysis_types <- function(ManyEcoEvo_results, ManyEcoEvo_yi_results, ManyEcoEvo) { + effect_ids <- ManyEcoEvo_results %>% filter( exclusion_set == "complete", @@ -30,21 +31,22 @@ summarise_analysis_types <- function(ManyEcoEvo_results, ManyEcoEvo_yi_results, ) %>% select(MA_mod, effects_analysis) %>% group_by(estimate_type, dataset) %>% - mutate(tidy_mod = map( - MA_mod, - ~ broom::tidy(.x, - conf.int = TRUE, - include_studies = TRUE - ) %>% - rename(study_id = term) - ), .keep = "none") %>% + mutate(tidy_mod = + map( + MA_mod, + ~ broom::tidy(.x, + conf.int = TRUE, + include_studies = TRUE + ) %>% + rename(study_id = term) + ), .keep = "none") %>% unnest(tidy_mod) %>% filter(type == "study") %>% ungroup() %>% select(study_id) %>% rename(id_col = study_id) %>% # TODO duplicates for "Bell-2-2-1" and "Bonalbo-1-1-1 WHY? distinct() - + prediction_ids <- ManyEcoEvo_yi_results %>% # TODO Euc mod_data_logged not here! filter( exclusion_set == "complete", @@ -52,18 +54,19 @@ summarise_analysis_types <- function(ManyEcoEvo_results, ManyEcoEvo_yi_results, ) %>% select(MA_mod, effects_analysis, -exclusion_set) %>% group_by(estimate_type, dataset) %>% - mutate(tidy_mod = map( - MA_mod, - ~ broom::tidy(.x, conf.int = TRUE, include_studies = TRUE) %>% - rename(study_id = term) - ), .keep = "none") %>% + mutate(tidy_mod = + map( + MA_mod, + ~ broom::tidy(.x, conf.int = TRUE, include_studies = TRUE) %>% + rename(study_id = term) + ), .keep = "none") %>% unnest(tidy_mod) %>% filter(type == "study") %>% ungroup() %>% select(study_id) %>% rename(id_col = study_id) %>% distinct() - + Master <- ManyEcoEvo %>% ungroup() %>% @@ -84,13 +87,13 @@ summarise_analysis_types <- function(ManyEcoEvo_results, ManyEcoEvo_yi_results, lm = ifelse(linear_model == "linear", 1, 0), glm = ifelse(linear_model == "generalised", 1, 0) ) # TODO move this into master processing so don't have to repeat else where!! - + effects <- Master %>% right_join(effect_ids, by = c("id_col")) # repeat for each - + predictions <- Master %>% right_join(prediction_ids, by = c("id_col")) - + summarised_data <- full_join( map_dfr( .x = list(effects, predictions) %>% @@ -105,12 +108,11 @@ summarise_analysis_types <- function(ManyEcoEvo_results, ManyEcoEvo_yi_results, .id = "subset" ) ) - + return(summarised_data) # TODO next: set up so can run on just one object ManyEcoEvo_results, and account for subsets too! } - #' Summarise number of analyst teams and total analyses per dataset #' #' @param data A dataframe containing the variables `TeamIdentifier` and `dataset` diff --git a/R/summarise_conclusions.R b/R/summarise_conclusions.R index 7b47a19..a795c92 100644 --- a/R/summarise_conclusions.R +++ b/R/summarise_conclusions.R @@ -9,9 +9,9 @@ #' @return A dataframe with count values for each unique `Conclusion` in columns for each `subset` ("effects", "predictions", "all"), for each `dataset`. #' @export #' @import dplyr -#' @import purrr -#' @import broom -#' @import tidyr +#' @importFrom purrr map_dfr map +#' @importFrom broom tidy +#' @importFrom tidyr unnest pivot_wider #' @import metafor #' @family Multi-dataset Wrapper Functions #' @author Hannah S. Fraser diff --git a/R/summarise_model_composition.R b/R/summarise_model_composition.R index cdd0b8c..1efd364 100644 --- a/R/summarise_model_composition.R +++ b/R/summarise_model_composition.R @@ -5,7 +5,6 @@ #' @details #' Generates summary data with [summarise_model_composition_data()]. #' -#' #' @param ManyEcoEvo_results A tibble of `ManyEcoEvo_results` #' @param ManyEcoEvo_yi_results A tibble of `ManyEcoEvo_yi_results` #' @param ManyEcoEvo A tibble of `ManyEcoEvo` @@ -13,8 +12,9 @@ #' @return A dataframe #' @export #' @import dplyr -#' @import tidyr -#' @import purrr +#' @importFrom broom tidy +#' @importFrom tidyr unnest pivot_longer +#' @importFrom purrr map map_dfr set_names #' @author Hannah S. Fraser #' @author Elliot Gould #' @family Multi-dataset Wrapper Functions @@ -28,21 +28,22 @@ summarise_model_composition <- function(ManyEcoEvo_results, ManyEcoEvo_yi_result ) %>% select(MA_mod, effects_analysis) %>% group_by(estimate_type, dataset) %>% - mutate(tidy_mod = map( - MA_mod, - ~ broom::tidy(.x, - conf.int = TRUE, - include_studies = TRUE - ) %>% - rename(study_id = term) - ), .keep = "none") %>% + mutate(tidy_mod = + map( + MA_mod, + ~ broom::tidy(.x, + conf.int = TRUE, + include_studies = TRUE + ) %>% + rename(study_id = term) + ), .keep = "none") %>% unnest(tidy_mod) %>% filter(type == "study") %>% ungroup() %>% select(study_id) %>% rename(id_col = study_id) %>% # TODO duplicates for "Bell-2-2-1" and "Bonalbo-1-1-1 WHY? distinct() - + prediction_ids <- ManyEcoEvo_yi_results %>% # TODO Euc mod_data_logged not here! filter( exclusion_set == "complete", @@ -50,19 +51,20 @@ summarise_model_composition <- function(ManyEcoEvo_results, ManyEcoEvo_yi_result ) %>% select(MA_mod, effects_analysis, -exclusion_set) %>% group_by(estimate_type, dataset) %>% - mutate(tidy_mod = map( - MA_mod, - ~ broom::tidy(.x, conf.int = TRUE, include_studies = TRUE) %>% - rename(study_id = term) - ), .keep = "none") %>% + mutate(tidy_mod = + map( + MA_mod, + ~ broom::tidy(.x, conf.int = TRUE, include_studies = TRUE) %>% + rename(study_id = term) + ), .keep = "none") %>% unnest(tidy_mod) %>% filter(type == "study") %>% ungroup() %>% select(study_id) %>% rename(id_col = study_id) %>% distinct() - - + + Master <- ManyEcoEvo %>% ungroup() %>% @@ -83,13 +85,13 @@ summarise_model_composition <- function(ManyEcoEvo_results, ManyEcoEvo_yi_result lm = ifelse(linear_model == "linear", 1, 0), glm = ifelse(linear_model == "generalised", 1, 0) ) # TODO move this into master processing so don't have to repeat else where!! - + effects <- Master %>% # TODO consider generalising, so for each 'estimate_type' group: repeat. right_join(effect_ids, by = c("id_col")) # repeat for each - + predictions <- Master %>% right_join(prediction_ids, by = c("id_col")) - + summarised_data <- map_dfr( .x = list(effects, predictions, Master) %>% @@ -103,7 +105,7 @@ summarise_model_composition <- function(ManyEcoEvo_results, ManyEcoEvo_yi_result names_pattern = "(.*)_(.*)", values_to = "value" ) - + return(summarised_data) } diff --git a/R/summarise_review_data.R b/R/summarise_review_data.R index 18859bf..0eef712 100644 --- a/R/summarise_review_data.R +++ b/R/summarise_review_data.R @@ -9,9 +9,9 @@ #' @return A named list of length two of `summarised_data_analyses` containing a tibble of summary statistics for each outcome `subset` (`effects` or `predictions`) generated by [summarise_analyses_by_reviewer()], and `summarised_data_reviews` containing a tibble of sumary statistics for each outcome `subset`, for each `dataset` generated by [summarise_reviews_per_analysis()]. #' @export #' @import dplyr -#' @import tidyr -#' @import purrr -#' @import broom +#' @importFrom tidyr unnest +#' @importFrom purrr set_names map_dfr +#' @importFrom broom tidy #' @import metafor #' @author Hannah S. Fraser #' @author Elliot Gould @@ -30,7 +30,7 @@ summarise_reviews <- function(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo_yi_resu unnest(data) %>% select(ends_with("_id"), id_col, dataset, review_data) %>% unnest(review_data) - + effect_ids <- ManyEcoEvo_results %>% filter( exclusion_set == "complete", @@ -38,21 +38,22 @@ summarise_reviews <- function(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo_yi_resu ) %>% select(MA_mod, effects_analysis) %>% group_by(estimate_type, dataset) %>% - mutate(tidy_mod = map( - MA_mod, - ~ broom::tidy(.x, - conf.int = TRUE, - include_studies = TRUE - ) %>% - rename(study_id = term) - ), .keep = "none") %>% + mutate(tidy_mod = + map( + MA_mod, + ~ broom::tidy(.x, + conf.int = TRUE, + include_studies = TRUE + ) %>% + rename(study_id = term) + ), .keep = "none") %>% unnest(tidy_mod) %>% filter(type == "study") %>% ungroup() %>% select(study_id) %>% rename(id_col = study_id) %>% # TODO duplicates for "Bell-2-2-1" and "Bonalbo-1-1-1 WHY? distinct() - + prediction_ids <- ManyEcoEvo_yi_results %>% # TODO Euc mod_data_logged not here! filter( exclusion_set == "complete", @@ -60,39 +61,40 @@ summarise_reviews <- function(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo_yi_resu ) %>% select(MA_mod, effects_analysis, -exclusion_set) %>% group_by(estimate_type, dataset) %>% - mutate(tidy_mod = map( - MA_mod, - ~ broom::tidy(.x, conf.int = TRUE, include_studies = TRUE) %>% - rename(study_id = term) - ), .keep = "none") %>% + mutate(tidy_mod = + map( + MA_mod, + ~ broom::tidy(.x, conf.int = TRUE, include_studies = TRUE) %>% + rename(study_id = term) + ), .keep = "none") %>% unnest(tidy_mod) %>% filter(type == "study") %>% ungroup() %>% select(study_id) %>% rename(id_col = study_id) %>% distinct() - + effects <- review_data %>% # TODO consider generalising, so for each 'estimate_type' group: repeat. right_join(effect_ids, by = c("id_col")) %>% # repeat for each filter(!is.na(dataset)) # TODO id source of NAs in dataset! - + predictions <- review_data %>% right_join(prediction_ids, by = c("id_col")) - + summarised_data_analyses <- map_dfr( .x = list(effects, predictions) %>% purrr::set_names("effects", "predictions"), .f = summarise_analyses_by_reviewer, .id = "subset" ) - + summarised_data_reviews <- map_dfr( .x = list(effects, predictions) %>% purrr::set_names("effects", "predictions"), .f = summarise_reviews_per_analysis, .id = "subset" ) - + summarised_data <- list( summarised_data_analyses, summarised_data_reviews @@ -101,7 +103,7 @@ summarise_reviews <- function(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo_yi_resu "summarised_data_analyses", "summarised_data_reviews" ) - + return(summarised_data) } diff --git a/R/summarise_sorensen_index.R b/R/summarise_sorensen_index.R index 733d66c..f8c962a 100644 --- a/R/summarise_sorensen_index.R +++ b/R/summarise_sorensen_index.R @@ -10,8 +10,9 @@ #' @return A tibble of aggregate summary statistics (`mean`, `sd`, `min`, `max`) for mean Sorensen's index estimates across each `subset` and `dataset`. #' @export #' @import dplyr -#' @import tidyr -#' @import purrr +#' @importFrom tidyr unnest +#' @importFrom purrr map map_dfr set_names +#' @importFrom broom tidy #' @author Hannah S. Fraser #' @author Elliot Gould #' @family Multi-dataset Wrapper Functions @@ -28,14 +29,14 @@ summarise_sorensen_index <- function(ManyEcoEvo_results, ManyEcoEvo_yi_results) ungroup() %>% select(dataset, diversity_indices) %>% unnest(diversity_indices) - + sorensen_index_yi <- ManyEcoEvo_yi_results %>% filter(exclusion_set == "complete") %>% ungroup() %>% select(dataset, diversity_indices) %>% unnest(diversity_indices) - + effect_ids <- ManyEcoEvo_results %>% # TODO ensure for other related functions are properly filtering ManyEcoEvo_results filter( exclusion_set == "complete", @@ -44,43 +45,45 @@ summarise_sorensen_index <- function(ManyEcoEvo_results, ManyEcoEvo_yi_results) ) %>% select(MA_mod, effects_analysis) %>% group_by(estimate_type, dataset) %>% - mutate(tidy_mod = map( - MA_mod, - ~ broom::tidy(.x, - conf.int = TRUE, - include_studies = TRUE - ) %>% - rename(study_id = term) - ), .keep = "none") %>% + mutate(tidy_mod = + map( + MA_mod, + ~ broom::tidy(.x, + conf.int = TRUE, + include_studies = TRUE + ) %>% + rename(study_id = term) + ), .keep = "none") %>% unnest(tidy_mod) %>% filter(type == "study") %>% ungroup() %>% select(study_id) %>% rename(id_col = study_id) %>% # TODO duplicates for "Bell-2-2-1" and "Bonalbo-1-1-1 WHY? distinct() - + prediction_ids <- ManyEcoEvo_yi_results %>% # TODO Euc mod_data_logged not here! filter(exclusion_set == "complete") %>% select(MA_mod, effects_analysis, -exclusion_set) %>% group_by(estimate_type, dataset) %>% - mutate(tidy_mod = map( - MA_mod, - ~ broom::tidy(.x, conf.int = TRUE, include_studies = TRUE) %>% - rename(study_id = term) - ), .keep = "none") %>% + mutate(tidy_mod = + map( + MA_mod, + ~ broom::tidy(.x, conf.int = TRUE, include_studies = TRUE) %>% + rename(study_id = term) + ), .keep = "none") %>% unnest(tidy_mod) %>% filter(type == "study") %>% ungroup() %>% select(study_id) %>% rename(id_col = study_id) %>% distinct() - + effects <- sorensen_index_zr %>% # TODO consider generalising, so for each 'estimate_type' group: repeat. right_join(effect_ids, by = c("id_col")) # repeat for each - + predictions <- sorensen_index_yi %>% right_join(prediction_ids, by = c("id_col")) - + summarised_data <- map_dfr( .x = list(predictions, effects) %>% @@ -88,7 +91,7 @@ summarise_sorensen_index <- function(ManyEcoEvo_results, ManyEcoEvo_yi_results) .f = summarise_sorensen_index_data, .id = "subset" ) - + return(summarised_data) } @@ -99,7 +102,7 @@ summarise_sorensen_index <- function(ManyEcoEvo_results, ManyEcoEvo_yi_results) #' @param data A dataframe containing `mean_diversity_index` for the Sorensen's index estimates for each analysis `id_col`, for each `dataset`. #' @return A dataframe with the `mean`, `sd`, `min`, `max` mean Sorensen's index values for each `dataset`. #' @export -#' +#' @import dplyr #' @examples #' ManyEcoEvo_results %>% #' filter( diff --git a/R/summarise_variable_counts.R b/R/summarise_variable_counts.R index 1bb6b26..3a86040 100644 --- a/R/summarise_variable_counts.R +++ b/R/summarise_variable_counts.R @@ -13,9 +13,9 @@ #' @return A dataframe of count values `n` or summary statistic values `n_mean`,`n_sd`,`n_min`,`n_max` of counts depending on the the value supplied to the `output` argument. #' @export #' @import dplyr -#' @import tidyr -#' @import purrr -#' @import broom +#' @importFrom broom tidy +#' @importFrom tidyr unnest +#' @importFrom purrr map map_dfr set_names #' @author Hannah S. Fraser #' @author Elliot Gould #' @family Multi-dataset Wrapper Functions @@ -25,11 +25,11 @@ #' summarise_variable_counts(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo_yi_results, "aggregate") summarise_variable_counts <- function(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo_yi_results, output = "count") { stopifnot(output == "count" | output == "aggregate") - + diversity <- ManyEcoEvo %>% select(diversity_data) %>% unnest(diversity_data) - + effect_ids <- ManyEcoEvo_results %>% filter( exclusion_set == "complete", @@ -38,14 +38,15 @@ summarise_variable_counts <- function(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo select(MA_mod, effects_analysis) %>% group_by(estimate_type, dataset) %>% mutate( - tidy_mod = map( - MA_mod, - ~ broom::tidy(.x, - conf.int = TRUE, - include_studies = TRUE - ) %>% - rename(study_id = term) - ), + tidy_mod = + map( + MA_mod, + ~ broom::tidy(.x, + conf.int = TRUE, + include_studies = TRUE + ) %>% + rename(study_id = term) + ), .keep = "none" ) %>% unnest(tidy_mod) %>% @@ -54,7 +55,7 @@ summarise_variable_counts <- function(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo select(study_id) %>% rename(id_col = study_id) %>% # TODO duplicates for "Bell-2-2-1" and "Bonalbo-1-1-1 WHY? distinct() - + prediction_ids <- ManyEcoEvo_yi_results %>% # TODO Euc mod_data_logged not here! filter( exclusion_set == "complete", @@ -62,24 +63,25 @@ summarise_variable_counts <- function(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo ) %>% select(MA_mod, effects_analysis, -exclusion_set) %>% group_by(estimate_type, dataset) %>% - mutate(tidy_mod = map( - MA_mod, - ~ broom::tidy(.x, conf.int = TRUE, include_studies = TRUE) %>% - rename(study_id = term) - ), .keep = "none") %>% + mutate(tidy_mod = + map( + MA_mod, + ~ broom::tidy(.x, conf.int = TRUE, include_studies = TRUE) %>% + rename(study_id = term) + ), .keep = "none") %>% unnest(tidy_mod) %>% filter(type == "study") %>% ungroup() %>% select(study_id) %>% rename(id_col = study_id) %>% distinct() - + effects <- diversity %>% # TODO consider generalising, so for each 'estimate_type' group: repeat. right_join(effect_ids, by = c("id_col")) # repeat for each - + predictions <- diversity %>% right_join(prediction_ids, by = c("id_col")) - + # repeat for all, predictions, effects summarised_data <- map_dfr( @@ -87,22 +89,27 @@ summarise_variable_counts <- function(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo purrr::set_names("effects", "predictions", "all"), .f = count_analyses_variables_used, .id = "subset" ) - + if (output == "count") { + return(summarised_data) + } else { + summarised_data <- summarised_data %>% group_by(dataset, subset) %>% summarise(across(n, - .fns = list( - mean = ~ mean(.x, na.rm = TRUE), - sd = ~ sd(.x, na.rm = TRUE), - min = ~ min(.x, na.rm = TRUE), # TODO is value of 0 correct? - max = ~ max(.x, na.rm = TRUE) - ) + .fns = list( + mean = ~ mean(.x, na.rm = TRUE), + sd = ~ sd(.x, na.rm = TRUE), + min = ~ min(.x, na.rm = TRUE), # TODO is value of 0 correct? + max = ~ max(.x, na.rm = TRUE) + ) )) } + return(summarised_data) + } #' Count number of analyses each variable is used @@ -115,7 +122,7 @@ summarise_variable_counts <- function(ManyEcoEvo, ManyEcoEvo_results, ManyEcoEvo #' @return A dataframe of counts `n` each `variable` is used across all analyses within a given `dataset` #' @export #' @import dplyr -#' @import tidyr +#' @importFrom tidyr pivot_longer #' @author Hannah S. Fraser #' @author Elliot Gould #' @examples diff --git a/R/utils.R b/R/utils.R index f875fc6..dd5933a 100644 --- a/R/utils.R +++ b/R/utils.R @@ -8,12 +8,13 @@ #' @keywords internal #' @export #' @usage lhs \%in\% rhs -#' @param lhs vector or NULL: the values to be matched. [Long vectors](http://127.0.0.1:59782/help/library/base/help/Long%20vectors) are supported. -#' @param rhs vector or NULL: the values to be matched. [Long vectors](http://127.0.0.1:59782/help/library/base/help/Long%20vectors) are supported. +#' @param lhs vector or NULL: the values to be matched. \code{\link[base]{Long vectors}} are supported. +#' @param rhs vector or NULL: the values to be matched. \code{\link[base]{Long vectors}} are supported. #' @return A logical vector indicating which value of `lhs` are *not* matched in `rhs` #' @examples #' "A" %nin% LETTERS[1:10] #' "A" %in% LETTERS[1:10] +#' @family Utility functions `%nin%` <- Negate(`%in%`) #' Subsetting Functions for effect-size meta-analysis @@ -22,20 +23,27 @@ #' #' @return A named list of `lambda` functions #' @export +#' @importFrom rlang as_function +#' @import dplyr +#' @family Utility functions subset_fns_Zr <- function() { # TODO update calling of this fn (switch to fn rather than object) out <- list( - subset_complete = rlang::as_function(~ .x %>% - filter( - exclusions_all == "retain", - exclusions_effect_analysis %in% - c("retain", "exclude_partial") - )), - subset_partial = rlang::as_function(~ .x %>% - filter( - exclusions_all == "retain", - exclusions_effect_analysis %in% - c("retain") - )) + subset_complete = + rlang::as_function( + ~ .x %>% + dplyr::filter( + exclusions_all == "retain", + exclusions_effect_analysis %in% + c("retain", "exclude_partial") + )), + subset_partial = + rlang::as_function( + ~ .x %>% + dplyr::filter( + exclusions_all == "retain", + exclusions_effect_analysis %in% + c("retain") + )) ) return(out) } @@ -52,14 +60,17 @@ subset_fns_Zr <- function() { # TODO update calling of this fn (switch to fn rat #' #' @return A named list of `lambda` functions #' @export -#' @import rlang #' @import dplyr +#' @importFrom rlang as_function +#' @family Utility functions subset_fns_yi <- function() { out <- list( # TODO: which dataset and variable are the prediction exclusions contained?? - subset_complete = rlang::as_function(~ .x %>% - filter(exclusions_all == "retain")) + subset_complete = + rlang::as_function( + ~ .x %>% + filter(exclusions_all == "retain")) ) - + return(out) } @@ -73,15 +84,16 @@ subset_fns_yi <- function() { #' #' @examples #' capwords("bah, bah, black sheep") +#' @family Utility functions capwords <- function(s, strict = FALSE) { cap <- function(s) { paste(toupper(substring(s, 1, 1)), - { - s <- substring(s, 2) - if (strict) tolower(s) else s - }, - sep = "", - collapse = " " + { + s <- substring(s, 2) + if (strict) tolower(s) else s + }, + sep = "", + collapse = " " ) } sapply(strsplit(s, split = " "), cap, USE.NAMES = !is.null(names(s))) @@ -101,6 +113,7 @@ capwords <- function(s, strict = FALSE) { #' ManyEcoEvo_results %>% #' pluck("effects_analysis", 1) %>% #' rm_inf_na(beta_estimate, beta_SE) +#' @family Utility functions rm_inf_na <- function(effects_analysis, Z_colname, VZ_colname) { effects_analysis %>% filter( @@ -121,13 +134,14 @@ rm_inf_na <- function(effects_analysis, Z_colname, VZ_colname) { #' @return A named list of tibbles. Each tibble contains the rows of .tbl for the associated group and all the columns, including the grouping variables. Note that this returns a list_of which is slightly stricter than a simple list but is useful for representing lists where every element has the same type. #' @export #' @import dplyr -#' @import rlang -#' @import purrr +#' @importFrom rlang ensym +#' @importFrom purrr set_names map_chr pluck map #' @examples #' data(euc_data) #' data(blue_tit_data) #' named_group_split(euc_data, Property) #' named_group_split(blue_tit_data, hatch_Area) +#' @family Utility functions named_group_split <- function(.data, grouping_variable) { .data %>% group_by({{ grouping_variable }}) %>% diff --git a/R/validate_predictions.R b/R/validate_predictions.R index 7d7e574..c89bf1d 100644 --- a/R/validate_predictions.R +++ b/R/validate_predictions.R @@ -1,10 +1,23 @@ -#' Validate out of sample predictions for blue tit dataset with pointblank package -#' +#' Validating analyst-submitted predictions +#' @description +#' Validates the structure of the analyst-submitted predictions, ensuring that the required columns are present and in the correct format. #' @param input Either a filepath or a dataframe, corresponding to the `type` argument specification #' @param type character string of length 1, equal to either "filepath" or "df". Defaults to "filepath" -#' -#' @return A pointblank agent, class "ptblank_agent", yet to be interrogated +#' @return A pointblank agent, class `ptblank_agent`, yet to be interrogated +#' @family Out-of-Sample Prediction Validation +#' @name validate +#' @importFrom pointblank create_agent col_exists col_is_integer col_is_numeric col_is_character col_vals_in_set action_levels warn_on_fail vars +#' @importFrom fs file_exists +#' @importFrom readr read_csv +#' @importFrom stringr str_split +#' @importFrom purrr pluck +#' @seealso [pointblank::create_agent()] +NULL +#> NULL + +#' Validate out of sample predictions for blue tit dataset with pointblank package #' @export +#' @describeIn validate Validate Blue tit predictions data validate_predictions_df_blue_tit <- function(input, type = "filepath") { match.arg(arg = type, choices = c("filepath", "df"), several.ok = FALSE) @@ -58,11 +71,8 @@ validate_predictions_df_blue_tit <- function(input, type = "filepath") { #' Validate out of sample predictions for eucalytpus dataset with pointblank package #' -#' @param input Either a filepath or a dataframe, corresponding to the `type` argument specification -#' @param type character string of length 1, equal to either "filepath" or "df". Defaults to "filepath" -#' -#' @return A pointblank agent, class "ptblank_agent", yet to be interrogated -#' @export +#' @describeIn validate Validate *Eucalyptus* predictions data +#' @family Out-of-Sample Prediction Validation validate_predictions_df_euc <- function(input, type = "filepath") { match.arg(arg = type, choices = c("filepath", "df"), several.ok = FALSE) @@ -113,16 +123,12 @@ validate_predictions_df_euc <- function(input, type = "filepath") { return(predictions_agent_euc) } -# let's try and apply conditional behaviour depending on which dataset was analysed - #' Validate predictions conditioned on dataset #' #' @param data_set the dataset being analysed, either "blue tit" or "eucalyptus" -#' @param input a tibble of out of sample predictions that has been augmented, i.e. checked and updated -#' @param type character string of length 1, equal to either "filepath" or "df". Defaults to "filepath" -#' -#' @return An object of class "pointblank_agent", yet to be interrogated. #' @export +#' @describeIn validate Wrapper-function for [validate_predictions_df_euc()] and [validate_predictions_df_blue_tit()] +#' @family Out-of-Sample Prediction Validation validate_predictions <- function(data_set, input, type = "filepath") { # TODO change `data` to `filepath` for semantic accuracy # I have written a separate function to control the conditional application of the validation # because using if else doesn't return the full data from the agent interrogation diff --git a/_targets.R b/_targets.R index 8338407..6cf3a36 100644 --- a/_targets.R +++ b/_targets.R @@ -34,7 +34,7 @@ pkgs <- c("tidyverse", controller <- crew::crew_controller_local( garbage_collection = TRUE, name = "Elliot_MBP", - workers = 10, + workers = 10, #TODO: check if this is the right number of workers for general use seconds_idle = 5 ) @@ -44,7 +44,8 @@ tar_option_set( storage = "worker", retrieval = "worker", controller = controller, - format = "qs" + format = "qs", + seed = 1234 # debug = c("augmented_data_3efd9941")#, #augmented_data_a4d78efa # cue = tar_cue(mode = "always") #because we have silent errors! ) @@ -89,20 +90,34 @@ list(tarchetypes::tar_file_read(name = euc_reviews, master_metadata, all_review_data)), targets::tar_target(name = ManyEcoEvo_results, - command = ManyEcoEvo %>% - prepare_response_variables(estimate_type = "Zr") |> + command = + ManyEcoEvo %>% + prepare_response_variables( + estimate_type = "Zr", + dataset_standardise = + c("blue tit", "eucalyptus")) |> generate_exclusion_subsets(estimate_type = "Zr") |> generate_rating_subsets() |> generate_expertise_subsets(ManyEcoEvo:::expert_subset) |> generate_collinearity_subset(ManyEcoEvo:::collinearity_subset) |> + generate_outlier_subsets( + outcome_variable = + list(dataset = list("eucalyptus" = "Zr", + "blue tit" = "Zr")), + n_min = -2, + n_max = -2, + ignore_subsets = + list(collinearity_subset != "collinearity_removed", + expertise_subset != "expert", + publishable_subset == "All", + exclusion_set != "complete")) |> compute_MA_inputs(estimate_type = "Zr") |> - generate_outlier_subsets() |> # TODO run before MA_inputs? diversity indices need to be recalculated!! - filter(expertise_subset != "expert" | exclusion_set != "complete-rm_outliers") |> #TODO mv into generate_outlier_subsets() so aren't created in the first place meta_analyse_datasets(filter_vars = rlang::exprs(exclusion_set == "complete", expertise_subset == "All", publishable_subset == "All", - collinearity_subset == "All"))), + collinearity_subset == "All")) + ), #TODO looks like generating outlier subsets isn't necessary?? check what filter_vars does again? targets::tar_target(updated_prediction_files, preprocess_updated_prediction_files(list_of_new_prediction_files)), targets::tar_target(prediction_submissions, @@ -213,10 +228,11 @@ list(tarchetypes::tar_file_read(name = euc_reviews, pattern = map(augmented_data, groups) ), tar_target(prediction_checks, - command = if(!rlang::is_na(validated_augmented_data)) { + command = if (!rlang::is_na(validated_augmented_data)) { pointblank::interrogate(validated_augmented_data) %>% - pointblank::get_agent_report(., display_table = FALSE) - }else{ + pointblank::get_agent_report(., + display_table = FALSE) + } else{ NA }, iteration = "list", @@ -244,14 +260,33 @@ list(tarchetypes::tar_file_read(name = euc_reviews, command = ManyEcoEvo_yi %>% prepare_response_variables( estimate_type = "yi", - param_table = ManyEcoEvo:::analysis_data_param_tables, - dataset_standardise = "blue tit") %>% + param_table = + ManyEcoEvo:::analysis_data_param_tables, + dataset_standardise = "blue tit", + dataset_log_transform = "eucalyptus") %>% generate_yi_subsets() %>% #TODO: must be run after prepare_response_variables?? - apply_VZ_exclusions(3) %>% - generate_exclusion_subsets() %>% #TODO: runs on ManyEcoEvo that contains Zr and yi results. - compute_MA_inputs() %>% #TODO lone join by "estimate_type" amongst join_by ("id_col") is suspicious! - generate_outlier_subsets() %>% #TODO swapped order with previous line, but untested - meta_analyse_datasets(filter_vars = NULL) #TODO requires col exclusion_set from generate_exclusion_subsets() but don't need that fun in this pipeline anymore + apply_VZ_exclusions( + VZ_colname = list("eucalyptus" = "se_log", + "blue tit" = "VZ"), + VZ_cutoff = 3) %>% + generate_exclusion_subsets() %>% #TODO: runs on ManyEcoEvo that contains Zr and yi results; DELETE, not needed + generate_outlier_subsets( + outcome_variable = + list(dataset = + list("eucalyptus" = "mean_log", + "blue tit" = "Z")), + n_min = -3, + n_max = -3, + ignore_subsets = NULL) %>% + compute_MA_inputs() %>% + meta_analyse_datasets( + outcome_variable = + list(dataset = + list("eucalyptus" = "mean_log", "blue tit" = "Z")), + outcome_SE = + list(dataset = + list("eucalyptus" = "se_log", "blue tit" = "VZ")), + filter_vars = rlang::exprs(exclusion_set == "complete")) #TODO requires col exclusion_set from generate_exclusion_subsets() but don't need that fun in this pipeline anymore ), targets::tar_target(name = ManyEcoEvo_yi_viz, command = make_viz(ManyEcoEvo_yi_results)), diff --git a/_targets/meta/meta b/_targets/meta/meta index 2595d88..8a215a9 100644 --- a/_targets/meta/meta +++ b/_targets/meta/meta @@ -1,773 +1,784 @@ name|type|data|command|depend|seed|path|time|size|bytes|format|repository|iteration|parent|children|seconds|warnings|error -poss_fit_uni_mixed_effects|function|c99630ccc4951b35 -fit_metafor_uni|function|312ba650505d1dab -Z_VZ_preds|function|fbbb70e17be09084 -calculate_sorensen_diversity_index|function|e71f5f66e3be7207 -process_response|function|634c0af4f2a6828f -calc_analyses_per_team|function|2238af8dc4d241d7 +slice_conditionally|function|22cadf28d255437e +exclude_extreme_VZ|function|424a2c1eda115ad0 +expert_subset|object|f94a4d43e2626f03 +anonymise_teams|function|7430d98fda6f6b87 +controller|object|525ff96519873a6b +subset_fns_Zr|function|ce6b98c7b1e9785e +prepare_sorenson_summary_data|function|578643f49627e2c6 +prepare_df_for_summarising|function|9deb1db0f0afbd8c +count_binary_coded_features|function|e4724c5ce132d41c +count_teams_analyses|function|7c5f52a3fddfacf7 calc_summary_stats_binary|function|cc7a4a07aa4b472a -calc_summary_stats_numeric|function|aa4f44eb4f23ed38 +variance_box_cox|function|43ffaae1e979f900 +poss_fit_boxcox_ratings_ord|function|c99630ccc4951b35 +fit_boxcox_ratings_ord|function|37647a52790b7d1d +logit_back|function|1d048ceaa806cefe +est_to_zr|function|8fd9931e7a599188 calc_teams_per_dataset|function|989f92d40d3bd192 +calculate_sorensen_diversity_index|function|f453a626f3a245f5 +pkgs|object|b4317a1890b4822e +get_MA_fit_stats|function|d07076ee1eda802d +calc_analyses_per_team|function|2238af8dc4d241d7 +folded_params|function|1b2cf872ef967169 +calc_summary_stats_numeric|function|aa4f44eb4f23ed38 +pmap_wrap|function|c31d53a5be954afb +process_response|function|1966655b6876605f +poss_fit_uni_mixed_effects|function|c99630ccc4951b35 calculate_variable_counts|function|f24ae51e77a13778 -count_conclusions|function|6bdad463b86b8575 -prepare_diversity_summary_data|function|1f4a938a30d66c11 -prepare_sorenson_summary_data|function|578643f49627e2c6 -est_to_zr|function|8fd9931e7a599188 -apportion_heterogeneity_ml|function|7ea7f59794a4db80 -plot_model_means_orchard|function|6b6a2434b7e7be45 -gg_forest|function|8a8d7abdca044d49 -anonymise_teams|function|7430d98fda6f6b87 -subset_fns_yi|function|e4b38cd07f1827c0 -subset_fns_Zr|function|3619788377640c3d -log_transform|function|d012412c64b17e53 -fit_MA_mv|function|5ac2c91d160f37d1 +%nin%|function|5c849418054c52ef get_diversity_data|function|8e045391a001c91e -generate_yi_subsets|function|846c52e0c6524d5e -count_analyses_variables_used|function|82a3d844e73a1238 -generate_collinearity_subset|function|cec7da8569fa1b9d -count_binary_coded_features|function|e4724c5ce132d41c -count_teams_analyses|function|7c5f52a3fddfacf7 -analysis_data_param_tables|object|76990960304ed12d -cube_back|function|000e2507ae0c7c7d +fit_metafor_uni|function|1d6288b164b742f1 +fit_MA_mv|function|063dac8532b4eb5b +calculate_deviation_score|function|844a3bed09a46093 +fit_boxcox_ratings_cont|function|01b2b890aab0ea75 +fit_multivar_MA|function|11d43d6e6b0a1c27 +fit_uni_mixed_effects|function|69eba00b51bc4970 +formulae_match|function|10979806369307dc +map_match_formulae|function|5fe5f91367aa770d +poss_fit_boxcox_ratings_cat|function|c99630ccc4951b35 +poss_fit_sorensen_glm|function|c99630ccc4951b35 +rm_inf_na|function|836f2578e57b6b48 +square_root_back|function|712d4af8216267ad +gg_forest|function|b340964c9166c6da +fit_boxcox_ratings_cat|function|7ea7732a24960168 identity_back|function|9c9f0a410d5e72df -inverse_back|function|63cd1855187198f6 +augment_prediction_data|function|5b4260a6f29e60b4 log_back|function|d57bdcbb1384386d -logit_back|function|1d048ceaa806cefe -probit_back|function|2c1db5e5c2c2e350 -square_back|function|66cb5010671f3fcf -read_submission_data|function|2277dcfe2e859751 -validate_predictions_df_blue_tit|function|f0e26511665456ae -validate_predictions_df_euc|function|f60f87e87346afcb -generate_expertise_subsets|function|9f7d1d5eec5aa9df -plot_effects_diversity|function|3293e51ff17b91b8 +rename_prediction_cols|function|e3b5bd58b57f6199 +blue_tit_data|object|10ce24c6dd33e700 +summarise_reviews_per_analysis|function|f0303f71d902a2ee +Z_VZ_preds|function|fbbb70e17be09084 +plot_forest|function|9b6521ad59cbaa90 +generate_collinearity_subset|function|cec7da8569fa1b9d poss_fit_metafor_uni|function|c99630ccc4951b35 -fit_boxcox_ratings_cont|function|b616e853ad0cedb9 -fit_boxcox_ratings_ord|function|030c2e83e9dd57c0 -clean_response_transformation|function|ce35835187f0587e +subset_fns_yi|function|e4b38cd07f1827c0 +plot_effects_diversity|function|3293e51ff17b91b8 +count_conclusions|function|4bdbad1349dfe628 +summarise_sorensen_index_data|function|9c11d74e61df9712 +summarise_conclusions_data|function|a15961b25f6f85ac +validate_predictions_df_euc|function|f60f87e87346afcb +.Random.seed|object|dc3dc3ea35697b82 +euc_data|object|94a1699c7d2c8058 +cube_back|function|000e2507ae0c7c7d +capwords|function|bc1d0cf9e816318d +summarise_model_composition_data|function|5e74f221f7a7a5a3 +analysis_data_param_tables|object|76990960304ed12d +make_param_table|function|96c387a0ff0034d0 +plot_cont_rating_effects|function|f6f08f9ceb073c42 i2_ml|function|5c28076f2f31e393 -fit_boxcox_ratings_cat|function|a9ded3cf94865c7b -%nin%|function|5c849418054c52ef +probit_back|function|2c1db5e5c2c2e350 +transformation_tbl|object|dadd2a6cc263d2b4 +plot_model_means_orchard|function|6b6a2434b7e7be45 +split_yi_subsets|function|921bc530283fffc6 +fit_metafor_mv_reduced|function|0bfbd6ab0f9f9afe named_group_split|function|d787db9b5dc384b0 -summarise_conclusions_data|function|a15961b25f6f85ac -fit_metafor_mv_reduced|function|a7b184b0b4448de1 -fit_uni_mixed_effects|function|66212bb22d80f16e -plot_forest|function|9b6521ad59cbaa90 +run_model_checks|function|c3fda89672933c36 divide_back|function|2893035d75a6d339 +inverse_back|function|63cd1855187198f6 power_back|function|be083796fd13b528 -exclude_extreme_VZ|function|4ee53e55687aa21a -square_root_back|function|712d4af8216267ad -effect_ids|object|c595fdf1ad847734 -summarise_model_composition_data|function|5e74f221f7a7a5a3 +square_back|function|66cb5010671f3fcf collinearity_subset|object|1a3113847eb52757 -get_MA_fit_stats|function|c6c43fb183b6e4fd -summarise_sorensen_index_data|function|9c11d74e61df9712 -pkgs|object|b4317a1890b4822e -poss_fit_metafor_mv|function|c99630ccc4951b35 -prepare_review_data|function|e357cf3c18befa17 -poss_fit_boxcox_ratings_ord|function|c99630ccc4951b35 -expert_subset|object|f94a4d43e2626f03 -plot_cont_rating_effects|function|f6f08f9ceb073c42 -.Random.seed|object|634bd28f8ee215a5 -poss_fit_boxcox_ratings_cont|function|c99630ccc4951b35 summarise_analyses_by_reviewer|function|f25be6cfe4796fa6 -summarise_reviews_per_analysis|function|f0303f71d902a2ee -box_cox_transform|function|9645f22e703ea226 -calculate_deviation_score|function|b13e46d21dc04746 -fit_multivar_MA|function|86837d4d47163a9c -poss_fit_boxcox_ratings_cat|function|c99630ccc4951b35 -poss_fit_sorensen_glm|function|c99630ccc4951b35 -rm_inf_na|function|836f2578e57b6b48 -blue_tit_data|object|10ce24c6dd33e700 -preprocess_prediction_files|function|10c65ef09b2b1a72 -augment_prediction_data|function|5b4260a6f29e60b4 -make_param_table|function|96c387a0ff0034d0 -capwords|function|bc1d0cf9e816318d -transformation_tbl|object|dadd2a6cc263d2b4 +get_forest_plot_data|function|95628e918dd91a2b +log_transform|function|d447f251b6a974d7 +prepare_diversity_summary_data|function|1f4a938a30d66c11 +fit_sorensen_glm|function|c4818ecf84affe3e prediction_ids|object|30618a7d8c566e07 -run_model_checks|function|d64e6359dd753a05 -fit_sorensen_glm|function|b25ba1ee49407cc2 -prepare_df_for_summarising|function|9deb1db0f0afbd8c calc_I2_ml|function|eb89a619042663f1 -euc_data|object|94a1699c7d2c8058 -fit_metafor_mv|function|9f5734e0425d5d74 -get_forest_plot_data|function|370a6b4c2b511241 -controller|object|525ff96519873a6b compare_ml_MA|function|d714430291165972 -pred_to_Z|function|85755fb73620b452 -generate_exclusion_subsets|function|d171bf5c04c8c4b2 -prepare_diversity_raw|function|0dbfc8b71fddbc32 -summarise_variable_counts|function|a02b73e8923ee59e +clean_response_transformation|function|ce35835187f0587e +count_analyses_variables_used|function|82a3d844e73a1238 +poss_fit_metafor_mv|function|c99630ccc4951b35 +effect_ids|object|c595fdf1ad847734 +generate_expertise_subsets|function|0148c2cad315f1d0 +apportion_heterogeneity_ml|function|7ea7f59794a4db80 +read_submission_data|function|2277dcfe2e859751 +validate_predictions_df_blue_tit|function|f0e26511665456ae +preprocess_prediction_files|function|10c65ef09b2b1a72 +fit_metafor_mv|function|e1f87a15bf1f3f28 +poss_fit_boxcox_ratings_cont|function|c99630ccc4951b35 +prepare_review_data|function|e357cf3c18befa17 +apply_slice_conditionally|function|edb407747d794791 +apply_VZ_exclusions|function|1006c3e1373c3b18 +prepare_analyst_summary_data|function|781df1f510533fde summarise_analysis_types|function|df6151b20f508cdd -conversion_2|function|e93b7e339c0eb160 -validate_predictions|function|4f541fa1026085ec +box_cox_transform|function|fae1b9130542ed56 assign_transformation_type|function|29b42b58c0518284 -generate_rating_subsets|function|8f39d281df729e1c -apply_sorensen_calc|function|3457c0401205390c +apply_sorensen_calc|function|bd0f6ac5b52b0174 +generate_rating_subsets|function|f85af54730658c19 +prepare_diversity_raw|function|0dbfc8b71fddbc32 +pred_to_Z|function|70bd669e55491687 +generate_exclusion_subsets|function|ff86f37de3592aa2 +summarise_sorensen_index|function|246ae3a623201b84 summarise_conclusions|function|b7610294ef848907 -apply_VZ_exclusions|function|929252567db1008e -conversion|function|762dc38beba86a06 +plot_model_means_box_cox_cat|function|fad761f5650d1d0d summarise_model_composition|function|758048a9e5d6fa91 -generate_outlier_subsets|function|57d1caa37746bbc8 -make_viz|function|89715174581ab5b2 -summarise_sorensen_index|function|246ae3a623201b84 +generate_yi_subsets|function|ecf80688bb1d6292 +conversion|function|005bb2f318ced40f +conversion_2|function|6351646ba0afcb89 +make_viz|function|c5210159f7b12184 summarise_reviews|function|8e952a3bc29e87fc -meta_analyse_datasets|function|916fffa309da13b3 -plot_model_means_box_cox_cat|function|fad761f5650d1d0d -prepare_analyst_summary_data|function|781df1f510533fde -standardise_response|function|24b1619c6a7a06ee +log_transform_yi|function|a1aaef0301c31bb4 +summarise_variable_counts|function|a02b73e8923ee59e +validate_predictions|function|4f541fa1026085ec +generate_outlier_subsets|function|53029ca447bc1111 +summarise_study|function|7af94c25e4719e56 +meta_analyse_datasets|function|0a6a246552d05e43 +compute_MA_inputs|function|62b06d38b786d22b prepare_ManyEcoEvo|function|d82ea3f8d9c26d6a prepare_ManyEcoEvo_yi|function|87c69e1dc2b741e0 +standardise_response|function|d584597771318e62 +convert_predictions|function|3afbb07becbf80c6 +log_transform_response|function|ffdc925b374dcb82 preprocess_updated_prediction_files|function|94fadbeed257c678 -compute_MA_inputs|function|9a1574958e339a8a -convert_predictions|function|2225b099345488b3 -summarise_study|function|80acca1e33f58d96 -back_transform_response_vars_yi|function|1cde8fe974881589 -compute_metaanalysis_inputs|function|417ca90c5c570a8e -prepare_response_variables|function|50fc79c71d50ba6f -prepare_response_variables_yi|function|56b2f0c9408c10f4 -README_data_raw|stem|6f6b64c19ac71ce4|816db30a3418d8e2|2c530c1562a7fbd1|-1153569864|data-raw/analysis_datasets/README.md*data-raw/analysis_datasets/README.qmd|t19949.3749412329s|f503d276f03f3a17|9385|file|local|vector|||5.181|| -master_data_file|stem|b780f90b4f822ad3|27e0e65f9e9ee935|2c530c1562a7fbd1|-282484740|/Users/elliotgould/Documents/GitHub/ManyEcoEvo/data-raw/anonymised_data/master_data.csv|t19945.4270267553s|934c09a48f8a2167|384333|file|local|vector|||1.843|replacing previous import purrr by rlang when loading ManyEcoEvo. replacing previous import purrrflatten_lgl by rlangflatten_lgl when loading ManyEcoEvo. replacing previous import purrrsplice by rlangsplice when loading ManyEcoEvo. replacing previous import purrrflatten_chr by rlangflatten_chr when loading ManyEcoEvo. replacing previous import purrrflatten_raw by rlangflatten_raw when loading ManyEcoEvo. replacing previous import purrrflatten by rlangflatten when loading ManyEcoEvo. replacing previous import purrrflatten_dbl by rlangflatten_dbl when loading ManyEcoEvo. replacing previous import purrrinvoke by rlanginvoke when loading ManyEcoEvo. replacing previous import purrrflatten_int by rlangflatten_int when loading ManyEcoEvo. replacing previous import recipesfixed by stringrfixed when loading ManyEcoEvo| -predictions_validation_coded_file|stem|2a6a53fb3470a466|e9e7b022d913eceb|2c530c1562a7fbd1|-2059266912|data-raw/anonymised_data/predictions_validations_worksheet.csv|t19933.463277316s|5d5821be62b68e32|593772|file|local|vector|||1.848|replacing previous import purrr by rlang when loading ManyEcoEvo. replacing previous import purrrflatten_lgl by rlangflatten_lgl when loading ManyEcoEvo. replacing previous import purrrsplice by rlangsplice when loading ManyEcoEvo. replacing previous import purrrflatten_chr by rlangflatten_chr when loading ManyEcoEvo. replacing previous import purrrflatten_raw by rlangflatten_raw when loading ManyEcoEvo. replacing previous import purrrflatten by rlangflatten when loading ManyEcoEvo. replacing previous import purrrflatten_dbl by rlangflatten_dbl when loading ManyEcoEvo. replacing previous import purrrinvoke by rlanginvoke when loading ManyEcoEvo. replacing previous import purrrflatten_int by rlangflatten_int when loading ManyEcoEvo. replacing previous import recipesfixed by stringrfixed when loading ManyEcoEvo| -list_of_new_prediction_files_file|stem|c0555d5dca85210b|e6a7d7dc21ee67fa|2c530c1562a7fbd1|730933889|data-raw/analyst_data/S2/list_of_new_csv_files.csv|t19866.5171490728s|cd0fa8c9989f2929|5738|file|local|vector|||1.899|replacing previous import purrr by rlang when loading ManyEcoEvo. replacing previous import purrrflatten_lgl by rlangflatten_lgl when loading ManyEcoEvo. replacing previous import purrrsplice by rlangsplice when loading ManyEcoEvo. replacing previous import purrrflatten_chr by rlangflatten_chr when loading ManyEcoEvo. replacing previous import purrrflatten_raw by rlangflatten_raw when loading ManyEcoEvo. replacing previous import purrrflatten by rlangflatten when loading ManyEcoEvo. replacing previous import purrrflatten_dbl by rlangflatten_dbl when loading ManyEcoEvo. replacing previous import purrrinvoke by rlanginvoke when loading ManyEcoEvo. replacing previous import purrrflatten_int by rlangflatten_int when loading ManyEcoEvo. replacing previous import recipesfixed by stringrfixed when loading ManyEcoEvo| -master_metadata_file|stem|b29c7d6c24617189|f0510f1ed5ef1800|2c530c1562a7fbd1|1235212579|/Users/elliotgould/Documents/GitHub/ManyEcoEvo/data-raw/anonymised_data/master_metadata.csv|t19866.5171490862s|8f1bc90680f35e41|16254|file|local|vector|||1.848|replacing previous import purrr by rlang when loading ManyEcoEvo. replacing previous import purrrflatten_lgl by rlangflatten_lgl when loading ManyEcoEvo. replacing previous import purrrsplice by rlangsplice when loading ManyEcoEvo. replacing previous import purrrflatten_chr by rlangflatten_chr when loading ManyEcoEvo. replacing previous import purrrflatten_raw by rlangflatten_raw when loading ManyEcoEvo. replacing previous import purrrflatten by rlangflatten when loading ManyEcoEvo. replacing previous import purrrflatten_dbl by rlangflatten_dbl when loading ManyEcoEvo. replacing previous import purrrinvoke by rlanginvoke when loading ManyEcoEvo. replacing previous import purrrflatten_int by rlangflatten_int when loading ManyEcoEvo. replacing previous import recipesfixed by stringrfixed when loading ManyEcoEvo| -euc_reviews_file|stem|1dc28dc655e0cc5f|1a590db6362dbe88|2c530c1562a7fbd1|-1581752318|data-raw/anonymised_data/euc_reviews.csv|t19866.5171490764s|428f6b5e196fa02d|47987|file|local|vector|||1.839|replacing previous import purrr by rlang when loading ManyEcoEvo. replacing previous import purrrflatten_lgl by rlangflatten_lgl when loading ManyEcoEvo. replacing previous import purrrsplice by rlangsplice when loading ManyEcoEvo. replacing previous import purrrflatten_chr by rlangflatten_chr when loading ManyEcoEvo. replacing previous import purrrflatten_raw by rlangflatten_raw when loading ManyEcoEvo. replacing previous import purrrflatten by rlangflatten when loading ManyEcoEvo. replacing previous import purrrflatten_dbl by rlangflatten_dbl when loading ManyEcoEvo. replacing previous import purrrinvoke by rlanginvoke when loading ManyEcoEvo. replacing previous import purrrflatten_int by rlangflatten_int when loading ManyEcoEvo. replacing previous import recipesfixed by stringrfixed when loading ManyEcoEvo| -bt_reviews_file|stem|4fab04998c1a0bce|f7a1910a57ba0b6b|2c530c1562a7fbd1|-389532029|data-raw/anonymised_data/bt_reviews.csv|t19933.4632772665s|707ac784302cd55a|62327|file|local|vector|||1.908|replacing previous import purrr by rlang when loading ManyEcoEvo. replacing previous import purrrflatten_lgl by rlangflatten_lgl when loading ManyEcoEvo. replacing previous import purrrsplice by rlangsplice when loading ManyEcoEvo. replacing previous import purrrflatten_chr by rlangflatten_chr when loading ManyEcoEvo. replacing previous import purrrflatten_raw by rlangflatten_raw when loading ManyEcoEvo. replacing previous import purrrflatten by rlangflatten when loading ManyEcoEvo. replacing previous import purrrflatten_dbl by rlangflatten_dbl when loading ManyEcoEvo. replacing previous import purrrinvoke by rlanginvoke when loading ManyEcoEvo. replacing previous import purrrflatten_int by rlangflatten_int when loading ManyEcoEvo. replacing previous import recipesfixed by stringrfixed when loading ManyEcoEvo| -euc_reviews|stem|dd36f83286adc712|9c622431a02e3308|88c761dc25131ee6|-665853428||t19949.3750433255s|24c7738b0d1d7f11|4601|qs|local|vector|||0.1|| -master_data|stem|29d341b9ffe65441|3df52d49cc0a9d10|bea88e7798994805|261754488||t19949.375043411s|d9baea8e2dea8cfe|54156|qs|local|vector|||0.176|| -predictions_validation_coded|stem|6ab9ebfb1cf1c8fb|b34ce80a00a0d969|4dd2ac068ba20e84|-1514574157||t19949.375043377s|05b548c752fccc0a|16319|qs|local|vector|||0.133|| -list_of_new_prediction_files|stem|5281b03bce236421|0bd9b75dec6eb52d|443707202b72f71c|-1949825999||t19949.37504337s|3bb20aa8fa2bcc9e|1711|qs|local|vector|||0.1|| -master_metadata|stem|f7db0632f0bc6b65|7bcb92a89e8a1c8d|1a3b1035a03d5a3f|345383712||t19949.3750433243s|5d828028a0483325|4951|qs|local|vector|||0.1|| -bt_reviews|stem|391f8a492931f55f|d57b44dc1863ee95|2f3de5377314c610|-785257049||t19949.3750433687s|9d73735a670fc1a9|4982|qs|local|vector|||0.097|| -all_review_data|stem|11f6ff39db6a784f|9971985edc6b63c1|b66f42214b22f65d|1407800598||t19949.3750456908s|c6fc3e7eb7990d56|9355|qs|local|vector|||0.01|| -ManyEcoEvo|stem|49501163aa148f0a|df70a842bd136411|bddb97dd3df5acd9|-777778715||t19949.3750485181s|dcbab8384b7e451d|32244|qs|local|vector|||0.111|| -README|stem|0390c98611ced782|9a21e26995fed59a|e8eecd656c8174d3|1466784939|README.md*README.qmd|t19949.3750946134s|2e14b174af7b13bc|7699|file|local|vector|||3.975|| -updated_prediction_files|stem|010f899d7888e624|b33ca9159f38d41e|a93856d564c7eccb|-1778899494||t19949.3751021439s|0f1b663dc2dc05e6|5428|qs|local|vector|||4.896|There were 3 warnings in mutate.The first warning wasℹ In argument updated_checks map.x updated_checks, .f pointblankinterrogate.ℹ In group 5 response_id R_1LRqq2WHrQaENtM, submission_id 1, analysis_id 1, split_id 1, csv_number 3.Caused by warning Failure to validate that column se.fit is of type numeric.The col_is_numeric validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1ℹ Run dplyrlast_dplyr_warnings to see the 2 remaining warnings.| -prediction_submissions|stem|f6c4ee500def0a0c|318e6101f656f408|9e472e65cc352b65|-719378080||t19949.3751096623s|b45be62666f8e9ea|18994|qs|local|vector|||0.497|| -grouped_prediction_validation_data|stem|e85119013328e600|76cdba26d0e99518|8179f0e94b4619d7|-1904755201||t19949.3751116048s|6f21beca1d3477ed|15006|qs|local|group||grouped_prediction_validation_data_9c326f1af9e8ae6f*grouped_prediction_validation_data_4e98bd3b01fb3fa7*grouped_prediction_validation_data_31b3fb0798b04a83*grouped_prediction_validation_data_2c1cb6c6521c9820*grouped_prediction_validation_data_20e5aecc4b8090a2*grouped_prediction_validation_data_770617869289037e*grouped_prediction_validation_data_b1663146f05da842*grouped_prediction_validation_data_714ec17df43587cb*grouped_prediction_validation_data_aff03054175fd9a7*grouped_prediction_validation_data_f2d460071a54584e*grouped_prediction_validation_data_4cef6b672de035c2*grouped_prediction_validation_data_fe7c90aa4f7dc0e5*grouped_prediction_validation_data_ec2e53b177125937*grouped_prediction_validation_data_b224ff69f3759530*grouped_prediction_validation_data_3d73910545089444*grouped_prediction_validation_data_78b52f73f6b59ac3*grouped_prediction_validation_data_46cc92b272e4d7d3*grouped_prediction_validation_data_190230903f9b9282*grouped_prediction_validation_data_8748876157120679*grouped_prediction_validation_data_a26a6fae25ba7274*grouped_prediction_validation_data_cb8ab854912b853b*grouped_prediction_validation_data_21c84034f5c7226a*grouped_prediction_validation_data_8031b0a26fb21e6b*grouped_prediction_validation_data_c1150962f150b928*grouped_prediction_validation_data_ac55d2c7e3eb8787*grouped_prediction_validation_data_be27571496f02ed3*grouped_prediction_validation_data_d51d5b00ab8e2a04*grouped_prediction_validation_data_1004a13742a59766*grouped_prediction_validation_data_a5f727d1aa69f892*grouped_prediction_validation_data_57f5f8a14caf540c*grouped_prediction_validation_data_3add720160f348d0*grouped_prediction_validation_data_cb3eae6bffe02c0b*grouped_prediction_validation_data_3ac72dca8942a8ea*grouped_prediction_validation_data_d9023873525da942*grouped_prediction_validation_data_444e30096c01af09*grouped_prediction_validation_data_ce18d5842ee6c7c3*grouped_prediction_validation_data_2d3e210802821716*grouped_prediction_validation_data_7caaae214eec6756*grouped_prediction_validation_data_69cdf3b9d3af9fd2*grouped_prediction_validation_data_9b9450c15039ab88*grouped_prediction_validation_data_d54d9830f13883ba*grouped_prediction_validation_data_92afa1db2c3393a0*grouped_prediction_validation_data_be10320084154b91*grouped_prediction_validation_data_7d8c2ddfbf96aa91*grouped_prediction_validation_data_903e5a000d61293e*grouped_prediction_validation_data_d6e4ea74f0e2a5b1*grouped_prediction_validation_data_4bb21bc6475e6d80*grouped_prediction_validation_data_cb9088f6b63552b7*grouped_prediction_validation_data_0f7842a96c0271a4*grouped_prediction_validation_data_c4c57847f29c4ee3*grouped_prediction_validation_data_ae0e8b944e31ae10*grouped_prediction_validation_data_233cc73338df29bb*grouped_prediction_validation_data_3b355216f803c8f4*grouped_prediction_validation_data_64966014495b1b73*grouped_prediction_validation_data_7035d447a17abacc*grouped_prediction_validation_data_895196e421474876*grouped_prediction_validation_data_35cc6773c57ec428*grouped_prediction_validation_data_ad0f368f924ccabf*grouped_prediction_validation_data_a9d2c196575d5e9d*grouped_prediction_validation_data_843328c29fd2fee3*grouped_prediction_validation_data_3a46a833bc0d8b06*grouped_prediction_validation_data_e4481badd9a1cf63*grouped_prediction_validation_data_fe6b88809c010386*grouped_prediction_validation_data_9ed9a51bd0945088*grouped_prediction_validation_data_de4cb6308037e439*grouped_prediction_validation_data_4d74867c66f55c3b*grouped_prediction_validation_data_61688b63a819f478*grouped_prediction_validation_data_b79eeb15e0a80c42*grouped_prediction_validation_data_9fb3b26ae0570f57*grouped_prediction_validation_data_aaf2dc1ec9e45e1f*grouped_prediction_validation_data_26ebdbef7ee87f42*grouped_prediction_validation_data_3e8cab46b0223a93*grouped_prediction_validation_data_8090af2065e32a1f*grouped_prediction_validation_data_d645e82887751ff7*grouped_prediction_validation_data_43660cd09d80d0b6*grouped_prediction_validation_data_d2badceae9830037*grouped_prediction_validation_data_de402751f3dfc664*grouped_prediction_validation_data_40e1748ba373de47*grouped_prediction_validation_data_fcd5189dfc43b8a8*grouped_prediction_validation_data_860b6ff6fa57a2a8*grouped_prediction_validation_data_43e1bcaeef5fee6e*grouped_prediction_validation_data_c596335c0ec363a7*grouped_prediction_validation_data_0c76d136059e1f05*grouped_prediction_validation_data_323a421a5d70c3a0*grouped_prediction_validation_data_e17e0c29b3429891*grouped_prediction_validation_data_a98b9214449445cc*grouped_prediction_validation_data_7de009a2d4958e55*grouped_prediction_validation_data_f8188a0673f46485*grouped_prediction_validation_data_0e7274ba20ecab60*grouped_prediction_validation_data_6c0400c35bf5d722*grouped_prediction_validation_data_8b62644a225f2375*grouped_prediction_validation_data_3ed3fbf9eba7c5b5*grouped_prediction_validation_data_22830cf13b4cb5c9*grouped_prediction_validation_data_9844b98dba77cbfc*grouped_prediction_validation_data_46c3dd9ecc0c0ea8*grouped_prediction_validation_data_aca862c0492424fd*grouped_prediction_validation_data_9b6685c42616662c*grouped_prediction_validation_data_b41c012176019319*grouped_prediction_validation_data_e01b1b4b3965221c*grouped_prediction_validation_data_3874c255e53c1383*grouped_prediction_validation_data_545a2061ccf66eae*grouped_prediction_validation_data_899c044c4169f390*grouped_prediction_validation_data_1a8974379016308c*grouped_prediction_validation_data_49201db2838c6929*grouped_prediction_validation_data_ccce4d0359ce5d7b*grouped_prediction_validation_data_3d57184a55a20d58*grouped_prediction_validation_data_34b8565be1e87fa8*grouped_prediction_validation_data_68775444e7e8c07f*grouped_prediction_validation_data_a53488cbd2b9578b*grouped_prediction_validation_data_03881fe7ffdc7f9c*grouped_prediction_validation_data_38f6a034fb616610*grouped_prediction_validation_data_cc60c344a1e57269*grouped_prediction_validation_data_28cd76a9b6604756*grouped_prediction_validation_data_d1e0230a50c24486*grouped_prediction_validation_data_1dcbc72ad3da6153*grouped_prediction_validation_data_bf83b8e5bc3052f0*grouped_prediction_validation_data_57f80617ca886504*grouped_prediction_validation_data_e870623c2d59dae5*grouped_prediction_validation_data_102c70686dd27935*grouped_prediction_validation_data_c2ff9203f9881dd9*grouped_prediction_validation_data_6d3abb81f47c2c2a*grouped_prediction_validation_data_c60572e6a3e3f2d4*grouped_prediction_validation_data_15e5fdf05a0bdf4c|0.02|| -groups_22839266168d3abd|branch|981945455293c426|4d694e8490b66e3b|2c530c1562a7fbd1|-267472427||t19949.3751133381s|604be24a3c1f227f|1084|qs|local|vector|groups||0|| -groups_1dea730f03a8668d|branch|7e07e6d392f65df9|4d694e8490b66e3b|2c530c1562a7fbd1|-2040171698||t19949.3751149497s|91e87676b98e7a75|1136|qs|local|vector|groups||0|| -groups_b9fd491424833b33|branch|c4b81131f41df5d9|4d694e8490b66e3b|2c530c1562a7fbd1|215579530||t19949.3751170739s|76bed936d3449236|1137|qs|local|vector|groups||0|| -submission_data_8ac85479d8b42647|branch|ffce28740b1ecacf|185fb209a0f85e93|f20f883d52c066e3|-932517195||t19949.3751196118s|bb9148926157afb5|364|qs|local|list|submission_data||0.003|| -submission_data_a1ba5bd4650bf75f|branch|c431688d9924d24d|185fb209a0f85e93|0e6ee5e741e29da5|-1795502088||t19949.3751218383s|bee0075ccd2d212e|367|qs|local|list|submission_data||0.002|| -augmented_data_5ceb7ea04b9d9a9b|branch|912261725ea671e9|317a6b9857648af8|381f266acd78aab0|350722082||t19949.3751248514s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.038|| -augmented_data_97593c1ba98e543f|branch|f419f36759c58de9|317a6b9857648af8|5eb32f7bff68246a|1399472412||t19949.375127456s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.03|| -validated_augmented_data_7b23546ddaf187c5|branch|05a9118e2154bd85|e57a32141c4128a5|128950051ed9cd69|299986880||t19949.3751310615s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.075|| -validated_augmented_data_fb7c7f133b2f394b|branch|6ea75d3a184b6967|e57a32141c4128a5|3657daf4dcd91365|-1859872901||t19949.3751344417s|bcdd65b724f2e4b3|1788|qs|local|list|validated_augmented_data||0.072|| -prediction_checks_08b196760bd2fa52|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|8191704ce0a6c284|-1544402445||t19949.3751383592s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.09|| -prediction_checks_46973836ee4e5dbf|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|ea0770383eccd1b9|-2100018894||t19949.3751422484s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.098|| -groups_b0d8fdcab6cfe19f|branch|d2387071a5854f3b|4d694e8490b66e3b|2c530c1562a7fbd1|1630796132||t19949.3751449542s|38c1d58ae331093d|1231|qs|local|vector|groups||0|| -groups_01138c7377535b92|branch|14f02ca262d6adf1|4d694e8490b66e3b|2c530c1562a7fbd1|-1758667380||t19949.3751474373s|e97d2ccab22da292|1150|qs|local|vector|groups||0|| -submission_data_613fb0a37a099e4d|branch|182d361902fba0d7|185fb209a0f85e93|a5a599a46bfbc521|-1681103428||t19949.3751499828s|123ce49f82eb3e1b|315|qs|local|list|submission_data||0.003|| -submission_data_301761c667e2d5b0|branch|aa7faeb1a927da17|185fb209a0f85e93|b8271bdf0a33309d|1610403843||t19949.3751528671s|e0807c4fc5685dfa|318|qs|local|list|submission_data||0.002|| -augmented_data_4a24983f147695da|branch|8d23e2852ae7046f|317a6b9857648af8|39e13261e332885b|-1832221394||t19949.3751560973s|922598d76622d54c|287|qs|local|list|augmented_data||0.018|| -augmented_data_1dd1ffddec2b9b9f|branch|50d1ae9f7f8984cb|317a6b9857648af8|71631fc377fbca62|-1160264571||t19949.3751611019s|c93e8ca8fd5bc737|283|qs|local|list|augmented_data||0.039|| -validated_augmented_data_6138db413359e388|branch|9dae4a8af9169deb|e57a32141c4128a5|0c4c48e46892d85e|516249347||t19949.3751644674s|a7b4893de70576d0|1813|qs|local|list|validated_augmented_data||0.086|| -validated_augmented_data_c4b2c8fc45882d8d|branch|5ff0ffaaf1ee308d|e57a32141c4128a5|ac26ba04019f94a9|603253933||t19949.3751681583s|e089aee31c9cf3ad|1811|qs|local|list|validated_augmented_data||0.079|| -groups_f639ef27702ecb7e|branch|364445500141686e|4d694e8490b66e3b|2c530c1562a7fbd1|-1376535219||t19949.375170931s|9a1c4312a8a23837|1168|qs|local|vector|groups||0|| -submission_data_22471f5da2cbe218|branch|33c80b818fd4d10c|185fb209a0f85e93|fdd92e30035ca895|1185589329||t19949.3751737276s|5975598e4e5a6487|323|qs|local|list|submission_data||0.002|| -groups_bb63aeb96cd4079d|branch|7a4d87179c6d66b0|4d694e8490b66e3b|2c530c1562a7fbd1|1696538674||t19949.37517639s|e25ba2a07346d9c0|1056|qs|local|vector|groups||0|| -augmented_data_e76cb5b887f85687|branch|ebb6859b4941adaa|317a6b9857648af8|a0cb7c47316710de|-919015135||t19949.3751791483s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.016|| -submission_data_a39d7081ee541725|branch|67185833cb4e1001|185fb209a0f85e93|fb9c6014bd20cb0c|611255610||t19949.3751818212s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| -validated_augmented_data_921e3c319b6b55bb|branch|841c9810912d05d0|e57a32141c4128a5|c7091e795312c17c|-890273605||t19949.3751855294s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.07|| -augmented_data_4794d4887197db7b|branch|b8b9f64ba11db246|317a6b9857648af8|4b89a61737afa471|-1195376137||t19949.3751885514s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.023|| -prediction_checks_5c36416de01f6270|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|cf8f61ecc995eae1|-1250108366||t19949.3751923832s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.099|| -validated_augmented_data_e78ebdf9e5632747|branch|3bacda3f5734cddf|e57a32141c4128a5|05bfcc5df1773f0d|1109549960||t19949.3751961061s|6c56005f9ea9ef01|1870|qs|local|list|validated_augmented_data||0.088|| -groups_4c27c02f93e27031|branch|47b8546213336ddc|4d694e8490b66e3b|2c530c1562a7fbd1|456688970||t19949.3751990706s|9819fb286e84d550|1104|qs|local|vector|groups||0|| -groups_6c3d37bd2c49dea0|branch|c1b8e02a6d67f15b|4d694e8490b66e3b|2c530c1562a7fbd1|-163079730||t19949.3752013272s|c50bf535ceb4570b|1129|qs|local|vector|groups||0|| -groups_337a56a62ef09414|branch|0bd69e48305d527b|4d694e8490b66e3b|2c530c1562a7fbd1|-352066109||t19949.3752021372s|3d6c3a9ec6dc0116|1128|qs|local|vector|groups||0|| -prediction_checks_1ac6321eca95d9dc|branch|f14065e0b84e4690|ca3c76dd51ebc9f7|4f02ffe8835661bd|-807348975||t19949.3752021635s|f8bff6bda11134a2|346|qs|local|list|prediction_checks||0.143|Failure to validate that column ci.low is of type numeric.The col_is_numeric validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1. Failure to validate that column ci.hi is of type numeric.The col_is_numeric validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1| -groups_31649958eeba71da|branch|9ad3f5dbe5401255|4d694e8490b66e3b|2c530c1562a7fbd1|-1057715316||t19949.3752023449s|1567da7096352c5b|1097|qs|local|vector|groups||0|| -groups_59f13eb58c73cf34|branch|e9e5a8621c2b9215|4d694e8490b66e3b|2c530c1562a7fbd1|1847843251||t19949.3752027501s|1f99774c9dafe976|1102|qs|local|vector|groups||0|| -prediction_checks_ed4d3b2df72f107f|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|12ba14452f55f481|1094686629||t19949.3752032619s|e06562061609e01a|338|qs|local|list|prediction_checks||0.116|| -submission_data_c535ed69266eaed0|branch|f0bcfcf8755e21e2|185fb209a0f85e93|4a820503d5eafc2f|-1994171800||t19949.3752041321s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.006|| -submission_data_bb08d0f95569a214|branch|356ac8e05f1d95f1|185fb209a0f85e93|98bc6af1bc1a08fb|1779755393||t19949.3752048655s|23c5199cbe97be21|325|qs|local|list|submission_data||0.008|| -submission_data_ed34bc36b4450a90|branch|d2c238205da849f1|185fb209a0f85e93|ea3e9ba149cbef0f|-876807566||t19949.375204935s|ed14b4d8526ebe37|334|qs|local|list|submission_data||0.014|| -submission_data_75a59c7e41c58ed6|branch|c167275248dac2f2|185fb209a0f85e93|9d8101e9e8eb77bf|-1728178876||t19949.3752053337s|ed14b4d8526ebe37|334|qs|local|list|submission_data||0.013|| -submission_data_a43e11dce5eed9f6|branch|f687ec54a3909a3a|185fb209a0f85e93|81cafb571cfdc831|1522880140||t19949.3752059673s|f06844b53aab3b4d|321|qs|local|list|submission_data||0.009|| -prediction_checks_6d43f2cfd1e4d38a|branch|f14065e0b84e4690|ca3c76dd51ebc9f7|4ee9a6bd44eb5d3a|1665746924||t19949.3752062858s|f8bff6bda11134a2|346|qs|local|list|prediction_checks||0.126|Failure to validate that column ci.low is of type numeric.The col_is_numeric validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1. Failure to validate that column ci.hi is of type numeric.The col_is_numeric validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1| -submission_data_29f7215b81560635|branch|42e83a01480ffa25|185fb209a0f85e93|2c2c143cb30e9624|-1324469709||t19949.3752062222s|d135c5cb0b7ba5c6|335|qs|local|list|submission_data||0.008|| -groups_27657ad318930967|branch|b29d978f4cb46695|4d694e8490b66e3b|2c530c1562a7fbd1|1025136528||t19949.3752063928s|e9f47056e04b6523|1149|qs|local|vector|groups||0|| -groups_5936e6d1e5aa8649|branch|496bf6a4dfd008a4|4d694e8490b66e3b|2c530c1562a7fbd1|-1149183051||t19949.3752073647s|f1ffc4cabacf637d|1101|qs|local|vector|groups||0|| -augmented_data_94d3b2f5f3b8a804|branch|b462bbb2a62a73fe|317a6b9857648af8|0b88735875f4d736|64560466||t19949.3752080395s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.02|| -augmented_data_86cb2d8a42d6266a|branch|1863d3b4f7faf9fa|317a6b9857648af8|221536e34896df33|-508624265||t19949.3752081753s|b8e2cd780a68e456|333|qs|local|list|augmented_data||0.053|| -augmented_data_7714a5aeca552d88|branch|11b44ba984ffaf6f|317a6b9857648af8|3728afadde2f9d79|-1983660078||t19949.3752084172s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.031|| -augmented_data_8cf55628b5baa817|branch|4f747528877ae1a8|317a6b9857648af8|525d5df860a2581d|-989302533||t19949.3752093453s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.023|| -augmented_data_674c0f9cfe4852e0|branch|80ff4126fa7aa77b|317a6b9857648af8|59814136d96a5a2d|1232774521||t19949.3752095724s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.014|| -groups_61a24986016247a8|branch|b3ce9fb2b4112cd9|4d694e8490b66e3b|2c530c1562a7fbd1|-1347076489||t19949.3752105475s|3127a704ba0b1f8c|1094|qs|local|vector|groups||0|| -groups_f6746841fc9919a7|branch|9418044adc7f5a97|4d694e8490b66e3b|2c530c1562a7fbd1|-148833966||t19949.3752111595s|bd1fd247b1ebd809|1116|qs|local|vector|groups||0|| -augmented_data_efdd841e81833a95|branch|3a354618f98ebbe5|317a6b9857648af8|31ddf89902235099|1288136284||t19949.3752115767s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.012|| -validated_augmented_data_41a33e87a561e6fe|branch|29329ff22299c7f7|e57a32141c4128a5|1adab2116d550403|46956807||t19949.3752117022s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.082|| -validated_augmented_data_13247c5ec1e128de|branch|32b0b462eccd06f5|e57a32141c4128a5|57a5ed13eee8b036|1989009167||t19949.3752117752s|107574dcf922e822|1791|qs|local|list|validated_augmented_data||0.066|| -validated_augmented_data_5a0ff76060cea718|branch|b9402bea06a3d0eb|e57a32141c4128a5|4219962652800b70|1105138928||t19949.3752117246s|d755b320cb28ca69|1786|qs|local|list|validated_augmented_data||0.068|| -groups_ce4b9b6da3b8de19|branch|16085a5b08bd6347|4d694e8490b66e3b|2c530c1562a7fbd1|-612756378||t19949.3752123798s|6e1dcfc1aa582c14|1109|qs|local|vector|groups||0.001|| -validated_augmented_data_719ef3e55d9c9084|branch|edac4c4532364161|e57a32141c4128a5|a3252c83e628f032|917267208||t19949.3752139217s|cbe36289148c407c|1793|qs|local|list|validated_augmented_data||0.083|| -submission_data_6801e351ca4c39d3|branch|af2d71a696bd896f|185fb209a0f85e93|a6af2e52daf4b19b|1668365832||t19949.3752143074s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| -validated_augmented_data_7d3c01280b4bdc52|branch|c1f608b2178ef902|e57a32141c4128a5|7b1eba8575b89f7a|8812685||t19949.3752144528s|c52a7c67ecbcb69b|1781|qs|local|list|validated_augmented_data||0.073|| -submission_data_53b3ec526025527e|branch|611962d3e2d87aab|185fb209a0f85e93|c3138f0e12f8bf5c|-1574205206||t19949.3752150593s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| -prediction_checks_13e7c10fda18b2c8|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|72b23677cb0a84e7|-2096908649||t19949.3752151894s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.101|| -prediction_checks_9858b3220c5a3eb5|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|028926816d59676c|-1118970140||t19949.3752153215s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.1|| -validated_augmented_data_c4877a335077ed1e|branch|44000843cdb69bbe|e57a32141c4128a5|c76273e4b1eecaf5|1135062458||t19949.3752154252s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.074|| -submission_data_430f3ca35070f0ec|branch|7c68795f47f8d683|185fb209a0f85e93|078cb63e61f66c02|-1296728958||t19949.3752170311s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| -augmented_data_f43d05eda3f232d1|branch|61031243e11cb9cc|317a6b9857648af8|74a9c7cd004c6fbd|-1558644012||t19949.3752173307s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.019|| -groups_5e31e12fb9fe485f|branch|6e3825d1a73b71cf|4d694e8490b66e3b|2c530c1562a7fbd1|397333691||t19949.3752176524s|330f8dfde079eec1|1091|qs|local|vector|groups||0|| -prediction_checks_bf30c4e240c3d74a|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|66dbd7b85848ff44|466397319||t19949.3752179028s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.114|| -augmented_data_365f707e1f9ed3bb|branch|baf6e6c9012ea2a2|317a6b9857648af8|595c9abc4b6502c0|-244949831||t19949.3752182622s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.026|| -prediction_checks_d8a960ee5d51d03e|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|4930cdfacba2935c|-1651719143||t19949.3752189752s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.079|| -prediction_checks_6a55445351092a1f|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|87a02b2915d78a8a|444430863||t19949.3752188102s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.078|| -groups_c488c85fca52d0ef|branch|61b58ba58e2bab72|4d694e8490b66e3b|2c530c1562a7fbd1|-540157748||t19949.3752202502s|f44c15a3e082d69e|1098|qs|local|vector|groups||0|| -groups_ad105925e5fa67f2|branch|de87257051c38ffa|4d694e8490b66e3b|2c530c1562a7fbd1|-1814505404||t19949.3752200672s|784ad81ec66d4ed3|1189|qs|local|vector|groups||0.001|| -augmented_data_4ec123701c9a4984|branch|26bb7fe786baccf0|317a6b9857648af8|ff2bfef7cce345ee|-2111835021||t19949.3752198577s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.039|| -submission_data_33f1a36c64a5f560|branch|9a0981f42e6b8094|185fb209a0f85e93|fab504cc5fad56b9|-2019953060||t19949.3752206989s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| -validated_augmented_data_3da3fe4d72345b6d|branch|6b3f4479693a4ad3|e57a32141c4128a5|a90de602cb19de09|-1930893368||t19949.3752215794s|cbe36289148c407c|1793|qs|local|list|validated_augmented_data||0.1|| -prediction_checks_99ab54271d503689|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|1721ef1fce836a12|720077092||t19949.3752216539s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.128|| -submission_data_b66a4b00e01c5a82|branch|bb89b40beddda647|185fb209a0f85e93|51f90a12892b8618|-1628402475||t19949.3752225233s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.005|| -groups_8ed81d55951232af|branch|8ef696563ebead87|4d694e8490b66e3b|2c530c1562a7fbd1|-1497816027||t19949.3752225399s|c50bf535ceb4570b|1129|qs|local|vector|groups||0.001|| -validated_augmented_data_120b56db5bdbc012|branch|480f409e32c4716d|e57a32141c4128a5|df242f189cc6c66e|2126737434||t19949.3752226135s|f47d612f0e7a7e48|1877|qs|local|list|validated_augmented_data||0.097|| -submission_data_fdfbbb5ff66761b0|branch|068b451e9b6c8f81|185fb209a0f85e93|ce435c99b32da0b5|414508938||t19949.3752228021s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.002|| -groups_06c0fb2af5837489|branch|9581e09a13644a6b|4d694e8490b66e3b|2c530c1562a7fbd1|-245645658||t19949.3752241374s|2b93e0d131be1962|1082|qs|local|vector|groups||0|| -submission_data_9a1e21726c384b51|branch|e760c579c7189bac|185fb209a0f85e93|85d8d0cd0eac62ce|-279286377||t19949.3752247174s|e0807c4fc5685dfa|318|qs|local|list|submission_data||0.003|| -ManyEcoEvo_results|stem|dbf58596fb55ca3e|23c26dd7beb8ad5d|2a17c09bdc41cc4e|232339007||t19949.375224675s|a31b9c49a64e9946|4173537|qs|local|vector|||13.921|There were 60 warnings in dplyrmutate.The first warning wasℹ In argument box_cox_rating_cont purrrmap....ℹ In group 1 estimate_type Zr, dataset blue tit, exclusion_set complete, publishable_subset All, expertise_subset All, collinearity_subset All.Caused by warning in optwrap convergence code 4 from nloptwrap NLOPT_ROUNDOFF_LIMITED Roundoff errors led to a breakdown of the optimization algorithm. In this case, the returned minimum may still be useful. e.g. this error occurs in NEWUOA if one tries to achieve a tolerance too close to machine precision.ℹ Run dplyrlast_dplyr_warnings to see the 59 remaining warnings.| -augmented_data_d83f2da4d35e1a53|branch|2d6d75e7c2a37bee|317a6b9857648af8|a6bfbb16674fae0e|784448169||t19949.3752249412s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.012|| -augmented_data_3e0a1a7a89327624|branch|bfe4a1a4387eccf2|317a6b9857648af8|7071c78a71d93293|1358448164||t19949.3752251336s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.021|| -groups_b9647c331d5d9e08|branch|894814f14a548065|4d694e8490b66e3b|2c530c1562a7fbd1|-194147625||t19949.375225454s|b866b845009245ef|1090|qs|local|vector|groups||0|| -validated_augmented_data_56a7ae8dc3243cb5|branch|77989e747ea14d78|e57a32141c4128a5|4cea932353f365f5|-29090544||t19949.3752264096s|655c09970e168ce0|1866|qs|local|list|validated_augmented_data||0.097|| -submission_data_508206396af0e729|branch|382aca0dc795c0ce|185fb209a0f85e93|ed4d6c0af3311e87|-1668187467||t19949.3752263187s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.008|| -prediction_checks_abcc036e8f821cdf|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|5730d44734fba451|1865019474||t19949.3752267835s|e06562061609e01a|338|qs|local|list|prediction_checks||0.076|| -validated_augmented_data_53b8cb2bd1445f23|branch|1a5db6e9854cf6b4|e57a32141c4128a5|f986d9b69163770b|146188733||t19949.3752276034s|ee70cedb204b0f1a|1879|qs|local|list|validated_augmented_data||0.079|| -augmented_data_7552291c042eda54|branch|202314c1e609b1ce|317a6b9857648af8|5ffa1c20ef6c168a|1771993079||t19949.3752279397s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.018|| -prediction_checks_72e65a49290c7d20|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|adeca32a0e53cf72|108448327||t19949.3752280318s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.146|| -augmented_data_3cf447b0721dd478|branch|a6b570afff3e9a0e|317a6b9857648af8|d0ed85775fa974a8|-448646382||t19949.3752281636s|b8e2cd780a68e456|333|qs|local|list|augmented_data||0.024|| -submission_data_5a0d979e0b4d5c66|branch|d700bbe54bad61c2|185fb209a0f85e93|4a4a56f88e8827a5|1043215566||t19949.3752283469s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| -groups_903ca1cc516d9347|branch|5cc46a16d6938d35|4d694e8490b66e3b|2c530c1562a7fbd1|-1105135912||t19949.375229976s|3400c7708db5b591|1124|qs|local|vector|groups||0|| -validated_augmented_data_9c4afcf765271c17|branch|6da660fc40e870b6|e57a32141c4128a5|26a93bb0e265a035|1726727285||t19949.3752300971s|ede885a811dd8bba|1798|qs|local|list|validated_augmented_data||0.091|| -groups_5df8fce42b3ee4e6|branch|52de7ecd40f1672b|4d694e8490b66e3b|2c530c1562a7fbd1|-767488644||t19949.3752309968s|604be24a3c1f227f|1084|qs|local|vector|groups||0|| -validated_augmented_data_a7c3df4652440f04|branch|9fcbed8e0e3b9554|e57a32141c4128a5|04805db27f63edea|1251407029||t19949.3752314539s|973ce29d4f5dc732|1867|qs|local|list|validated_augmented_data||0.077|| -augmented_data_6c0b2e9938beef09|branch|3cb30ba7b430d722|317a6b9857648af8|0e76312e790e7845|1670819923||t19949.3752310643s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.028|| -prediction_checks_d3a05f381bafcd76|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|ab3bf63eada817e8|-499546596||t19949.3752325101s|e06562061609e01a|338|qs|local|list|prediction_checks||0.114|| -submission_data_98b8519dd449e5cc|branch|97ff1f6a5bdfaa65|185fb209a0f85e93|36489a6e2d958dbc|1242629873||t19949.3752322156s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| -prediction_checks_aa5725ad981362ad|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|8317dbcd69a9072d|-1575586994||t19949.3752321919s|e06562061609e01a|338|qs|local|list|prediction_checks||0.082|| -validated_augmented_data_f7d66dee6c5617d9|branch|0113d78f7fd7b447|e57a32141c4128a5|2fdc3037df0b64f6|-255454074||t19949.375233252s|107574dcf922e822|1791|qs|local|list|validated_augmented_data||0.089|| -submission_data_33530cce1581b5b9|branch|e92b9718cf9e9425|185fb209a0f85e93|8d40ebd278a58dce|1672801989||t19949.3752337123s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| -augmented_data_90ada5421f71b73b|branch|e04a7ce57bb4d20c|317a6b9857648af8|f61752749869bc6d|135826340||t19949.3752341247s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.015|| -prediction_checks_245011b3e8890ff0|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|b8418b84c90ee28b|-1555353461||t19949.3752340734s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.093|| -groups_eafe9025b05561fd|branch|bd8202dc4bccaa3b|4d694e8490b66e3b|2c530c1562a7fbd1|-1982955928||t19949.3752355107s|3127a704ba0b1f8c|1094|qs|local|vector|groups||0|| -prediction_checks_f4d0b9745fdfc665|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|8e8f37f3137403a7|-736872636||t19949.3752365364s|e06562061609e01a|338|qs|local|list|prediction_checks||0.078|| -validated_augmented_data_7b3152aad070d867|branch|2c4524e2547329ed|e57a32141c4128a5|260279d38de5a6c6|74875342||t19949.3752382271s|107574dcf922e822|1791|qs|local|list|validated_augmented_data||0.079|| -groups_399905bf8d605a0d|branch|f4c2c7c569e5c6fc|4d694e8490b66e3b|2c530c1562a7fbd1|-1324764805||t19949.3752367311s|e5205f1b03240154|1077|qs|local|vector|groups||0|| -groups_937bfa57cdecba0f|branch|c437e3591ff01c88|4d694e8490b66e3b|2c530c1562a7fbd1|340175783||t19949.3752362748s|767bbcd8bbbcb2ba|1118|qs|local|vector|groups||0|| -prediction_checks_febcdfc3a8cac733|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|03fcb1bc5af96fb8|618992811||t19949.3752365329s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.075|| -augmented_data_2a3d076e4e62801b|branch|6cea02c364d14b88|317a6b9857648af8|f0ef86fa7ffef1d3|-1287570313||t19949.3752384391s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.012|| -validated_augmented_data_50e4232fdcced123|branch|228793f7eaf1a5c0|e57a32141c4128a5|9b7b8c080cc4c3ea|-856138581||t19949.3752366159s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.069|| -groups_3244ab6e4f58c015|branch|70942a9d6f216b6b|4d694e8490b66e3b|2c530c1562a7fbd1|-1414416414||t19949.3752394944s|26a56874cee0b160|1117|qs|local|vector|groups||0|| -submission_data_259ad3704e63f7b8|branch|30c33cd4c873631c|185fb209a0f85e93|d97498454e7535e4|715397066||t19949.375245061s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.002|| -groups_110bc0420636fd74|branch|814bb56f2f76a9d8|4d694e8490b66e3b|2c530c1562a7fbd1|800902645||t19949.375245133s|2c519d8274f85a61|1121|qs|local|vector|groups||0.001|| -groups_864e4228fdd2a186|branch|86fc43d7a43549be|4d694e8490b66e3b|2c530c1562a7fbd1|591446277||t19949.3752452862s|9819fb286e84d550|1104|qs|local|vector|groups||0|| -groups_5ee5a6103ceebf0e|branch|6f3f0adf50bdd253|4d694e8490b66e3b|2c530c1562a7fbd1|-1290415302||t19949.3752453948s|a099961c4ef116d9|1114|qs|local|vector|groups||0|| -groups_c5210b3894defa63|branch|2c0ffff342de208f|4d694e8490b66e3b|2c530c1562a7fbd1|-1596249973||t19949.3752458814s|c7aa412afb92d856|1202|qs|local|vector|groups||0|| -prediction_checks_d296718ee3573ffd|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|949ce541afd6836d|-1889595424||t19949.3752469776s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.082|| -groups_6fdd24b4b553a943|branch|0cf1104dc19b0748|4d694e8490b66e3b|2c530c1562a7fbd1|1690729445||t19949.3752474253s|03165f80a2cd5d1f|1120|qs|local|vector|groups||0.001|| -groups_fb818d0c27cb1507|branch|aa62006177ac7df4|4d694e8490b66e3b|2c530c1562a7fbd1|2007186439||t19949.3752474628s|0a8a7d3247202c8a|1222|qs|local|vector|groups||0|| -groups_8bdf1cad23bf5c0e|branch|e9f07553168945e3|4d694e8490b66e3b|2c530c1562a7fbd1|122641702||t19949.3752478463s|2c519d8274f85a61|1121|qs|local|vector|groups||0|| -groups_d9c9b4899505dde6|branch|62c4ed68fa4f42df|4d694e8490b66e3b|2c530c1562a7fbd1|1159396598||t19949.3752479515s|131c443c821ad91b|1201|qs|local|vector|groups||0|| -validated_augmented_data_470806ae184181c4|branch|ca43bd1db83e1801|e57a32141c4128a5|e14c540719fa69d7|631790431||t19949.3752478565s|b50f9019a4f99b6a|1871|qs|local|list|validated_augmented_data||0.068|| -prediction_checks_25ca30f2be20acec|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|29788a024307ed5e|-984229963||t19949.3752494434s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.086|| -submission_data_8692eda4655f564d|branch|5da4ab6dc64588ac|185fb209a0f85e93|6342ddb444f87c19|-64339293||t19949.3752494535s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.003|| -augmented_data_bfe30684cde965da|branch|99eff1516330963a|317a6b9857648af8|9b368afe5c7c7e7b|610397563||t19949.3752500004s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.021|| -submission_data_ccf10e8d0be6bd9f|branch|98fabc8c156fea59|185fb209a0f85e93|3a93020a94de70c4|220920649||t19949.3752502629s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| -submission_data_3371a1d6cd702c74|branch|18faa0b8775530bf|185fb209a0f85e93|e2613fd64993e760|-1418768573||t19949.3752504503s|3fda9b692b1d9985|330|qs|local|list|submission_data||0.003|| -submission_data_7d120b7926ad30e8|branch|4e58780c95e2b9e9|185fb209a0f85e93|8ee35cda8ca91514|235870583||t19949.375250579s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| -submission_data_3d6beb99b6d3d199|branch|8991aaa546f2db12|185fb209a0f85e93|602c1d32087e2894|1498913406||t19949.3752507644s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| -groups_6c035e9ced6a276f|branch|f20f991c50c5308f|4d694e8490b66e3b|2c530c1562a7fbd1|467343308||t19949.3752515487s|24ee0111251d0a5d|1200|qs|local|vector|groups||0|| -augmented_data_6180e436319a6f72|branch|98383892a5fd9965|317a6b9857648af8|aabf1bdf6504e480|1124940959||t19949.3752526497s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.017|| -groups_6254864b4a88a706|branch|78c3c6ae997c135d|4d694e8490b66e3b|2c530c1562a7fbd1|1054690376||t19949.3752533084s|aa8a60c557b98faa|1135|qs|local|vector|groups||0|| -groups_5961886c48d26cbc|branch|70c6d0f1aa561b43|4d694e8490b66e3b|2c530c1562a7fbd1|671503724||t19949.3752535899s|7b982a1bdec4aad0|1269|qs|local|vector|groups||0|| -prediction_checks_cc8a55216a7b5045|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|f7c8f2c740e57945|918949108||t19949.3752536799s|e06562061609e01a|338|qs|local|list|prediction_checks||0.1|| -augmented_data_e0d31cdba59a1120|branch|8e99c2ccb7484a30|317a6b9857648af8|cea886ef2f297063|1518661718||t19949.3752537605s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.017|| -augmented_data_e34488f0c434f549|branch|adef76ab36e3bbc4|317a6b9857648af8|a1c860d6c6e4423b|1607361117||t19949.3752540408s|d4b6668dfa3b2f11|340|qs|local|list|augmented_data||0.014|| -validated_augmented_data_dd8da52172f5b944|branch|dbb26756d3953cef|e57a32141c4128a5|61cbdfd68686f9e4|-1121092875||t19949.3752543389s|d81b32700284785a|1794|qs|local|list|validated_augmented_data||0.072|| -augmented_data_7b03f8d8b58dc19c|branch|900a8cda91a20bec|317a6b9857648af8|8cd55ae478c5e0d4|-1478088746||t19949.3752552273s|d4b6668dfa3b2f11|340|qs|local|list|augmented_data||0.016|| -submission_data_8d81d62b6fec8e7e|branch|c32a328c65343ae9|185fb209a0f85e93|0f26a08a708441c6|-1459088404||t19949.3752552253s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.003|| -submission_data_3a589773855064c7|branch|d9bb4b95e6e2ad28|185fb209a0f85e93|83733f8cfd88ec95|1065625345||t19949.3752569029s|caf638a76037586b|314|qs|local|list|submission_data||0.006|| -submission_data_192d15bd4983da14|branch|d878369658d94cd3|185fb209a0f85e93|12156eac4035f30f|-1030324147||t19949.3752572592s|3fda9b692b1d9985|330|qs|local|list|submission_data||0.002|| -validated_augmented_data_7a9ee6de1437997c|branch|737de2c82bfe3202|e57a32141c4128a5|769d062fb3d6d862|219489167||t19949.3752576531s|2bdb7e9d5623598b|1876|qs|local|list|validated_augmented_data||0.076|| -validated_augmented_data_4062f7b61b835765|branch|e292be9ad7429d3c|e57a32141c4128a5|607e66cc25f62f51|114361925||t19949.3752580031s|797fe15db2fe27af|1880|qs|local|list|validated_augmented_data||0.092|| -validated_augmented_data_ba638f357ca27982|branch|5475ec5740077429|e57a32141c4128a5|610c5751d2d81cea|2110293358||t19949.3752581811s|655c09970e168ce0|1866|qs|local|list|validated_augmented_data||0.14|| -groups_d6a567634fcc7b67|branch|df4a80f7b0761245|4d694e8490b66e3b|2c530c1562a7fbd1|-1468859211||t19949.3752584273s|b7e050e10aa8f46a|1130|qs|local|vector|groups||0|| -prediction_checks_f011ee6967aa7d48|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|b6aa9838c1a5571e|-1241693973||t19949.375258334s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.102|| -augmented_data_ef0a5ebed63b41b2|branch|72bdb7a3222c0312|317a6b9857648af8|6eb27151cfef2fc8|66877008||t19949.3752598098s|5fd506c22813817a|320|qs|local|list|augmented_data||0.018|| -augmented_data_10499900811e4733|branch|1daacda0be97bf9a|317a6b9857648af8|bcc28bbc7086e90b|-1301735321||t19949.3752600326s|d4b6668dfa3b2f11|340|qs|local|list|augmented_data||0.013|| -submission_data_3691e06a5681ed0e|branch|156b2d85f90c5956|185fb209a0f85e93|a5186835bbee9102|-2121313949||t19949.3752608952s|6be112dd1b9be7a0|316|qs|local|list|submission_data||0.002|| -validated_augmented_data_9a0d50f454d290cc|branch|8232387626a81fa7|e57a32141c4128a5|b794196abdc13708|1204090944||t19949.3752613129s|353340f2803c8797|1872|qs|local|list|validated_augmented_data||0.065|| -prediction_checks_dc5b873c5665434a|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|36917e276b7fd9ee|601358271||t19949.3752615944s|e06562061609e01a|338|qs|local|list|prediction_checks||0.076|| -augmented_data_3cfc88cca0185961|branch|dd155f07aa5e2783|317a6b9857648af8|8a33fa4595fe7e70|-169873930||t19949.3752620634s|951e45bf59ec048d|341|qs|local|list|augmented_data||0.018|| -prediction_checks_01e1e08599784ae0|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|d450ba36c3b75c7d|2115377345||t19949.3752633468s|e06562061609e01a|338|qs|local|list|prediction_checks||0.08|| -groups_e9b5b48b2e8c266e|branch|2ce233117e9582ea|4d694e8490b66e3b|2c530c1562a7fbd1|-86422998||t19949.375263805s|9d0d21ea3386f962|1092|qs|local|vector|groups||0.001|| -prediction_checks_ab08fa3cc8b607fb|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|b787145a9df813be|-1993449536||t19949.3752637089s|e06562061609e01a|338|qs|local|list|prediction_checks||0.106|| -groups_12cc0b31d19e2de6|branch|364e85d042c27ba4|4d694e8490b66e3b|2c530c1562a7fbd1|1035492387||t19949.3752640697s|d57103b150eef02e|1113|qs|local|vector|groups||0|| -validated_augmented_data_7e65b12bd842b9e3|branch|cc5d011f55a905fa|e57a32141c4128a5|1574a5bde73afa28|106409661||t19949.3752648344s|027de0cecbf880a8|1878|qs|local|list|validated_augmented_data||0.071|| -prediction_checks_820fdb3c74428fa0|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|203372494e3ce74a|1467839069||t19949.3752648651s|e06562061609e01a|338|qs|local|list|prediction_checks||0.086|| -validated_augmented_data_cba66098e4c18c0e|branch|7a43af4386948b96|e57a32141c4128a5|03c4177376ad9dde|-462508175||t19949.3752657594s|246223f788d12999|1860|qs|local|list|validated_augmented_data||0.148|| -validated_augmented_data_0d941305ac8f8f6f|branch|b248e228e9c1f0c4|e57a32141c4128a5|a0f627fbd09740ec|1166996830||t19949.3752662134s|f47d612f0e7a7e48|1877|qs|local|list|validated_augmented_data||0.089|| -augmented_data_4fd0f4bbeb073d05|branch|801ee27dc11f3c56|317a6b9857648af8|a51cc4e27892b296|-1704406920||t19949.3752666389s|5975598e4e5a6487|323|qs|local|list|augmented_data||0.013|| -groups_e8ed7d87e7b33e3e|branch|cc04c7fd6451bd82|4d694e8490b66e3b|2c530c1562a7fbd1|-548794088||t19949.375267057s|f7c7e205cd47c221|1107|qs|local|vector|groups||0|| -groups_e04ba1e58563a7c6|branch|99931598c801f9d3|4d694e8490b66e3b|2c530c1562a7fbd1|-328801155||t19949.3752669195s|e5ecbbdfbbf79cd1|1166|qs|local|vector|groups||0|| -groups_b2796b98afb15ac3|branch|7303c0387aba78c1|4d694e8490b66e3b|2c530c1562a7fbd1|-1427015069||t19949.3752674512s|642bd8b2374bb5ef|1171|qs|local|vector|groups||0|| -submission_data_51333a3fc2a7e70f|branch|651518d8b2f9723b|185fb209a0f85e93|fb05a520767c0030|-415306719||t19949.3752676691s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| -groups_d1523ed5a6f7bf0d|branch|85d40c1010c9ceda|4d694e8490b66e3b|2c530c1562a7fbd1|1291563238||t19949.3752689469s|3d6c3a9ec6dc0116|1128|qs|local|vector|groups||0|| -prediction_checks_511dec9721616632|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|a209942e0389010b|940484751||t19949.3752682017s|e06562061609e01a|338|qs|local|list|prediction_checks||0.104|| -submission_data_c473b68b3bb73d3c|branch|8f6fb291c5e845be|185fb209a0f85e93|9669f633b09977ef|1229626280||t19949.375270109s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| -validated_augmented_data_427e73198bdeede2|branch|60bca84370186975|e57a32141c4128a5|ccf7b439ff40c7a2|675193457||t19949.3752707887s|70c7d7c6723fc8f6|1855|qs|local|list|validated_augmented_data||0.099|| -augmented_data_1e684cef8c7cc5ae|branch|c076c9e709a1703e|317a6b9857648af8|59ddb30ddd388cc0|637817278||t19949.3752710832s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.015|| -prediction_checks_99d424b5419a701a|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|ef9e962f09bce0c2|-723351848||t19949.3752711979s|e06562061609e01a|338|qs|local|list|prediction_checks||0.086|| -submission_data_d1014dc509b15f9c|branch|f68c2cecd508df29|185fb209a0f85e93|ea992324a56c7889|1295772992||t19949.3752716032s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.006|| -prediction_checks_1397102747f8ada2|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|02404c1e8ccd670a|1367551955||t19949.3752716873s|e06562061609e01a|338|qs|local|list|prediction_checks||0.084|| -submission_data_3fe257bf68c21aaf|branch|384dcbda44db363f|185fb209a0f85e93|3ed81fddec38b6a6|-1601318062||t19949.3752722846s|4702e5d68d5cb8ce|360|qs|local|list|submission_data||0.003|| -augmented_data_ff452ec69a5060a0|branch|c84f9ec096c32976|317a6b9857648af8|950eb84030039bbc|-14003794||t19949.3752728684s|3b08e2f63a5e0c0d|300|qs|local|list|augmented_data||0.013|| -submission_data_8ceb99d2547b31ef|branch|dd68e20ef0c88062|185fb209a0f85e93|10192acb6ca2db8e|-356466057||t19949.3752733901s|6f5955ab594f49f2|329|qs|local|list|submission_data||0.002|| -groups_a116716c8d69c179|branch|10d9aa9ec35c2118|4d694e8490b66e3b|2c530c1562a7fbd1|876225292||t19949.3752734061s|f0d297181e7aed86|1165|qs|local|vector|groups||0|| -groups_12543c8e7f565cf4|branch|470ae1e44367fb7d|4d694e8490b66e3b|2c530c1562a7fbd1|-1251279391||t19949.3752741952s|a67cde3029bafc7d|1112|qs|local|vector|groups||0.001|| -groups_2072a2f743b21a67|branch|3caf00822ca9d3c0|4d694e8490b66e3b|2c530c1562a7fbd1|-1303442314||t19949.3752743914s|686cfb66ac45f031|1167|qs|local|vector|groups||0.001|| -submission_data_334208fc84791097|branch|ab780e04a3ab2d83|185fb209a0f85e93|1166a1ec2563848e|-1314161163||t19949.3752751508s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| -prediction_checks_ae5136def93ca865|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|ab828b17f3056565|299769894||t19949.3752756879s|e06562061609e01a|338|qs|local|list|prediction_checks||0.124|| -validated_augmented_data_e68986aa3f6508f2|branch|1629402eea3ce070|e57a32141c4128a5|beec86680abc31bb|-1867906442||t19949.3752760236s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.103|| -groups_929965a1319d1732|branch|5adca891af8e03f5|4d694e8490b66e3b|2c530c1562a7fbd1|1361041875||t19949.3752766313s|9d0d21ea3386f962|1092|qs|local|vector|groups||0|| -submission_data_7dff9d2f3d635937|branch|d70809241495b6b0|185fb209a0f85e93|4f6b579eb2fe53f2|-424601786||t19949.3752755841s|218ce91cd4e12ad3|358|qs|local|list|submission_data||0.012|| -submission_data_8ffa8c52eeac23d2|branch|f609cd771c5b9110|185fb209a0f85e93|750b945eafcb710c|-1379119842||t19949.3752771776s|b0e8a36a8bde68fd|362|qs|local|list|submission_data||0.002|| -augmented_data_277016737fedb446|branch|fdc08d4d1f2b987f|317a6b9857648af8|c4b6810672b745e9|-935757972||t19949.3752772367s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.084|| -groups_659b04fcc8ed74a1|branch|74c166e94a4dfd97|4d694e8490b66e3b|2c530c1562a7fbd1|-851033753||t19949.3752786994s|46253e4fb06f19d0|1143|qs|local|vector|groups||0.001|| -validated_augmented_data_1d98680bb820c76c|branch|f010c29394d27f71|e57a32141c4128a5|dab74710f266e363|1293391483||t19949.3752787177s|f2e3027a063de947|1830|qs|local|list|validated_augmented_data||0.074|| -augmented_data_33114950ec3eb4e2|branch|404f8bce69040012|317a6b9857648af8|b87e93b89421bdf3|1135881446||t19949.3752788905s|14cab35870368b5d|328|qs|local|list|augmented_data||0.013|| -groups_029477dd3e6baf90|branch|f662986a50243527|4d694e8490b66e3b|2c530c1562a7fbd1|-872614139||t19949.3752794158s|561d3cb44a6122bf|1212|qs|local|vector|groups||0|| -groups_09737a657d0379e1|branch|3c0272745dec35e9|4d694e8490b66e3b|2c530c1562a7fbd1|-316523596||t19949.375279245s|a4b6935fa71d15f9|1132|qs|local|vector|groups||0.001|| -augmented_data_37916bedfcd06252|branch|621f9a0ac4470641|317a6b9857648af8|e3c19bcd79949aa6|-456036837||t19949.3752795374s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.022|| -groups_dfd6f2472b59cd12|branch|132319f9a77bf238|4d694e8490b66e3b|2c530c1562a7fbd1|1184641845||t19949.3752803507s|c97c23cb41730b81|1133|qs|local|vector|groups||0|| -submission_data_792ce4925323d985|branch|932d4fc7291200d0|185fb209a0f85e93|93a284a81d6b5f6a|1173695783||t19949.3752819375s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| -submission_data_24d491c39ea368b7|branch|9eae6622c8b24560|185fb209a0f85e93|bb88e55f68668028|-1614184435||t19949.3752824696s|a676778ee8812b34|242|qs|local|list|submission_data||0.027|| -validated_augmented_data_9d4a5789f6a4bc93|branch|558d89a355bfba0f|e57a32141c4128a5|5de46bd052aede9d|347564909||t19949.3752829181s|b4af58b29460080b|1863|qs|local|list|validated_augmented_data||0.079|| -prediction_checks_6625986686cfaf90|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|392ff64964e68368|1002494506||t19949.3752832989s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.114|| -validated_augmented_data_ba1b01ff261870f3|branch|15a0967fb743da4f|e57a32141c4128a5|a6adf5862d4efab1|289490749||t19949.3752832566s|353df61c39a5d221|1800|qs|local|list|validated_augmented_data||0.083|| -prediction_checks_04da8c769a01c8ed|branch|549ae252f79a7252|ca3c76dd51ebc9f7|20ba16a26f3d113d|-1497555589||t19949.3752838902s|9fa82258c19da069|337|qs|local|list|prediction_checks||0.127|| -submission_data_17942410d59192dc|branch|e0128367652b1136|185fb209a0f85e93|1d84e3d2fc87d7c1|-2006289897||t19949.3752832204s|ff44d5a1f08d1b9b|332|qs|local|list|submission_data||0.002|| -validated_augmented_data_4240c12a1dc827fa|branch|0ad3dbc0fa79ae38|e57a32141c4128a5|3af230aa6850b089|-775471073||t19949.3752849225s|8e6901a343cb1030|1785|qs|local|list|validated_augmented_data||0.089|| -submission_data_b0a5a70b748e94b6|branch|fbd3fff65a4081fd|185fb209a0f85e93|aa0ed4756c0bcf67|-29259835||t19949.375285586s|852ca65165b9cec5|312|qs|local|list|submission_data||0.011|| -augmented_data_2c118f28dc014fee|branch|596fccd7335b4035|317a6b9857648af8|7615addaf38056bd|-898366384||t19949.3752861976s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.012|| -augmented_data_ac770ba43c1b7132|branch|01a4845660907b0f|317a6b9857648af8|c971b6276488e807|564022120||t19949.3752882283s|0c8b2aa18f55762a|303|qs|local|list|augmented_data||0.015|| -prediction_checks_77c7addc15637139|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|1418645c2c36dc05|397923411||t19949.3752871384s|e06562061609e01a|338|qs|local|list|prediction_checks||0.074|| -groups_74935028ebc6c97e|branch|074fe5d7396484c9|4d694e8490b66e3b|2c530c1562a7fbd1|-511755605||t19949.3752953739s|f7c7e205cd47c221|1107|qs|local|vector|groups||0|| -groups_e4f2d9f951e4f36e|branch|0fd191b30f1cb76c|4d694e8490b66e3b|2c530c1562a7fbd1|1318718549||t19949.3752955903s|9819fb286e84d550|1104|qs|local|vector|groups||0|| -groups_c4b1d2ca02e6889c|branch|1469074b0ba7bc1d|4d694e8490b66e3b|2c530c1562a7fbd1|-1552171589||t19949.3752956467s|590b022d9713d473|1103|qs|local|vector|groups||0|| -groups_e60fc457970eaebc|branch|4982ee922b42d128|4d694e8490b66e3b|2c530c1562a7fbd1|-1378461419||t19949.375296024s|604be24a3c1f227f|1084|qs|local|vector|groups||0|| -groups_b5f95e1d69e9e6e5|branch|07cc6abb85203436|4d694e8490b66e3b|2c530c1562a7fbd1|-1179211586||t19949.3752962135s|767bbcd8bbbcb2ba|1118|qs|local|vector|groups||0|| -prediction_checks_0998e295c94c48ff|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|0f67490bb82c07f1|300792501||t19949.3752976636s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.071|| -submission_data_ff8b413f5c50bba1|branch|fa5e85a16a0e3314|185fb209a0f85e93|43f7d4a015c262ba|43736525||t19949.3752975699s|f06844b53aab3b4d|321|qs|local|list|submission_data||0.003|| -groups_6e4cab2f94f1eecb|branch|605cd29c09638880|4d694e8490b66e3b|2c530c1562a7fbd1|481115074||t19949.3752979052s|ac761c46a130ac87|1095|qs|local|vector|groups||0|| -validated_augmented_data_a975283f5c157c1b|branch|a3d1ddaee227465a|e57a32141c4128a5|9520d9a4193a57ea|-301687008||t19949.3752979191s|027de0cecbf880a8|1878|qs|local|list|validated_augmented_data||0.062|| -groups_1542a58b325665b6|branch|332c83d77fd58c25|4d694e8490b66e3b|2c530c1562a7fbd1|-316116107||t19949.3752984131s|0f87da251090a5e4|1111|qs|local|vector|groups||0|| -groups_ea4d34aa386d9e89|branch|f0378c354e25ebff|4d694e8490b66e3b|2c530c1562a7fbd1|-49576068||t19949.3752986283s|3d6c3a9ec6dc0116|1128|qs|local|vector|groups||0.001|| -groups_aa46637746473dc5|branch|a61590a55627932e|4d694e8490b66e3b|2c530c1562a7fbd1|-561001860||t19949.3752988941s|3127a704ba0b1f8c|1094|qs|local|vector|groups||0|| -submission_data_0150d98feeb22db8|branch|b0a9e28e78d0d871|185fb209a0f85e93|97dffabe797b4cd1|-1950710436||t19949.3753000441s|c74b00466ed0f9f3|366|qs|local|list|submission_data||0.003|| -prediction_checks_b66befcf184034c1|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|5de84d2f43dad512|1755983921||t19949.3753000372s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.126|| -submission_data_6fc3b29a97d5c029|branch|7b238cc2fd9c7cda|185fb209a0f85e93|7d87f1ddf7e6c69b|1435071725||t19949.3753002953s|c74b00466ed0f9f3|366|qs|local|list|submission_data||0.003|| -groups_f2d3c45af1a685a2|branch|588174e945a5b5eb|4d694e8490b66e3b|2c530c1562a7fbd1|733643411||t19949.3753016985s|330f8dfde079eec1|1091|qs|local|vector|groups||0|| -submission_data_52f2aeac5fd8599c|branch|b157c68a07ae0d2f|185fb209a0f85e93|45d31e74a4e0128a|-1560337779||t19949.3753016775s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.002|| -prediction_checks_ed51aa1639abc4c8|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|c7ac734b8c539f95|-1818068510||t19949.3753027014s|e06562061609e01a|338|qs|local|list|prediction_checks||0.132|| -groups_aa74e9944849511d|branch|24d4e8bf4b7821d5|4d694e8490b66e3b|2c530c1562a7fbd1|1928130631||t19949.3753027658s|61209f9b475dbb21|1341|qs|local|vector|groups||0|| -submission_data_27314d66917d666d|branch|a03cbf503ba8e196|185fb209a0f85e93|7f80f53235b33ec5|1247588681||t19949.3753031409s|ff44d5a1f08d1b9b|332|qs|local|list|submission_data||0.002|| -groups_776ffb0736cad1e3|branch|0223061b287e2bd5|4d694e8490b66e3b|2c530c1562a7fbd1|-397367903||t19949.3753036164s|6d645143de549127|1416|qs|local|vector|groups||0.001|| -augmented_data_b5cc946f39fee6a0|branch|320804690bdda5fe|317a6b9857648af8|4bc8f976d9d06ab2|-704517096||t19949.3753037046s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.015|| -submission_data_e7dd68d7ce3ad157|branch|68ca85e497b2f02e|185fb209a0f85e93|2cb74e11cc721bdc|-899439768||t19949.375304345s|9b7c1d3cd274a0db|294|qs|local|list|submission_data||0.002|| -submission_data_144a43d2d6066b80|branch|b146c04aa0a2d662|185fb209a0f85e93|7612d1ef2cfcfba7|-1784400863||t19949.3753045237s|5975598e4e5a6487|323|qs|local|list|submission_data||0.002|| -augmented_data_e66f54b7e44914e5|branch|f8597cf0ccd5aa27|317a6b9857648af8|ba06d3d64e031137|-686315761||t19949.3753049165s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.033|| -submission_data_88b0fd7ac3221325|branch|153ce8015aac4226|185fb209a0f85e93|4cbb42f652310d45|-1176063713||t19949.3753057464s|e0807c4fc5685dfa|318|qs|local|list|submission_data||0.002|| -groups_467188f36c417525|branch|8669ca14fb7d03ea|4d694e8490b66e3b|2c530c1562a7fbd1|223852475||t19949.3753057701s|3c98e78771abfb4c|1343|qs|local|vector|groups||0|| -groups_26286fe6d4cfcf53|branch|3266f74409b5ba4b|4d694e8490b66e3b|2c530c1562a7fbd1|-229082311||t19949.3753061674s|44b84378be87198c|1340|qs|local|vector|groups||0|| -groups_28e85290fd9a97a0|branch|3d31d70e415b1538|4d694e8490b66e3b|2c530c1562a7fbd1|556531647||t19949.3753069532s|d9400560ac21db5c|1096|qs|local|vector|groups||0|| -augmented_data_e8d1e268246cb5da|branch|c7c50afa9ae8e830|317a6b9857648af8|99ad2c224acaa6ea|-483625651||t19949.3753064132s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.02|| -augmented_data_8f9ecb67b4648df1|branch|76777fc59cd2c119|317a6b9857648af8|c7f35f2fc155311b|1265643156||t19949.3753067219s|221faa5a8fd1136c|292|qs|local|list|augmented_data||0.012|| -submission_data_1da9c93ef4bef397|branch|ef36981fb5a8ade8|185fb209a0f85e93|8264673b832d9f27|2057214845||t19949.3753084799s|fabb80dff42d75cb|307|qs|local|list|submission_data||0.002|| -augmented_data_fbd9250baf8ae9df|branch|c01d35cc451f42d2|317a6b9857648af8|f5303fbf6c39308f|1040276142||t19949.3753082714s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.026|| -augmented_data_61e82021655626e2|branch|75a121ee62a718b9|317a6b9857648af8|5ecc670e252d659a|1319905803||t19949.3753091258s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.033|| -validated_augmented_data_53a6f6d89a567034|branch|dc746bbdb64a3f91|e57a32141c4128a5|ac4fe1db4713aed2|1120751895||t19949.3753090138s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.095|| -augmented_data_d71237357c705044|branch|a830d8f66b6864e8|317a6b9857648af8|1adeb0b9ef3ed067|-1589650633||t19949.3753101433s|e818f06db8013bcf|306|qs|local|list|augmented_data||0.029|| -validated_augmented_data_8742d7cadc9e658a|branch|a6e276b3657ec82b|e57a32141c4128a5|1ee68ab2452710c6|2051704867||t19949.3753107644s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.096|| -validated_augmented_data_e7289c471153a5b6|branch|01e48e335c307199|e57a32141c4128a5|159c7c9b357b7844|1162142581||t19949.3753105989s|6789c682b2eb707b|1869|qs|local|list|validated_augmented_data||0.089|| -submission_data_0ea5ac9666e0546d|branch|08f4c83d856da202|185fb209a0f85e93|a7dd75d72ef9f66e|1711091748||t19949.3753114085s|fabb80dff42d75cb|307|qs|local|list|submission_data||0.003|| -submission_data_7b0d47c8fb00d826|branch|2a9aa128515a9548|185fb209a0f85e93|63dd64c9329ab515|445576789||t19949.3753115217s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| -validated_augmented_data_41c8b4d2968b9f7e|branch|6eeb36964d9f8ebf|e57a32141c4128a5|9759d6623e8d3ff9|1267337059||t19949.3753128236s|86b7064cf66fe42e|1565|qs|local|list|validated_augmented_data||0.242|| -validated_augmented_data_144b793f1be812a5|branch|0553643df60f7708|e57a32141c4128a5|7c307da266b983cd|-1370008951||t19949.3753131936s|d755b320cb28ca69|1786|qs|local|list|validated_augmented_data||0.075|| -augmented_data_0023663ed9da9ee7|branch|5b2f656993063f56|317a6b9857648af8|9857bd77ba441c3f|-1144804126||t19949.3753142408s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.014|| -prediction_checks_b09e54c77548b9bf|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|ddbdf3a29559161b|-1108266203||t19949.375314727s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.091|| -prediction_checks_6807dfac02920721|branch|0a1cdb0bde8b3d40|ca3c76dd51ebc9f7|170ad353b4cc16e0|-829543828||t19949.3753150865s|c206c709607ca69c|343|qs|local|list|prediction_checks||0.061|Failure to validate that column se.fit exists.The col_exists validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1| -validated_augmented_data_eb3c4e536b0b6d99|branch|531cbc5954b3da74|e57a32141c4128a5|b94f077474736965|1004891289||t19949.3753152317s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.088|| -prediction_checks_97e4ec05f7fa50ec|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|fa9c89cb8117cfed|1508960142||t19949.3753158714s|e06562061609e01a|338|qs|local|list|prediction_checks||0.118|| -augmented_data_3e29610b22d2997f|branch|303b57873630e6c8|317a6b9857648af8|5d7175a28ceddd3c|1052235750||t19949.3753162844s|e818f06db8013bcf|306|qs|local|list|augmented_data||0.016|| -prediction_checks_8dea87da4644c58b|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|72ddc7b5063a36a2|1812794184||t19949.3753162496s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.136|| -validated_augmented_data_cdc4bf64218947d4|branch|7096d610b55cf3d0|e57a32141c4128a5|8114e4b68f10ffa1|1661013483||t19949.3753176011s|d0facd8f04726c3c|1838|qs|local|list|validated_augmented_data||0.093|| -groups_aca2aac0cc1dac7a|branch|caf932e6563e5225|4d694e8490b66e3b|2c530c1562a7fbd1|1374655992||t19949.3753177547s|131c443c821ad91b|1201|qs|local|vector|groups||0|| -validated_augmented_data_3982717d3357e25e|branch|1a6bbae4c8d1920d|e57a32141c4128a5|1cb4a1db922342ef|2028367132||t19949.3753181416s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.075|| -groups_196c1b0db8d0c941|branch|2c4e8e3de5867e41|4d694e8490b66e3b|2c530c1562a7fbd1|912846658||t19949.3753184474s|c7aa412afb92d856|1202|qs|local|vector|groups||0|| -groups_538d070775df006f|branch|0ebe31fa8b4112ff|4d694e8490b66e3b|2c530c1562a7fbd1|-1347107061||t19949.3753190622s|e97d2ccab22da292|1150|qs|local|vector|groups||0|| -prediction_checks_b193cf90f435675d|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|6ea64aad840aca2a|693697886||t19949.3753197987s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.113|| -prediction_checks_63a9e06760851e4d|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|f7cfc220cf71b3c2|21833346||t19949.3753202292s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.108|| -groups_4c516eff5ce59f29|branch|654387235b6e3063|4d694e8490b66e3b|2c530c1562a7fbd1|-39967740||t19949.3753207536s|7ab1ff5d5b6ade7d|1044|qs|local|vector|groups||0|| -groups_3be2ddd9364a1e92|branch|ebc3cd8a15c44a82|4d694e8490b66e3b|2c530c1562a7fbd1|501307790||t19949.3753208135s|f932663130518aec|1196|qs|local|vector|groups||0|| -prediction_checks_01ddfe74677aa3a4|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|166af62b533b734e|-1765777486||t19949.3753211919s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.114|| -validated_augmented_data_24f7a56f07f00565|branch|bcda12a32fbaf10a|e57a32141c4128a5|3bbfdd94be436f26|-702292241||t19949.3753212517s|d0facd8f04726c3c|1838|qs|local|list|validated_augmented_data||0.083|| -submission_data_15548df7da910d2e|branch|8908278ec7dab6e4|185fb209a0f85e93|cb4f4f674d407856|-856954862||t19949.3753214288s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.003|| -prediction_checks_2a7ef0c240868872|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|84008818cf5eca15|183757970||t19949.3753220529s|e06562061609e01a|338|qs|local|list|prediction_checks||0.071|| -submission_data_5eb776ab5d25ef06|branch|6c302e2bd91898a7|185fb209a0f85e93|162e67f9a94902d0|-632522133||t19949.3753231081s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| -submission_data_2a6101cf0c542cc5|branch|83219d1629e0057d|185fb209a0f85e93|32b3284f647e56bd|-2016704602||t19949.375323505s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.003|| -groups_402dcae78f9ff340|branch|be0be7494bf19a0b|4d694e8490b66e3b|2c530c1562a7fbd1|-750262003||t19949.3753242106s|767bbcd8bbbcb2ba|1118|qs|local|vector|groups||0|| -submission_data_5a410f0527982db6|branch|caf723da9128ef52|185fb209a0f85e93|75616923c84687d7|-1701413594||t19949.3753241921s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.002|| -submission_data_194d8f075df008b4|branch|f4eec47aaea4715f|185fb209a0f85e93|7b149921916b5c23|-1291977564||t19949.3753246365s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.003|| -augmented_data_cb33d53cac3dc2b3|branch|44fd033d635274d9|317a6b9857648af8|3d0537740365c125|1233452375||t19949.375325742s|951e45bf59ec048d|341|qs|local|list|augmented_data||0.013|| -submission_data_c3b896ea4392beec|branch|4bd27165383b8b3c|185fb209a0f85e93|cb0f2a09adeda81c|-1944769058||t19949.3753257717s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.006|| -prediction_checks_ca9ad71430b7b210|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|b6ac28741db7ae59|880016417||t19949.3753261867s|e06562061609e01a|338|qs|local|list|prediction_checks||0.095|| -groups_15ea0c1b16182003|branch|e97859ee085ea44e|4d694e8490b66e3b|2c530c1562a7fbd1|-1422043507||t19949.3753269503s|e5ecbbdfbbf79cd1|1166|qs|local|vector|groups||0.001|| -augmented_data_776859538bcf3687|branch|507c22b70c25fe5c|317a6b9857648af8|a742b8b8d829e228|-1334962008||t19949.3753261065s|e4e35ba89377bb93|326|qs|local|list|augmented_data||0.013|| -augmented_data_ef738b3109348ee5|branch|6f7e18b0a3d7fd84|317a6b9857648af8|6ad67f536d64283f|1569600521||t19949.3753272212s|951e45bf59ec048d|341|qs|local|list|augmented_data||0.013|| -augmented_data_9665d2ee964dcad1|branch|31cacb27b93d5bf9|317a6b9857648af8|24f7b531414bb875|1984498981||t19949.3753272958s|982c173ba6de0b8b|42|qs|local|list|augmented_data||0.031|| -groups_35a67b44c8e0cd10|branch|ee32a1a70fa882dc|4d694e8490b66e3b|2c530c1562a7fbd1|-1705039907||t19949.375328117s|fc88de983d208b03|1181|qs|local|vector|groups||0.001|| -submission_data_5fb58316ff86d978|branch|a834de16ba7a6b3e|185fb209a0f85e93|77d6e6500cc9872c|-1124797560||t19949.3753293124s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| -groups_304c9b29ff5e1c2e|branch|f147eb34ff85efe8|4d694e8490b66e3b|2c530c1562a7fbd1|-1523606226||t19949.3753300021s|7fa8ca5f7421ecac|1108|qs|local|vector|groups||0|| -submission_data_cabc08ff43b5175d|branch|52b0f730de33d04d|185fb209a0f85e93|66ecd3f043aae35f|-1400135821||t19949.3753300326s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.005|| -validated_augmented_data_5ab441b7c76166ed|branch|940ba569086abc8b|e57a32141c4128a5|919c1478df5a12f4|-1447922745||t19949.3753302963s|973ce29d4f5dc732|1867|qs|local|list|validated_augmented_data||0.081|| -validated_augmented_data_4d40b01c50f2ad39|branch|36d9740350f2810f|e57a32141c4128a5|619bd8f27d594260|2113748502||t19949.3753303874s|ee70cedb204b0f1a|1879|qs|local|list|validated_augmented_data||0.077|| -augmented_data_1df4477eff7f2ab1|branch|0ceed9bb0a38df58|317a6b9857648af8|c3dcd75051178d87|1384473716||t19949.3753311464s|951e45bf59ec048d|341|qs|local|list|augmented_data||0.012|| -augmented_data_e7b47051397e1237|branch|edb8c0a8e8448216|317a6b9857648af8|ec24a809713d860c|2096469304||t19949.3753311474s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.01|| -validated_augmented_data_22a8c8f7617f440b|branch|bc2342c8e7855922|e57a32141c4128a5|72feb30f84717702|-1491763420||t19949.3753316714s|f47d612f0e7a7e48|1877|qs|local|list|validated_augmented_data||0.09|| -validated_augmented_data_1f6bceb6b5804f66|branch|31cacb27b93d5bf9|e57a32141c4128a5|37d96d41472bd3b7|2120423722||t19949.3753321136s|982c173ba6de0b8b|42|qs|local|list|validated_augmented_data||0|| -augmented_data_2876889f008cadda|branch|b50e7eba255f6172|317a6b9857648af8|910ca7b7628879d9|1346651186||t19949.3753339378s|e4e35ba89377bb93|326|qs|local|list|augmented_data||0.011|| -submission_data_3bf2bacb6fe00f56|branch|d8c22bb3ae9c6ce7|185fb209a0f85e93|1404278d5c413984|2046879576||t19949.3753343962s|6f5955ab594f49f2|329|qs|local|list|submission_data||0.002|| -validated_augmented_data_25fd28d07c92063c|branch|3697d80da9d520d0|e57a32141c4128a5|a62471b20a986478|-2034686811||t19949.3753346754s|f47d612f0e7a7e48|1877|qs|local|list|validated_augmented_data||0.06|| -prediction_checks_072e643d1f12d0a5|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|d090ee0637f9586d|520330671||t19949.3753346729s|e06562061609e01a|338|qs|local|list|prediction_checks||0.085|| -prediction_checks_516ff0bd02e172e6|branch|31cacb27b93d5bf9|ca3c76dd51ebc9f7|6811339f95c511ad|-907641602||t19949.3753346192s|982c173ba6de0b8b|42|qs|local|list|prediction_checks||0|| -augmented_data_e5582ec60a21473d|branch|08b8cb52e9437623|317a6b9857648af8|6c8aed25f8b4a43e|1135455974||t19949.3753346518s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.023|| -prediction_checks_1696df95d3d8f556|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|80f976cb79983138|634707477||t19949.3753368085s|e06562061609e01a|338|qs|local|list|prediction_checks||0.125|| -validated_augmented_data_f888db1bdaca282b|branch|3d924639d126f892|e57a32141c4128a5|7ac97dff50233f8b|2108424299||t19949.375337724s|6c56005f9ea9ef01|1870|qs|local|list|validated_augmented_data||0.096|| -augmented_data_00d8d4fcc9c9104b|branch|ae6494b26649e74d|317a6b9857648af8|497a2cdc8be47e1e|114250851||t19949.3753378832s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.013|| -validated_augmented_data_1ba9758fc6474da0|branch|a58ff3aeb5c08be9|e57a32141c4128a5|4ea497ad253b3821|648522704||t19949.3753384222s|973ce29d4f5dc732|1867|qs|local|list|validated_augmented_data||0.067|| -prediction_checks_0371c5b4503a64c1|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|9bf2cfb1879c816f|793862287||t19949.3753386422s|e06562061609e01a|338|qs|local|list|prediction_checks||0.092|| -validated_augmented_data_c4e7cb22e28904dc|branch|24e6219657acd60a|e57a32141c4128a5|6385920795c6b30c|-1413230285||t19949.3753396986s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.06|| -prediction_checks_56da09d3286862ff|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|a53da38650e60908|86749048||t19949.3753396763s|e06562061609e01a|338|qs|local|list|prediction_checks||0.073|| -groups_9cded7f1ee6a7caa|branch|d06c85ba241954e8|4d694e8490b66e3b|2c530c1562a7fbd1|-1405683252||t19949.3753402064s|6053900ad6294815|1355|qs|local|vector|groups||0|| -prediction_checks_9b2eb3e72408bfb8|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|b8fdde0a7b30111a|-1688661435||t19949.3753407729s|e06562061609e01a|338|qs|local|list|prediction_checks||0.154|| -groups_94f61bef3269dbb5|branch|42b981fb49b68441|4d694e8490b66e3b|2c530c1562a7fbd1|-832689328||t19949.3753410082s|e1fa78197d170c22|1139|qs|local|vector|groups||0|| -validated_augmented_data_48ca467781a3500c|branch|3c35fa7506514758|e57a32141c4128a5|da1db5854deba021|-865272620||t19949.3753415323s|35c7d052e58fe881|1783|qs|local|list|validated_augmented_data||0.105|| -groups_100ea6d1fa47d7a2|branch|035417a623d7d0db|4d694e8490b66e3b|2c530c1562a7fbd1|-854370172||t19949.3753420279s|f44c15a3e082d69e|1098|qs|local|vector|groups||0|| -prediction_checks_3bb0ae1464e795ef|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|9f7090393791006c|-1197671952||t19949.3753436563s|e06562061609e01a|338|qs|local|list|prediction_checks||0.076|| -groups_71bde056c79c3a73|branch|c0b933d738d0857b|4d694e8490b66e3b|2c530c1562a7fbd1|-1692022676||t19949.3753437153s|82fb72f90bbb8852|1099|qs|local|vector|groups||0|| -prediction_checks_67cce082798354cb|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|8e9233755d95d70b|-579001158||t19949.3753450213s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.089|| -groups_884432134cabb2f8|branch|8eb638244ab87d40|4d694e8490b66e3b|2c530c1562a7fbd1|-734192916||t19949.375343419s|2b93e0d131be1962|1082|qs|local|vector|groups||0.001|| -submission_data_c6c08589990fc2ca|branch|ab57c4bcfc2f682e|185fb209a0f85e93|06a6620f0067c28a|602669007||t19949.3753421917s|3fda9b692b1d9985|330|qs|local|list|submission_data||0.002|| -groups_3dcd0bf346bdfe4c|branch|775fa8e4baf9f5ad|4d694e8490b66e3b|2c530c1562a7fbd1|-894079416||t19949.3753508773s|331126ce34a6727a|1088|qs|local|vector|groups||0|| -groups_70d22f79bdfb3691|branch|a6030870b60a2936|4d694e8490b66e3b|2c530c1562a7fbd1|41187146||t19949.3753509508s|ac761c46a130ac87|1095|qs|local|vector|groups||0|| -groups_c354acfdc22e2f16|branch|d96b6cd75ceb7ad8|4d694e8490b66e3b|2c530c1562a7fbd1|-1980604527||t19949.375351118s|8c83f594ca713a79|1145|qs|local|vector|groups||0.001|| -groups_56897df71d5e7f55|branch|561a9a32cda81a2f|4d694e8490b66e3b|2c530c1562a7fbd1|1450502831||t19949.3753513995s|7e75aa54df65ffc3|1141|qs|local|vector|groups||0|| -groups_054d3b4ec3aa78a3|branch|815c2e04ebe296cf|4d694e8490b66e3b|2c530c1562a7fbd1|1817150363||t19949.3753514511s|d1f9ed5125b9aaaf|1119|qs|local|vector|groups||0|| -submission_data_0eaf0d4efbbf00b4|branch|5c6f66b6fe3bd26a|185fb209a0f85e93|726525208a3381b0|-69976528||t19949.3753529432s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.005|| -augmented_data_bb38d4b6a7216784|branch|cd8142d7ef0c64e7|317a6b9857648af8|e94a0a5162c15412|490231611||t19949.3753530375s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.02|| -groups_1c4067afea28309d|branch|4df25daca3431769|4d694e8490b66e3b|2c530c1562a7fbd1|1356463128||t19949.3753531091s|590b022d9713d473|1103|qs|local|vector|groups||0.001|| -groups_8c72eac004839ff1|branch|c5ea4e7f78806122|4d694e8490b66e3b|2c530c1562a7fbd1|2060318673||t19949.3753535729s|46253e4fb06f19d0|1143|qs|local|vector|groups||0|| -groups_c2f81073ae65961c|branch|a8121bfd17cc793b|4d694e8490b66e3b|2c530c1562a7fbd1|2021434375||t19949.3753538175s|b1c9e75231884259|1080|qs|local|vector|groups||0|| -groups_802a1a0901cbe93d|branch|05ee06183ae8e60d|4d694e8490b66e3b|2c530c1562a7fbd1|-1479726679||t19949.3753540838s|b866b845009245ef|1090|qs|local|vector|groups||0|| -prediction_checks_fda2467264fecd47|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|347de3f11eeedc1e|-690768146||t19949.375355203s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.107|| -submission_data_8b86638833a86587|branch|822bb28205052e85|185fb209a0f85e93|493ba812ac70ac88|570076796||t19949.3753554597s|23c5199cbe97be21|325|qs|local|list|submission_data||0.005|| -submission_data_d4e7a1027842b1f2|branch|389a1c00357efaa4|185fb209a0f85e93|c2c279602760432e|986946651||t19949.375356152s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| -submission_data_af46c00587380b6e|branch|22e98cc0cf952624|185fb209a0f85e93|e60cfbc104b8cadb|110803908||t19949.375356701s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.002|| -validated_augmented_data_d8eba3e39896a234|branch|04f15acec76e8352|e57a32141c4128a5|6419a9c1b3c3e053|-825194732||t19949.3753572155s|353df61c39a5d221|1800|qs|local|list|validated_augmented_data||0.074|| -augmented_data_d88f33dde80a442c|branch|7174a048a196fcc2|317a6b9857648af8|c663b18e4db00613|-1684234217||t19949.375357539s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.024|| -submission_data_6d9d205aefce25af|branch|85e013621fe1df82|185fb209a0f85e93|8f9cd25c1db6ba41|718996625||t19949.3753575474s|23c5199cbe97be21|325|qs|local|list|submission_data||0.002|| -submission_data_90f9fa993be0eaac|branch|8033e0410fd12e79|185fb209a0f85e93|427836f3e0696c79|676033992||t19949.3753580571s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.002|| -submission_data_1b2ddb7ee612d70e|branch|13b71172fb3c6209|185fb209a0f85e93|2e65b17cb4b952f0|202420599||t19949.3753587226s|5975598e4e5a6487|323|qs|local|list|submission_data||0.003|| -augmented_data_0d1d39b785b295db|branch|e474dd6f55208d14|317a6b9857648af8|1cd9b1386e801801|2061953465||t19949.3753592036s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.015|| -augmented_data_722104d142ffcb5d|branch|c56ca7106e3e277d|317a6b9857648af8|ca456d58ce396d12|100820816||t19949.3753595255s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.018|| -groups_4b8096d473593db9|branch|954022d81509c0e2|4d694e8490b66e3b|2c530c1562a7fbd1|-1890512733||t19949.375359742s|767bbcd8bbbcb2ba|1118|qs|local|vector|groups||0|| -augmented_data_2e3c836f82b0c8ad|branch|f120d51fd9269839|317a6b9857648af8|2265b4c8b53ebc60|-1846696046||t19949.3753602832s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.014|| -submission_data_64445156e2cd2abe|branch|f857c8d0ad1f8a08|185fb209a0f85e93|ff57fcc01b9799f2|-804356582||t19949.3753607552s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| -augmented_data_50bc9d7faaa7c206|branch|191a7061928c2a80|317a6b9857648af8|9d474a2b99b3bb4f|-1719186005||t19949.3753609982s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.025|| -validated_augmented_data_ffb0612c513f29a5|branch|50001d069d095881|e57a32141c4128a5|f34479fa68562383|-893939131||t19949.3753623408s|5fd1d38a27b446ca|1796|qs|local|list|validated_augmented_data||0.06|| -validated_augmented_data_4e0a68879cbb9036|branch|4dcbc3a738efc37c|e57a32141c4128a5|8f6ff866a59940c6|-2012595110||t19949.3753624045s|2bdb7e9d5623598b|1876|qs|local|list|validated_augmented_data||0.114|| -augmented_data_72001cec2c56ccd0|branch|eb029c89609669d3|317a6b9857648af8|2480d9425f361d2b|-197633034||t19949.3753626773s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.032|| -augmented_data_3360572419d7f96c|branch|702709cfceb231d7|317a6b9857648af8|b865e829599ebe2b|-790037040||t19949.3753632168s|5975598e4e5a6487|323|qs|local|list|augmented_data||0.021|| -prediction_checks_0fb53cbdd032c797|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|48d0eb5aa9314d7c|1708418305||t19949.3753634657s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.142|| -validated_augmented_data_5a5ce47db007e29f|branch|62f81c4f6643586f|e57a32141c4128a5|c638b78a2631d1f1|-1873371059||t19949.375363835s|8e6901a343cb1030|1785|qs|local|list|validated_augmented_data||0.076|| -augmented_data_6ad9b65ea48e6fdf|branch|110e62818b3de785|317a6b9857648af8|f41e583ade6b978c|1379261260||t19949.3753648957s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.015|| -validated_augmented_data_1c3ed8f5e124ae5e|branch|0de3d733e304d727|e57a32141c4128a5|8a1341acd4683762|779183094||t19949.3753648158s|381441630f865ce4|1787|qs|local|list|validated_augmented_data||0.104|| -validated_augmented_data_41e2a237f652154f|branch|01d35e70d19878dd|e57a32141c4128a5|f0fb24c640112bb3|2047975920||t19949.3753661158s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.082|| -prediction_checks_547f9108ce7c4efa|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|1c007b762c89c059|1488950519||t19949.3753667145s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.072|| -validated_augmented_data_021514c7e627f264|branch|db248ebfdea6e14c|e57a32141c4128a5|0aca5277c230f5b8|-1498878327||t19949.3753668306s|79e59bc409d2591a|1873|qs|local|list|validated_augmented_data||0.11|| -groups_e4b5d695c32741cc|branch|6b481cde81e57bd5|4d694e8490b66e3b|2c530c1562a7fbd1|-1925874696||t19949.3753677304s|03165f80a2cd5d1f|1120|qs|local|vector|groups||0|| -validated_augmented_data_2bebca7abe9a4631|branch|d0cc3aa118c6f9f4|e57a32141c4128a5|b47a77458a089afb|-1500694701||t19949.3753674445s|027de0cecbf880a8|1878|qs|local|list|validated_augmented_data||0.088|| -prediction_checks_1c29720300bd11b7|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|0bcab9c5258dadb8|512068569||t19949.3753676631s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.127|| -prediction_checks_47056ced676ec0e4|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|d92516ba24c373e8|-1211119647||t19949.3753678828s|e06562061609e01a|338|qs|local|list|prediction_checks||0.12|| -validated_augmented_data_7e3c378c924b3aad|branch|8817f4284727f106|e57a32141c4128a5|f1cbd79223185b75|-973493647||t19949.3753699069s|25239067ea5664cc|1858|qs|local|list|validated_augmented_data||0.1|| -prediction_checks_f4047f7395af2842|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|a181b87a11902fd2|514783251||t19949.3753707032s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.11|| -groups_4e1de724ede801d3|branch|3814cf3fec650f76|4d694e8490b66e3b|2c530c1562a7fbd1|1070075196||t19949.3753708081s|4b8fc5547eb30ec2|1144|qs|local|vector|groups||0|| -submission_data_a867308ba179a527|branch|db6e16b18308235e|185fb209a0f85e93|2db793735fa3a742|680605602||t19949.3753710033s|ff44d5a1f08d1b9b|332|qs|local|list|submission_data||0.003|| -prediction_checks_db30860592a19703|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|7676b2b3b06bfd42|-197209338||t19949.3753711773s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.117|| -prediction_checks_e953db4c9ce987d2|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|70726c52cbf7c376|-318103973||t19949.3753712355s|e06562061609e01a|338|qs|local|list|prediction_checks||0.095|| -prediction_checks_6b6ef38d1125ebe3|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|5f0895d54a99e908|707493694||t19949.375372523s|e06562061609e01a|338|qs|local|list|prediction_checks||0.134|| -groups_0e900f63a62b1200|branch|79cf62e9ce98c53f|4d694e8490b66e3b|2c530c1562a7fbd1|-2043272488||t19949.3753731291s|561d3cb44a6122bf|1212|qs|local|vector|groups||0|| -groups_5766a2e76218a77c|branch|547242790c90e12f|4d694e8490b66e3b|2c530c1562a7fbd1|-574142661||t19949.3753735482s|277de3e1f452148b|1218|qs|local|vector|groups||0.001|| -groups_8cb26e796be65b8d|branch|8bb7992da7240c2b|4d694e8490b66e3b|2c530c1562a7fbd1|1503064673||t19949.3753736658s|8cf93cef173c5245|1216|qs|local|vector|groups||0|| -groups_1e924acc3408cae2|branch|49806268e658ea96|4d694e8490b66e3b|2c530c1562a7fbd1|1767391936||t19949.3753740696s|f1ffc4cabacf637d|1101|qs|local|vector|groups||0.001|| -submission_data_10d3efcd333816d3|branch|55154df010639102|185fb209a0f85e93|49bbd975dc99112b|-1183411054||t19949.3753741265s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.003|| -prediction_checks_6417c297588786d0|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|ba79af2f20a2209b|122245990||t19949.3753753599s|e06562061609e01a|338|qs|local|list|prediction_checks||0.13|| -groups_088d82dee67e2773|branch|2c97149d7ddb2286|4d694e8490b66e3b|2c530c1562a7fbd1|-1714877224||t19949.3753755683s|277de3e1f452148b|1218|qs|local|vector|groups||0|| -groups_0b52c0566bb774c2|branch|feb8e412abe2bb5b|4d694e8490b66e3b|2c530c1562a7fbd1|77204877||t19949.3753759904s|6e1dcfc1aa582c14|1109|qs|local|vector|groups||0|| -augmented_data_4e3246fac39f5e74|branch|7c1039694a71cf26|317a6b9857648af8|01e5128b4a269696|1173911966||t19949.3753767526s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.014|| -groups_e762e25d5468ebbe|branch|84ab397c825e002b|4d694e8490b66e3b|2c530c1562a7fbd1|1477144464||t19949.3753766777s|35f88461d872da97|1225|qs|local|vector|groups||0|| -groups_0e31c90bfa2ccd6b|branch|791f20f38e073aa0|4d694e8490b66e3b|2c530c1562a7fbd1|-2131912977||t19949.37537677s|46b3908c2ebc34ce|1183|qs|local|vector|groups||0|| -submission_data_69d487e3db58565a|branch|a9979312a7865a31|185fb209a0f85e93|25b95d291bffbab9|226694932||t19949.375376927s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.002|| -submission_data_c1e730a18434d7b9|branch|4f62921cfade2c47|185fb209a0f85e93|6e5cedb5ae8a1086|1803370634||t19949.3753777498s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.003|| -groups_1fa1d945e6c772ce|branch|37631988fc7711ae|4d694e8490b66e3b|2c530c1562a7fbd1|1712528803||t19949.3753780638s|8ef8d731f7e2a8d9|1157|qs|local|vector|groups||0|| -submission_data_e9426416a23ed079|branch|cd325a4b682d4ad0|185fb209a0f85e93|f5deb3e49c801f5e|-1538516375||t19949.375378872s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| -augmented_data_5eaee7e9b564dbff|branch|1ca0215bb81217d1|317a6b9857648af8|afbcfabd57ef2a4b|1062317350||t19949.3753795926s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.014|| -submission_data_d484a069be940d8d|branch|3282c45dc46c2290|185fb209a0f85e93|d1df559c4794e2ab|539130065||t19949.3753806491s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.002|| -submission_data_a371e4c392dfbfee|branch|6e3c117debdb66df|185fb209a0f85e93|7b2ea0629c9bf174|421514549||t19949.3753810326s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.002|| -validated_augmented_data_e4821dc42e2c5358|branch|5d69daf35be73efe|e57a32141c4128a5|4cf981ae89f6bcfb|854183564||t19949.3753810575s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.092|| -submission_data_c21bf65bd1ba1e44|branch|772c7a54c5d99020|185fb209a0f85e93|fcfcd2db1fc522df|1980411589||t19949.3753823592s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.004|| -augmented_data_643039c30c28b2e4|branch|ac027c2739d4af55|317a6b9857648af8|fe7f0d90337b2302|-1700521418||t19949.3753829775s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.028|| -augmented_data_20a814eac57e8939|branch|9663339f9e6dc1c7|317a6b9857648af8|b084cb7bb31b2397|185905431||t19949.3753835213s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.043|| -submission_data_cfad8e802be4b918|branch|b9c585a4d0f23478|185fb209a0f85e93|bdb0f6c0e90a1255|-1198156038||t19949.3753845082s|123ce49f82eb3e1b|315|qs|local|list|submission_data||0.003|| -augmented_data_546b9e1c3f2cef3f|branch|d659f1af7d66a442|317a6b9857648af8|98624251e41146da|636181947||t19949.3753838556s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.014|| -validated_augmented_data_27757fe2eb386a66|branch|93366da51fbc4bb4|e57a32141c4128a5|a62c71c9f0eb2d60|1132267729||t19949.3753825647s|da9a4b2311a6a609|1865|qs|local|list|validated_augmented_data||0.063|| -augmented_data_0beddfbd766f70da|branch|1a6931ec8da76b72|317a6b9857648af8|e232f93e4d1a4ee9|510181413||t19949.3753825994s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.012|| -augmented_data_a4483f2a767d5aaf|branch|1e7ac5fa225c5396|317a6b9857648af8|f4170f1a45f87b70|1774797506||t19949.3753852221s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.018|| -augmented_data_503c983df9b5e872|branch|2d36bb73d2db8346|317a6b9857648af8|9a019fa074f2b3d6|-1226357225||t19949.3753924123s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.011|| -prediction_checks_a6290412d7d779d3|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|5197f4d6c247f960|220262328||t19949.3753931537s|e06562061609e01a|338|qs|local|list|prediction_checks||0.079|| -validated_augmented_data_8474cf55fb21d09f|branch|9e93c9f3a8c5a5f9|e57a32141c4128a5|fa75da15ed75db09|1490447809||t19949.3753931031s|b4af58b29460080b|1863|qs|local|list|validated_augmented_data||0.064|| -validated_augmented_data_72d3814de55b5505|branch|0a3cb277cc85158d|e57a32141c4128a5|49b3a35c840b7584|1444637751||t19949.3753933203s|9231b6bf737058e4|1862|qs|local|list|validated_augmented_data||0.066|| -validated_augmented_data_6f413491dbd2d303|branch|2ff0f793d4e3e082|e57a32141c4128a5|6a6795bac49dc517|-1006021256||t19949.3753939162s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.062|| -augmented_data_e10b48f0f0bf716d|branch|b71c4c192539fb8c|317a6b9857648af8|a844d58f2a3dc3fe|-438057098||t19949.3753955123s|ac5883799cfc915b|301|qs|local|list|augmented_data||0.015|| -validated_augmented_data_7b3fa5fa8943568d|branch|7a2e774888c77b5a|e57a32141c4128a5|01e2f29872db8501|1279983811||t19949.3753960495s|25239067ea5664cc|1858|qs|local|list|validated_augmented_data||0.063|| -validated_augmented_data_0bd8e9829b26fcfa|branch|b19a28406dcf64f0|e57a32141c4128a5|7072cb297ca44c44|2135838424||t19949.3753963554s|8e6901a343cb1030|1785|qs|local|list|validated_augmented_data||0.071|| -prediction_checks_da296d4e9b4f06ff|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|9b839ebb9293afa4|1689006660||t19949.375396817s|e06562061609e01a|338|qs|local|list|prediction_checks||0.094|| -prediction_checks_f7f0a435d54722d1|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|208bddd9bd77f0ee|1493973532||t19949.3753968021s|e06562061609e01a|338|qs|local|list|prediction_checks||0.067|| -validated_augmented_data_ac0693aebac6346f|branch|254a0cfd86390e9a|e57a32141c4128a5|9cd52e0bc219d5a4|-390198929||t19949.3753971877s|d81b32700284785a|1794|qs|local|list|validated_augmented_data||0.084|| -validated_augmented_data_43076db6a52ca79b|branch|1872c564186f3e53|e57a32141c4128a5|8038101408bddeab|-1625332885||t19949.3753974945s|7c8545b012e7f6a7|1757|qs|local|list|validated_augmented_data||0.058|| -groups_55a573c0c9756df5|branch|2a556a65f076531f|4d694e8490b66e3b|2c530c1562a7fbd1|-1696413220||t19949.3753984001s|2c519d8274f85a61|1121|qs|local|vector|groups||0|| -groups_8db2c0bc590935c7|branch|9c86d4d61557feef|4d694e8490b66e3b|2c530c1562a7fbd1|-31666136||t19949.3753986753s|116c3e4567c62315|1251|qs|local|vector|groups||0.001|| -groups_190d884b55361721|branch|23543ead8d6f5dcc|4d694e8490b66e3b|2c530c1562a7fbd1|-1442606148||t19949.3753992612s|c0ee6b9295e8cce5|1140|qs|local|vector|groups||0|| -groups_adcc100ea034dea8|branch|1cf22132207f4d95|4d694e8490b66e3b|2c530c1562a7fbd1|-630288736||t19949.3753999714s|c82b0ba046cbf17c|1134|qs|local|vector|groups||0|| -prediction_checks_3834d75ce1622e43|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|70e1727833cffa06|-1923087910||t19949.3754004731s|e06562061609e01a|338|qs|local|list|prediction_checks||0.162|| -prediction_checks_14fe32d2bbb12ab2|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|620a9ba434864328|457890300||t19949.3754011682s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.151|| -prediction_checks_14940da1f8d26eeb|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|666878d9bc39e592|334764597||t19949.3754018035s|e06562061609e01a|338|qs|local|list|prediction_checks||0.153|| -prediction_checks_768767299a16b8d9|branch|3a8189fea3e8e11f|ca3c76dd51ebc9f7|61a0f4f00bb7bf5a|-522538681||t19949.3754019528s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.107|| -prediction_checks_5a9686b922acaa97|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|053d7d2366276e88|2018202929||t19949.3754024225s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.15|| -submission_data_5ba29e88d246e5be|branch|26e5887b319d9bd8|185fb209a0f85e93|021b4ae21ccd276b|1242133020||t19949.3754022055s|c206c709607ca69c|343|qs|local|list|submission_data||0.007|| -submission_data_d01d31b979b9e107|branch|c576910a8524fbb0|185fb209a0f85e93|b170fa0ff4b486aa|1618337975||t19949.3754030878s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.012|| -submission_data_55377553ada8d481|branch|fc8fbf2e5a03247c|185fb209a0f85e93|5d5bb23cff2f5591|939576027||t19949.3754035256s|0e9d2d7bbe99bbf8|298|qs|local|list|submission_data||0.003|| -submission_data_78d8ed9aab8be518|branch|1c606f30fe8e3be6|185fb209a0f85e93|6afa9d719f5ff49d|-1253296019||t19949.3754043345s|0e9d2d7bbe99bbf8|298|qs|local|list|submission_data||0.003|| -groups_e57cd1596d7433bd|branch|dc0073b9da4f9f0a|4d694e8490b66e3b|2c530c1562a7fbd1|1612447534||t19949.3754049088s|1135a7f5c84b92f5|1161|qs|local|vector|groups||0|| -augmented_data_5fa6d68bd1d118e4|branch|c9bafc6da1bb7110|317a6b9857648af8|a8d356ceb7e00236|1482436320||t19949.3754050991s|3b08e2f63a5e0c0d|300|qs|local|list|augmented_data||0.014|| -augmented_data_4dbd710d176fea90|branch|9acd4cf7cd8d8a19|317a6b9857648af8|bc810fc044fd3a42|-2089687378||t19949.375405483s|d4b6668dfa3b2f11|340|qs|local|list|augmented_data||0.029|| -groups_bdf28235c498b6c2|branch|c9430632ee1ba399|4d694e8490b66e3b|2c530c1562a7fbd1|1765472496||t19949.3754056223s|f1ffc4cabacf637d|1101|qs|local|vector|groups||0|| -groups_7c931e29282c9526|branch|a557827fe8489b2f|4d694e8490b66e3b|2c530c1562a7fbd1|-46935043||t19949.3754062667s|6a398f62def3f957|1085|qs|local|vector|groups||0|| -groups_e512988b6cb4e944|branch|0aad82d96bfacffe|4d694e8490b66e3b|2c530c1562a7fbd1|-1629050825||t19949.3754067304s|7fa8ca5f7421ecac|1108|qs|local|vector|groups||0.001|| -groups_8147143a1eba178a|branch|428838c7489d713c|4d694e8490b66e3b|2c530c1562a7fbd1|-737433976||t19949.3754066852s|bd1fd247b1ebd809|1116|qs|local|vector|groups||0|| -augmented_data_2781818264b93144|branch|5f2e7fc329ee4ab8|317a6b9857648af8|383373270b3ef8be|-238784792||t19949.375407732s|ac5883799cfc915b|301|qs|local|list|augmented_data||0.016|| -validated_augmented_data_1087031648b3fe42|branch|c8cad52ad5aed5f2|e57a32141c4128a5|8eefb7eea42dcfdb|-1657413499||t19949.3754079925s|0c85a5025fbda6cf|1831|qs|local|list|validated_augmented_data||0.062|| -submission_data_f678d8bbfa8c3dcd|branch|5b47e3ed56f572b0|185fb209a0f85e93|fd85a2deb91f5630|2008523040||t19949.3754085195s|24c2ba8d4fe0ab05|322|qs|local|list|submission_data||0.002|| -augmented_data_303e1dd67df00bfe|branch|4ba3bc2fe158e276|317a6b9857648af8|1c8655bb3e7963ae|-2037706642||t19949.3754084762s|ac5883799cfc915b|301|qs|local|list|augmented_data||0.019|| -submission_data_d3509bfb9ff63ff2|branch|bf8d650b4a40ad40|185fb209a0f85e93|a4fd043de28f2090|224235768||t19949.3754097475s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| -submission_data_8a21da0a7c8bbc47|branch|4c078d5e8386b5b6|185fb209a0f85e93|c64cc28306d47616|-1719827174||t19949.375409821s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| -validated_augmented_data_8182f8fee6285992|branch|626c9c3247cad9fd|e57a32141c4128a5|8a5281ff10162a62|1038597910||t19949.3754110287s|67985f2869b1c876|1802|qs|local|list|validated_augmented_data||0.104|| -submission_data_414a589a505799c9|branch|a3f7722884e52568|185fb209a0f85e93|8d860d77d3c98686|-363864388||t19949.3754112283s|23c5199cbe97be21|325|qs|local|list|submission_data||0.006|| -submission_data_b908ad656db71b47|branch|3c354dd3225ac78e|185fb209a0f85e93|8a66008ad4fe4eb0|1737153631||t19949.3754114789s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| -validated_augmented_data_5645988804c969f3|branch|37b4fd20cfaf431e|e57a32141c4128a5|2d5de02c7c47735f|-429203758||t19949.3754123687s|1d7b63a9fbaf259a|1753|qs|local|list|validated_augmented_data||0.064|| -augmented_data_b3b046b3d9f0404b|branch|8b588692a74eb19e|317a6b9857648af8|7f683b8561fe3164|332131791||t19949.3754127745s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.015|| -augmented_data_e462bf98e202e010|branch|5dcf992ae9f17b17|317a6b9857648af8|ec77deff3afba879|248516868||t19949.3754130145s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.015|| -prediction_checks_80fd4547fe6634e7|branch|549ae252f79a7252|ca3c76dd51ebc9f7|6501ef04e78c4dd6|1346322487||t19949.3754135822s|9fa82258c19da069|337|qs|local|list|prediction_checks||0.101|| -augmented_data_1ffce449b603be2c|branch|fe423697aca617ed|317a6b9857648af8|8dc9f1554196618a|-2046600006||t19949.3754143274s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.026|| -augmented_data_f2ddc44003a4e22f|branch|89d6a511ef1b0aaa|317a6b9857648af8|661b8f7557061709|-805475754||t19949.3754146497s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.021|| -validated_augmented_data_5463aa0b8d1ce08e|branch|1a5743ee28d271b6|e57a32141c4128a5|a170e8dc3f26c916|-617619000||t19949.3754151488s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.06|| -validated_augmented_data_cc38b90d9cabe0a5|branch|c74431f2f95de3f5|e57a32141c4128a5|d5dbe9c68db14d39|-1470199483||t19949.3754151235s|7c8545b012e7f6a7|1757|qs|local|list|validated_augmented_data||0.107|| -augmented_data_4df7fadbd7e6328b|branch|ac1b45ed53ce1492|317a6b9857648af8|423dcc0c99d7ef35|153030853||t19949.3754164577s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.018|| -prediction_checks_953f238c0a384129|branch|3a8189fea3e8e11f|ca3c76dd51ebc9f7|4757d4dd176eac5e|-538099911||t19949.3754165505s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.104|| -prediction_checks_7055180cd0db41f7|branch|a03bd0f3805cd5ad|ca3c76dd51ebc9f7|d2c6b032f752b2f7|-22655297||t19949.3754172588s|ed14b4d8526ebe37|334|qs|local|list|prediction_checks||0.151|Failure to validate that column scenario is of type integer.The col_is_integer validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1| -groups_354a970b166ce349|branch|2688466acee603eb|4d694e8490b66e3b|2c530c1562a7fbd1|-648148712||t19949.3754179069s|f1ffc4cabacf637d|1101|qs|local|vector|groups||0|| -validated_augmented_data_470133da8457309d|branch|9eb32b2b3dbb923d|e57a32141c4128a5|eed3aee83ff45921|620642453||t19949.3754183476s|bcdd65b724f2e4b3|1788|qs|local|list|validated_augmented_data||0.112|| -groups_bb47c8c83187e878|branch|4df28da22d7b7d6a|4d694e8490b66e3b|2c530c1562a7fbd1|-518476026||t19949.3754189641s|b71ff5e5dba18ad6|1093|qs|local|vector|groups||0.004|| -validated_augmented_data_7ca5c927372a5f77|branch|309b9833b97c3a80|e57a32141c4128a5|e91a60c68d8bedd3|1277326500||t19949.3754193173s|79e59bc409d2591a|1873|qs|local|list|validated_augmented_data||0.118|| -validated_augmented_data_908849a82eb75798|branch|d7c4067497e47785|e57a32141c4128a5|eb3836add25ea943|-1709921278||t19949.375420169s|cbe36289148c407c|1793|qs|local|list|validated_augmented_data||0.097|| -groups_acab38c01d381dc5|branch|15ba2e6416921a87|4d694e8490b66e3b|2c530c1562a7fbd1|2072547448||t19949.3754206133s|69fba58f228d9efe|1122|qs|local|vector|groups||0|| -prediction_checks_72f1e8983d0b1f14|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|01e3c50611a3ef25|-1271860994||t19949.3754213397s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.145|| -validated_augmented_data_f6f7bbcd36d59b92|branch|311e37d440d276dd|e57a32141c4128a5|016826bf515a2b13|-514921080||t19949.3754214831s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.107|| -prediction_checks_c1c9284550b3bd8a|branch|3a8189fea3e8e11f|ca3c76dd51ebc9f7|4be5067c107b2fe2|-1250091347||t19949.3754222322s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.15|| -submission_data_9a4587b0f573b249|branch|bcf67c57c30eb99c|185fb209a0f85e93|3b06d888ea2a16bf|-1758408902||t19949.3754225927s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.002|| -submission_data_aaed176b4156bb8b|branch|9acddbab22fb7e1a|185fb209a0f85e93|0ede5a999373ffda|-1324486960||t19949.3754228004s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.002|| -prediction_checks_4b5e5108e5d97907|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|b771d860b9286976|425152993||t19949.3754229545s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.128|| -groups_6c5c8213cbc8c00f|branch|e6bd3851a2774f92|4d694e8490b66e3b|2c530c1562a7fbd1|1519818862||t19949.3754243683s|03165f80a2cd5d1f|1120|qs|local|vector|groups||0|| -submission_data_b968518f290514db|branch|d3f5d5b602dcb89f|185fb209a0f85e93|18ca24dd91e6c207|1277303710||t19949.3754246098s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.002|| -prediction_checks_54117c3aea8e4e7c|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|90fae58fcb5992e1|-2058167428||t19949.3754251609s|e06562061609e01a|338|qs|local|list|prediction_checks||0.096|| -prediction_checks_7e996c9072e4fe06|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|95c8626ece254c10|1080105943||t19949.3754251796s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.129|| -augmented_data_7488dfb9e8e1cfad|branch|b9c630afa18bb6da|317a6b9857648af8|e8e9112fade08310|1684110260||t19949.3754256862s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.018|| -groups_16b96479373cd3f8|branch|c6d59271d275fd09|4d694e8490b66e3b|2c530c1562a7fbd1|169661459||t19949.375426105s|89d13bbcff3b1d51|1232|qs|local|vector|groups||0|| -augmented_data_20f21ba792a67cad|branch|5be5de9158743d16|317a6b9857648af8|e4dcccfdef188b8f|-1405608228||t19949.3754262475s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.016|| -prediction_checks_44b515bdd947b0b6|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|8170fb4ffe96c6ba|-157747547||t19949.3754278046s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.161|| -groups_e683db7ad52ea5a1|branch|510392f0e4f81666|4d694e8490b66e3b|2c530c1562a7fbd1|81812004||t19949.3754281237s|aee7d81f36813c54|1187|qs|local|vector|groups||0|| -submission_data_eaf93d8163e8e12f|branch|f0e4047a9ae58c60|185fb209a0f85e93|ce6116cd04fa070a|-1791277230||t19949.3754286648s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| -groups_4f91becb1fdf3920|branch|45ce9e137d23ca28|4d694e8490b66e3b|2c530c1562a7fbd1|-719255964||t19949.3754291533s|76bed936d3449236|1137|qs|local|vector|groups||0.001|| -submission_data_7c2a0ab432740525|branch|ab6339a6b3abb550|185fb209a0f85e93|1bb6ccea2d1bd748|-1275071540||t19949.3754293746s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| -augmented_data_39c5c031a1c6818e|branch|ca4a74b6c811cb84|317a6b9857648af8|df4c593625f5e9f4|-1199395604||t19949.3754295153s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.028|| -groups_6d8ba11ea2a12431|branch|23a6fe0a7aa39472|4d694e8490b66e3b|2c530c1562a7fbd1|-509560140||t19949.3754310912s|c82b0ba046cbf17c|1134|qs|local|vector|groups||0|| -validated_augmented_data_2e967cdadf8de976|branch|7e2a76ef053955a5|e57a32141c4128a5|870fca26da06b0b3|814046519||t19949.3754313911s|cbe36289148c407c|1793|qs|local|list|validated_augmented_data||0.061|| -validated_augmented_data_98d11dab0bd4a480|branch|9a54b5b11082df88|e57a32141c4128a5|33cba1a9c7e9c960|-2023564847||t19949.3754334393s|d755b320cb28ca69|1786|qs|local|list|validated_augmented_data||0.118|| -groups_4cb4d5dbc89bc7e3|branch|5c9366930482d4cf|4d694e8490b66e3b|2c530c1562a7fbd1|1355729933||t19949.3754330686s|0f87da251090a5e4|1111|qs|local|vector|groups||0|| -groups|pattern|926f75b351a765af|4d694e8490b66e3b||1165951493||||140445|qs|local|vector||groups_22839266168d3abd*groups_31649958eeba71da*groups_f639ef27702ecb7e*groups_59f13eb58c73cf34*groups_6c3d37bd2c49dea0*groups_337a56a62ef09414*groups_1dea730f03a8668d*groups_b9fd491424833b33*groups_bb63aeb96cd4079d*groups_b0d8fdcab6cfe19f*groups_01138c7377535b92*groups_4c27c02f93e27031*groups_27657ad318930967*groups_5936e6d1e5aa8649*groups_61a24986016247a8*groups_ce4b9b6da3b8de19*groups_f6746841fc9919a7*groups_5e31e12fb9fe485f*groups_c488c85fca52d0ef*groups_ad105925e5fa67f2*groups_8ed81d55951232af*groups_06c0fb2af5837489*groups_b9647c331d5d9e08*groups_5df8fce42b3ee4e6*groups_903ca1cc516d9347*groups_399905bf8d605a0d*groups_937bfa57cdecba0f*groups_eafe9025b05561fd*groups_3244ab6e4f58c015*groups_110bc0420636fd74*groups_6fdd24b4b553a943*groups_8bdf1cad23bf5c0e*groups_864e4228fdd2a186*groups_5ee5a6103ceebf0e*groups_fb818d0c27cb1507*groups_d9c9b4899505dde6*groups_c5210b3894defa63*groups_6c035e9ced6a276f*groups_5961886c48d26cbc*groups_6254864b4a88a706*groups_d6a567634fcc7b67*groups_12cc0b31d19e2de6*groups_e9b5b48b2e8c266e*groups_b2796b98afb15ac3*groups_e8ed7d87e7b33e3e*groups_d1523ed5a6f7bf0d*groups_e04ba1e58563a7c6*groups_2072a2f743b21a67*groups_a116716c8d69c179*groups_12543c8e7f565cf4*groups_929965a1319d1732*groups_029477dd3e6baf90*groups_09737a657d0379e1*groups_dfd6f2472b59cd12*groups_659b04fcc8ed74a1*groups_74935028ebc6c97e*groups_6e4cab2f94f1eecb*groups_e4f2d9f951e4f36e*groups_c4b1d2ca02e6889c*groups_aa46637746473dc5*groups_ea4d34aa386d9e89*groups_e60fc457970eaebc*groups_1542a58b325665b6*groups_b5f95e1d69e9e6e5*groups_f2d3c45af1a685a2*groups_aa74e9944849511d*groups_26286fe6d4cfcf53*groups_467188f36c417525*groups_776ffb0736cad1e3*groups_28e85290fd9a97a0*groups_538d070775df006f*groups_196c1b0db8d0c941*groups_aca2aac0cc1dac7a*groups_3be2ddd9364a1e92*groups_4c516eff5ce59f29*groups_402dcae78f9ff340*groups_15ea0c1b16182003*groups_35a67b44c8e0cd10*groups_304c9b29ff5e1c2e*groups_9cded7f1ee6a7caa*groups_94f61bef3269dbb5*groups_100ea6d1fa47d7a2*groups_71bde056c79c3a73*groups_884432134cabb2f8*groups_3dcd0bf346bdfe4c*groups_70d22f79bdfb3691*groups_1c4067afea28309d*groups_c2f81073ae65961c*groups_c354acfdc22e2f16*groups_8c72eac004839ff1*groups_56897df71d5e7f55*groups_054d3b4ec3aa78a3*groups_802a1a0901cbe93d*groups_4b8096d473593db9*groups_e4b5d695c32741cc*groups_4e1de724ede801d3*groups_0e900f63a62b1200*groups_5766a2e76218a77c*groups_8cb26e796be65b8d*groups_088d82dee67e2773*groups_e762e25d5468ebbe*groups_0e31c90bfa2ccd6b*groups_1e924acc3408cae2*groups_0b52c0566bb774c2*groups_1fa1d945e6c772ce*groups_8db2c0bc590935c7*groups_190d884b55361721*groups_adcc100ea034dea8*groups_55a573c0c9756df5*groups_e57cd1596d7433bd*groups_7c931e29282c9526*groups_e512988b6cb4e944*groups_8147143a1eba178a*groups_bdf28235c498b6c2*groups_bb47c8c83187e878*groups_354a970b166ce349*groups_acab38c01d381dc5*groups_6c5c8213cbc8c00f*groups_16b96479373cd3f8*groups_e683db7ad52ea5a1*groups_6d8ba11ea2a12431*groups_4f91becb1fdf3920*groups_4cb4d5dbc89bc7e3|0.026|| -submission_data_7622158c38905307|branch|751cd2984ce88fa7|185fb209a0f85e93|35aa7a4e38dd9e22|-1173349178||t19949.3754328506s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| -augmented_data_93364e8bf0cc1932|branch|f7959bf06fb22d24|317a6b9857648af8|b8d3c3eeccdeba7a|-220606229||t19949.3754349672s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.029|| -submission_data_8dc4e1ab611a6f30|branch|c6daf241805dc856|185fb209a0f85e93|bcb7eaf6983e5335|1791547781||t19949.3754348758s|ff44d5a1f08d1b9b|332|qs|local|list|submission_data||0.002|| -augmented_data_893ecccabfdde0b5|branch|efd7498b34f87193|317a6b9857648af8|4bb571d4a8a30795|1757056477||t19949.3754319818s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.02|| -validated_augmented_data_a454c526ce6a7563|branch|cdf6605efb551091|e57a32141c4128a5|5ca385fb5f8ea2a1|2003589109||t19949.3754326891s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.073|| -submission_data_08082ae7eec62447|branch|6dda0180c84c2030|185fb209a0f85e93|3ab9a3f2bea8a783|927429982||t19949.3754320671s|6f5955ab594f49f2|329|qs|local|list|submission_data||0.003|| -augmented_data_b7ede6893a41ad76|branch|da69ad95ca37a245|317a6b9857648af8|d1f6c657b657763e|-458125690||t19949.3754421264s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.011|| -prediction_checks_67d00368220eb536|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|3db80a7fe99db189|-10954567||t19949.3754425845s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.073|| -augmented_data_ae7c054e8003ed7b|branch|5eb450ef4e6c8448|317a6b9857648af8|fbe852da3482cf26|388162552||t19949.3754426545s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.011|| -prediction_checks_035734ce81259701|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|06476c76b8966788|1868456531||t19949.3754430877s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.123|| -validated_augmented_data_9bc03c8aa732b3a4|branch|f11745d08b190433|e57a32141c4128a5|51f22e3eb4a03020|1666774401||t19949.375443363s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.065|| -submission_data_ed4a1fe06231ac91|branch|a79b9ee25f32663c|185fb209a0f85e93|00b98512ec7bf7b3|262799729||t19949.3754441517s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.005|| -submission_data_ddd3bfcd088d56d0|branch|b0c02436937872cd|185fb209a0f85e93|45c7fd6916b360b8|1016354597||t19949.375444844s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.003|| -submission_data_f9abacb29d723377|branch|f461fad0dbaafbdd|185fb209a0f85e93|a8b58a5434d12029|-1084130156||t19949.3754463722s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| -validated_augmented_data_476d0eafc82a0e28|branch|72a4bdf6ac6ee406|e57a32141c4128a5|204354e394bfe3c8|1957146451||t19949.375446487s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.139|| -augmented_data_53a7d2f12c72aa61|branch|a391316c1db2ecd4|317a6b9857648af8|1ff8a2875cc3e942|1295747323||t19949.3754467706s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.055|| -validated_augmented_data_da860057b64ca611|branch|af2ace5023e758f8|e57a32141c4128a5|acb5ba37163ff897|-955920786||t19949.3754470089s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.16|| -augmented_data_d8f5d08715fe0a23|branch|7d2591fdd2225836|317a6b9857648af8|84a352bf3b9581cb|-108531366||t19949.3754465739s|b3acff78117e63c5|263|qs|local|list|augmented_data||0.018|| -prediction_checks_230fcfb345ee5826|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|5dac9a072a2ce7d2|-984971786||t19949.3754476085s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.079|| -validated_augmented_data_49f082d1c52a7881|branch|2efcf62e93f6d18b|e57a32141c4128a5|95b3ba99630fbadd|-1433708132||t19949.375448009s|deb25643d5e2e509|1875|qs|local|list|validated_augmented_data||0.105|| -prediction_checks_5c80e0b03f13a3fa|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|090e1d659142bbb0|1495864727||t19949.3754486232s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.137|| -prediction_checks_3dbf9f9f2194e557|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|66a0705ba7cc94a2|341632338||t19949.3754510855s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.117|| -augmented_data_6198c2501a919193|branch|c3e669d0de403738|317a6b9857648af8|8dcd0134cfd1b30b|-770877200||t19949.3754512618s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.02|| -prediction_checks_07b643b3eb071c34|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|eb348b48731858e7|-160060153||t19949.3754517329s|e06562061609e01a|338|qs|local|list|prediction_checks||0.093|| -augmented_data_8af9a3b0214d1fb2|branch|a60bd1b0b6bc80dd|317a6b9857648af8|2000a012ac6dbdb6|1223036253||t19949.3754519754s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.027|| -validated_augmented_data_d8e06ddb6335b4d4|branch|47ff15816c9f2fb2|e57a32141c4128a5|c465037441b014b9|980171644||t19949.375451774s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.09|| -validated_augmented_data_7fbf893a6e53d76b|branch|17003ab4cf2a5341|e57a32141c4128a5|9002af3bcbda0320|-1548574429||t19949.3754520039s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.086|| -submission_data_db8ecdfdcc51b31f|branch|52dbd3022c01cc68|185fb209a0f85e93|2ba07583c7688520|-24379135||t19949.3754539727s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.006|| -submission_data_93f3c69aec7c16d7|branch|d89bbe638bb1ea8e|185fb209a0f85e93|2ec3d8bf95f9afaf|1034466213||t19949.3754545734s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.002|| -submission_data_ab6d698b4b9cf6c7|branch|cf896075cbcc4668|185fb209a0f85e93|8bafad7f281bd3f3|-870151684||t19949.3754546931s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| -submission_data_630aab51d0a68186|branch|e81f09f281ac5860|185fb209a0f85e93|968761603c367251|-1952049964||t19949.3754547345s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| -augmented_data_ec53d74127fdfaac|branch|cef5d0a6fb0d0699|317a6b9857648af8|6dfa95c1e2945a3b|-1762197901||t19949.3754551187s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.013|| -augmented_data_528fba3a0e8b5dcf|branch|730289366474b035|317a6b9857648af8|79f333db16386d0c|-730060709||t19949.3754573244s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.013|| -augmented_data_4f324335760aa795|branch|0d7df96923f7330c|317a6b9857648af8|2792c25c0137dd43|666757600||t19949.3754575366s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.013|| -validated_augmented_data_d9fcb25c1333f3a7|branch|6dd7f44f44d0236c|e57a32141c4128a5|cd51f397e8ba9f38|-1611955567||t19949.3754579914s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.095|| -augmented_data_7dd25987a9d0426b|branch|80eedc2637dbd3f0|317a6b9857648af8|b69e99a6e9ac4e30|-1191857110||t19949.3754575989s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.035|| -augmented_data_a3e1d41cbb153a53|branch|3da8f7ebd4392a48|317a6b9857648af8|66f70389aa4a0935|-1391244847||t19949.3754578724s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.038|| -prediction_checks_d443e15f296dfbda|branch|fc704b2071f69cef|ca3c76dd51ebc9f7|b7c95133e78dc2fe|1688161445||t19949.3754591966s|3fda9b692b1d9985|330|qs|local|list|prediction_checks||0.181|| -submission_data_1a413e509a10128a|branch|c4fed3f1600bcff2|185fb209a0f85e93|6f4ab7c2dca978bd|-372114300||t19949.3754593608s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| -prediction_checks_bb90bbeb14b83e7a|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|1247d7e164309795|934837825||t19949.3754621403s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.08|| -validated_augmented_data_0a5feb8588fbf968|branch|5e8378b36a1b0b87|e57a32141c4128a5|ade96947d9202729|-1833371592||t19949.3754621475s|5fd1d38a27b446ca|1796|qs|local|list|validated_augmented_data||0.092|| -validated_augmented_data_659adbd2cad83944|branch|6fa30849126ea474|e57a32141c4128a5|705e453523d5d63a|82214152||t19949.3754623277s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.067|| -validated_augmented_data_9de7fc3a4982cb1e|branch|f22b2fa41914e0a5|e57a32141c4128a5|062be35fe6ca03cf|-339025062||t19949.3754628788s|6613dbc0d94c90e5|1784|qs|local|list|validated_augmented_data||0.066|| -validated_augmented_data_a50616f549c00008|branch|557c652cff534899|e57a32141c4128a5|4fcb98099ff0db36|-1467557189||t19949.3754634727s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.128|| -validated_augmented_data_77cf3046b6ea9f25|branch|88dacad7aee78f30|e57a32141c4128a5|420bca1ddda57ca2|1137486348||t19949.3754635493s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.078|| -submission_data_8a3535590fb7a64f|branch|7569ed24164ab7f4|185fb209a0f85e93|73fd16ad6996bb4f|1544629861||t19949.3754654865s|24c2ba8d4fe0ab05|322|qs|local|list|submission_data||0.017|| -ManyEcoEvo_study_summary|stem|8b163046a143c869|99d497eaf35e5361|fbd98c68e769d40e|1257060077||t19949.3754663478s|5a28629799a8436e|42115|qs|local|vector|||0.681|| -prediction_checks_ecd6fb3d575017eb|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|556a070c8569aee6|-96714928||t19949.3754663043s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.09|| -submission_data_a3ef8e1cf4fc1d3e|branch|31625fdd79bd4a3c|185fb209a0f85e93|735e3c8d006c7846|-1190181872||t19949.3754666427s|24c2ba8d4fe0ab05|322|qs|local|list|submission_data||0.002|| -prediction_checks_0c71001ed42a2d7e|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|8716d59f50f9da66|-1136308144||t19949.3754666327s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.095|| -augmented_data_5f1a4d66abe5b614|branch|8470907e91d5e12d|317a6b9857648af8|0ea18f4d2b61d4f5|-2112541631||t19949.3754675498s|951e45bf59ec048d|341|qs|local|list|augmented_data||0.023|| -augmented_data_fd76c498df2c4759|branch|563033357deeb671|317a6b9857648af8|08a5c9d328da0c02|-66142448||t19949.3754691653s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.016|| -augmented_data_6127eae7ebece6b7|branch|f13b1360bb5fc11e|317a6b9857648af8|f58d17a0fbc0348e|-960531251||t19949.3754693213s|6f5955ab594f49f2|329|qs|local|list|augmented_data||0.011|| -augmented_data_e87531e69de6de76|branch|ecdc2b980fe95342|317a6b9857648af8|a57429af0ff91dfb|-408541073||t19949.3754693928s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.028|| -prediction_checks_3b29e3d6f1c55506|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|24a91a68c706bee7|-1744304914||t19949.3754694779s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.129|| -augmented_data_5bc96a88936f47ae|branch|9f3e8bca909a2f1b|317a6b9857648af8|401cd960925460d9|-804838755||t19949.3754699002s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.048|| -submission_data_2f641def928d855c|branch|bbe06cfcb46cc7b5|185fb209a0f85e93|412d848c4567790a|1054942926||t19949.375471824s|23c5199cbe97be21|325|qs|local|list|submission_data||0.005|| -prediction_checks_4479da5b73e3a7aa|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|a09ad4b78cd24154|-56028913||t19949.375472581s|e06562061609e01a|338|qs|local|list|prediction_checks||0.106|| -validated_augmented_data_9d9de3f38bc44a0c|branch|3f7885582fba8785|e57a32141c4128a5|ef718b86882a27a1|503067841||t19949.3754730481s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.088|| -validated_augmented_data_0cf5a62fc25cf42c|branch|44283b054bc81a24|e57a32141c4128a5|415adfc0c2c33039|776574767||t19949.3754728238s|c19d5c5cf79418b6|1795|qs|local|list|validated_augmented_data||0.094|| -prediction_checks_ee77728ceb227c01|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|4f3d149de0ec2022|1979881847||t19949.3754731662s|e06562061609e01a|338|qs|local|list|prediction_checks||0.163|| -augmented_data_c150b5fafc4bf5c9|branch|dd6d450d07cfa4b8|317a6b9857648af8|b411badddac923a2|1909055827||t19949.3754737057s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.062|| -validated_augmented_data_26c6c1b6b78ee087|branch|c6db3c0850b0866f|e57a32141c4128a5|8224c5454ec1393a|-677853779||t19949.3754737777s|2bdb7e9d5623598b|1876|qs|local|list|validated_augmented_data||0.099|| -validated_augmented_data_564f45ef7974034d|branch|1e5c044f54abfca7|e57a32141c4128a5|2b4ef1de61ed2cab|1612031492||t19949.375474623s|bcdd65b724f2e4b3|1788|qs|local|list|validated_augmented_data||0.075|| -validated_augmented_data_858381839be478cc|branch|fb5a502a53b21268|e57a32141c4128a5|43acd5cd06cea31f|-223678302||t19949.3754746586s|b50f9019a4f99b6a|1871|qs|local|list|validated_augmented_data||0.094|| -augmented_data_aa457f8cf21af899|branch|3a6dac9b647972a2|317a6b9857648af8|19eb54a454bad715|-195699468||t19949.3754768952s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.017|| -prediction_checks_b0ebcbb7a5f611cf|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|b3a9630dcf9a832c|-972884654||t19949.3754777682s|e06562061609e01a|338|qs|local|list|prediction_checks||0.144|| -augmented_data_dde7c5d3d99841ab|branch|947538a2fb877f41|317a6b9857648af8|ed64d6503351966b|-1567263300||t19949.3754777096s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.018|| -validated_augmented_data_7d7d61bc3d3b0321|branch|7757737f2ffedf31|e57a32141c4128a5|af19a168ea38923a|-884121882||t19949.3754780416s|74e1e0baef40f488|1750|qs|local|list|validated_augmented_data||0.104|| -prediction_checks_4dbd6d5c3a8a5aba|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|2213479c4384b388|-1992456068||t19949.375478596s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.142|| -prediction_checks_397ccc8b004ba737|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|034120d3d7edfedf|1681279553||t19949.3754789261s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.124|| -validated_augmented_data_0e9708a9e707c5cb|branch|4f9776eea70b5c5b|e57a32141c4128a5|32bce8935b3707b3|759282041||t19949.3754792619s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.088|| -prediction_checks_f88d699e1571310a|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|6bd58f1944816e82|1413638919||t19949.375479302s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.129|| -prediction_checks_d47f661c8d403250|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|ea2f6d108e3e2d7c|-1450443006||t19949.3754823324s|e06562061609e01a|338|qs|local|list|prediction_checks||0.143|| -submission_data_40d66275aacf908f|branch|3ac7606f3189b84a|185fb209a0f85e93|8b9c99cae9fe554e|1729189186||t19949.3754824287s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.006|| -augmented_data_261a623449d70bec|branch|eb5c018968020ee5|317a6b9857648af8|d786bce2f622e11e|-1870686107||t19949.3754825842s|ac5883799cfc915b|301|qs|local|list|augmented_data||0.041|| -validated_augmented_data_5f567328c9b5aa1c|branch|0ed93787abe8744e|e57a32141c4128a5|e4f3fe3ecdad1a09|-286593160||t19949.3754831262s|655c09970e168ce0|1866|qs|local|list|validated_augmented_data||0.113|| -validated_augmented_data_b4deac3379a953a3|branch|d348f7fbcb5afa26|e57a32141c4128a5|4002176f725f05de|899072667||t19949.3754835425s|bcdd65b724f2e4b3|1788|qs|local|list|validated_augmented_data||0.1|| -prediction_checks_e4e1cca5e54dc734|branch|c1440eef01c9ae66|ca3c76dd51ebc9f7|c650a775af75dd3c|-1881506862||t19949.3754838959s|ed14b4d8526ebe37|334|qs|local|list|prediction_checks||0.106|Failure to validate that column scenario is of type integer.The col_is_integer validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1| -submission_data_49903981a4fd481b|branch|e2feb3b7660b9379|185fb209a0f85e93|c74b16d1f0806863|1068508731||t19949.3754831984s|23c5199cbe97be21|325|qs|local|list|submission_data||0.007|| -prediction_checks_23946189e6712419|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|3e4c597585e428bb|1854849347||t19949.3754868013s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.088|| -submission_data_c5fdf77d54d739f4|branch|b0b1af1f682b165f|185fb209a0f85e93|04bff3b91abfaa6b|715393528||t19949.3754860065s|caf638a76037586b|314|qs|local|list|submission_data||0.002|| -augmented_data_cef237aeb12344a7|branch|bb80292806561cfb|317a6b9857648af8|2d7c8f3d12cbee41|-1910461303||t19949.3754862422s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.013|| -augmented_data_c39ecdfa85afc1c2|branch|535974748a043bef|317a6b9857648af8|26b490a2303c0b2d|-560459131||t19949.3754865775s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.013|| -submission_data_3a0bbc857bee2d9b|branch|cc755c0c0d2a8984|185fb209a0f85e93|7f9b73389c925b0d|2087025713||t19949.3754921046s|fabb80dff42d75cb|307|qs|local|list|submission_data||0.002|| -validated_augmented_data_58463e37ccc0c08e|branch|aeb09845396e50b3|e57a32141c4128a5|d4b54173856e3326|-574544240||t19949.3754925112s|566c6e1bd61faee6|1752|qs|local|list|validated_augmented_data||0.067|| -prediction_checks_11ac9f71c1761277|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|62d6c36d182b7c49|1491292772||t19949.3754926632s|e06562061609e01a|338|qs|local|list|prediction_checks||0.073|| -prediction_checks_33973b96da0fbab4|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|7a1b358638c701f9|1290212882||t19949.3754927733s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.075|| -submission_data_6ba8e08078a8f7b6|branch|138770975d43b9e6|185fb209a0f85e93|5b2cf7090cea4bc7|-1729461042||t19949.3754926862s|23c5199cbe97be21|325|qs|local|list|submission_data||0.002|| -submission_data_df2c29a9dd843f48|branch|5e3b2d1fae00007a|185fb209a0f85e93|ece7aa2e0dcd03d4|1948509652||t19949.3754940508s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.004|| -submission_data_75aca4f53f2ab0d2|branch|12f10d742132bc35|185fb209a0f85e93|0d2e8d489411fb71|-886194888||t19949.3754943727s|23c5199cbe97be21|325|qs|local|list|submission_data||0.006|| -prediction_checks_4e0841de931cf7bd|branch|3a8189fea3e8e11f|ca3c76dd51ebc9f7|06b4072276660ec1|465069463||t19949.3754946127s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.083|| -augmented_data_40012925a415f466|branch|a4149dc9866181d1|317a6b9857648af8|518e63bbf2b88435|937314942||t19949.3754948854s|e818f06db8013bcf|306|qs|local|list|augmented_data||0.012|| -submission_data_bce60e79045684a5|branch|d11bed28e003c9b8|185fb209a0f85e93|a82ec8ed508bc2d9|-253240625||t19949.375495339s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.002|| -submission_data_5de6a0343f4560c4|branch|2c3a1aebf8403a39|185fb209a0f85e93|c39c93c6cea68196|793745621||t19949.375495978s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.006|| -submission_data_e24bbdb632da37e6|branch|6be39a1625dc6bba|185fb209a0f85e93|c8743c13cef0edd2|-1227030749||t19949.3754954766s|23c5199cbe97be21|325|qs|local|list|submission_data||0.002|| -submission_data_2839b6a06f1c601c|branch|a2c7c612778d9512|185fb209a0f85e93|7d02d85dafc4839d|-515280791||t19949.3754965407s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| -augmented_data_823b6a652a2079cc|branch|bb886e8db19cca97|317a6b9857648af8|aebe5a650c6de567|-423105206||t19949.3754974354s|b8e2cd780a68e456|333|qs|local|list|augmented_data||0.013|| -prediction_checks_31b93d18d4b89447|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|181f67e9343dafd9|574462336||t19949.3754983138s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.104|| -submission_data_f7001a4b66ccf849|branch|7d6eefe8f4d908a3|185fb209a0f85e93|2bb9617c6d125a67|1317575403||t19949.3754985886s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.007|| -augmented_data_137b2b76e0c45b5e|branch|f0adf0831faba0e8|317a6b9857648af8|e20843b95e3a2df4|-528403711||t19949.3754986758s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.026|| -validated_augmented_data_6f48cfe4ef45ef3a|branch|16e63f4266eb24c9|e57a32141c4128a5|c5215f0211a8a4fd|-956466606||t19949.3754986231s|3131ac77a1639b81|1834|qs|local|list|validated_augmented_data||0.083|| -augmented_data_5faaa5257d5d2743|branch|50510dd5a9302049|317a6b9857648af8|c650c095ded3be21|-489366511||t19949.3754985046s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.022|| -submission_data|pattern|fe17e6a66cc900e7|185fb209a0f85e93||-142987808||||40235|qs|local|list||submission_data_22471f5da2cbe218*submission_data_a43e11dce5eed9f6*submission_data_29f7215b81560635*submission_data_bb08d0f95569a214*submission_data_ed34bc36b4450a90*submission_data_75a59c7e41c58ed6*submission_data_8ac85479d8b42647*submission_data_a1ba5bd4650bf75f*submission_data_a39d7081ee541725*submission_data_613fb0a37a099e4d*submission_data_301761c667e2d5b0*submission_data_c535ed69266eaed0*submission_data_ed4a1fe06231ac91*submission_data_ddd3bfcd088d56d0*submission_data_6801e351ca4c39d3*submission_data_430f3ca35070f0ec*submission_data_53b3ec526025527e*submission_data_33f1a36c64a5f560*submission_data_fdfbbb5ff66761b0*submission_data_b66a4b00e01c5a82*submission_data_9a1e21726c384b51*submission_data_508206396af0e729*submission_data_5a0d979e0b4d5c66*submission_data_98b8519dd449e5cc*submission_data_33530cce1581b5b9*submission_data_db8ecdfdcc51b31f*submission_data_93f3c69aec7c16d7*submission_data_259ad3704e63f7b8*submission_data_ab6d698b4b9cf6c7*submission_data_630aab51d0a68186*submission_data_ccf10e8d0be6bd9f*submission_data_3d6beb99b6d3d199*submission_data_1a413e509a10128a*submission_data_8a3535590fb7a64f*submission_data_7d120b7926ad30e8*submission_data_8692eda4655f564d*submission_data_3371a1d6cd702c74*submission_data_8d81d62b6fec8e7e*submission_data_192d15bd4983da14*submission_data_3a589773855064c7*submission_data_3691e06a5681ed0e*submission_data_a3ef8e1cf4fc1d3e*submission_data_51333a3fc2a7e70f*submission_data_d1014dc509b15f9c*submission_data_c473b68b3bb73d3c*submission_data_8ceb99d2547b31ef*submission_data_3fe257bf68c21aaf*submission_data_8ffa8c52eeac23d2*submission_data_7dff9d2f3d635937*submission_data_334208fc84791097*submission_data_2f641def928d855c*submission_data_17942410d59192dc*submission_data_792ce4925323d985*submission_data_b0a5a70b748e94b6*submission_data_24d491c39ea368b7*submission_data_49903981a4fd481b*submission_data_52f2aeac5fd8599c*submission_data_40d66275aacf908f*submission_data_c5fdf77d54d739f4*submission_data_144a43d2d6066b80*submission_data_27314d66917d666d*submission_data_ff8b413f5c50bba1*submission_data_0150d98feeb22db8*submission_data_6fc3b29a97d5c029*submission_data_88b0fd7ac3221325*submission_data_3a0bbc857bee2d9b*submission_data_0ea5ac9666e0546d*submission_data_1da9c93ef4bef397*submission_data_e7dd68d7ce3ad157*submission_data_7b0d47c8fb00d826*submission_data_5eb776ab5d25ef06*submission_data_2a6101cf0c542cc5*submission_data_15548df7da910d2e*submission_data_194d8f075df008b4*submission_data_5a410f0527982db6*submission_data_c3b896ea4392beec*submission_data_5fb58316ff86d978*submission_data_cabc08ff43b5175d*submission_data_3bf2bacb6fe00f56*submission_data_c6c08589990fc2ca*submission_data_0eaf0d4efbbf00b4*submission_data_75aca4f53f2ab0d2*submission_data_6ba8e08078a8f7b6*submission_data_bce60e79045684a5*submission_data_5de6a0343f4560c4*submission_data_e24bbdb632da37e6*submission_data_af46c00587380b6e*submission_data_1b2ddb7ee612d70e*submission_data_df2c29a9dd843f48*submission_data_6d9d205aefce25af*submission_data_8b86638833a86587*submission_data_d4e7a1027842b1f2*submission_data_90f9fa993be0eaac*submission_data_64445156e2cd2abe*submission_data_a867308ba179a527*submission_data_2839b6a06f1c601c*submission_data_10d3efcd333816d3*submission_data_c1e730a18434d7b9*submission_data_69d487e3db58565a*submission_data_f7001a4b66ccf849*submission_data_d484a069be940d8d*submission_data_c21bf65bd1ba1e44*submission_data_e9426416a23ed079*submission_data_a371e4c392dfbfee*submission_data_cfad8e802be4b918*submission_data_5ba29e88d246e5be*submission_data_55377553ada8d481*submission_data_78d8ed9aab8be518*submission_data_d01d31b979b9e107*submission_data_f678d8bbfa8c3dcd*submission_data_8a21da0a7c8bbc47*submission_data_414a589a505799c9*submission_data_b908ad656db71b47*submission_data_d3509bfb9ff63ff2*submission_data_aaed176b4156bb8b*submission_data_9a4587b0f573b249*submission_data_b968518f290514db*submission_data_7c2a0ab432740525*submission_data_eaf93d8163e8e12f*submission_data_7622158c38905307*submission_data_08082ae7eec62447*submission_data_8dc4e1ab611a6f30*submission_data_f9abacb29d723377|0.482|| -augmented_data_0c123efe46eecc9b|branch|c676da136899893a|317a6b9857648af8|c6f1d71fc2631618|2139390762||t19949.3754994043s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.052|| -augmented_data_bceb869e337d99be|branch|833703324091afad|317a6b9857648af8|1edaa425ebbcc58f|-877582188||t19949.3754997191s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.025|| -augmented_data_96bd82b7bfa8af44|branch|cf092e2d999bff8d|317a6b9857648af8|7546923360490347|1991396992||t19949.3755006534s|b8e2cd780a68e456|333|qs|local|list|augmented_data||0.014|| -augmented_data_25d0721916fbcc75|branch|2b9ab989d4907a25|317a6b9857648af8|fec6558757cfc67c|-1071022014||t19949.3755018758s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.028|| -augmented_data_de622a8826f56e60|branch|16df58823c4ae48f|317a6b9857648af8|d566e99eeb365b2b|-542161889||t19949.3755023267s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.017|| -validated_augmented_data_f937fff664ecba90|branch|8ab84f8eb12f58ca|e57a32141c4128a5|fb73e78a0ef0c658|-319520019||t19949.3755033862s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.108|| -validated_augmented_data_1a287b1ecd6a28a4|branch|22b871ebc4d7d26a|e57a32141c4128a5|d4a30b1508b886b4|-68793139||t19949.3755035442s|353340f2803c8797|1872|qs|local|list|validated_augmented_data||0.076|| -prediction_checks_4774eae3f1034789|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|b8ff58f94f4bf56e|-1567602615||t19949.3755040373s|e06562061609e01a|338|qs|local|list|prediction_checks||0.126|| -prediction_checks_1c5ccb8ad53e311e|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|bc07630eec56fc46|1402804746||t19949.3755046011s|e06562061609e01a|338|qs|local|list|prediction_checks||0.09|| -validated_augmented_data_cb8bd8bc37097b69|branch|acd2124b3d1b79e8|e57a32141c4128a5|c042ac9784bcc009|-1592058547||t19949.3755048674s|6613dbc0d94c90e5|1784|qs|local|list|validated_augmented_data||0.091|| -validated_augmented_data_704845d5205a312e|branch|0a13507e2f104717|e57a32141c4128a5|349bb5cda079316c|1101882718||t19949.3755059271s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.092|| -validated_augmented_data_4e080a8c8a2113df|branch|4477d47523faa228|e57a32141c4128a5|06e9196ba5a70f20|-562274129||t19949.3755067951s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.076|| -prediction_checks_fff68b50f6b58647|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|c8261c7e489ea5b6|2028158593||t19949.3755070507s|e06562061609e01a|338|qs|local|list|prediction_checks||0.088|| -validated_augmented_data_09ae74ae390cd6dd|branch|5d24ae199b8b2ba3|e57a32141c4128a5|df6fd5c200cd9f87|-1031343686||t19949.3755077876s|381441630f865ce4|1787|qs|local|list|validated_augmented_data||0.082|| -prediction_checks_1300486e5e79186c|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|3fa2af08e7935708|-598881477||t19949.3755088029s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.09|| -validated_augmented_data_bfdfcc1bab1bf247|branch|70950931420e2be7|e57a32141c4128a5|4191c976b60417e8|1182475661||t19949.3755094624s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.059|| -augmented_data_0477d1259665999b|branch|8fa88b874b0bfc6d|317a6b9857648af8|841d36f537e65e80|1090934066||t19949.3755094029s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.014|| -validated_augmented_data_4dddc307fff931f9|branch|28358466ae6d2dc0|e57a32141c4128a5|208753c2b41d700e|-161894867||t19949.3755099527s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.066|| -prediction_checks_a015239f94db1a29|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|cfeaf45f2b9c0ec3|816972964||t19949.3755104529s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.111|| -prediction_checks_bcc25e710d192c4b|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|586de4b7017f1782|1126855564||t19949.3755109627s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.074|| -prediction_checks_5310b515fe3d646e|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|4146d07f639d3a5e|915667840||t19949.3755115606s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.128|| -augmented_data_e9877679de16af23|branch|641ff6e79fc01c48|317a6b9857648af8|de4e09b9c52a0371|-1157708049||t19949.3755121315s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.015|| -prediction_checks_12b6a1209c7b9e3f|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|6a617f6bf7912800|2007721253||t19949.375513713s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.103|| -prediction_checks_52610edc43ad58ad|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|704e5b2759bcf11d|-6107333||t19949.3755138866s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.084|| -augmented_data_52c79cf969d1377d|branch|4251ac8c9f492fed|317a6b9857648af8|2251e1679e57fdc4|394687569||t19949.3755141731s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.044|| -prediction_checks_8658e3a8221a3c95|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|26d9ff17db8237bc|761223686||t19949.3755145148s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.086|| -validated_augmented_data_8aee723f36de6cef|branch|30b2026b7a9138b0|e57a32141c4128a5|9dfa6694027ea0b8|-2005637923||t19949.3755156998s|bcdd65b724f2e4b3|1788|qs|local|list|validated_augmented_data||0.061|| -validated_augmented_data_4c761f094ac8cd65|branch|5204361cf788383e|e57a32141c4128a5|fdc342ead0ba7fe7|-85592303||t19949.3755171605s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.073|| -validated_augmented_data_129f46b388b2f67e|branch|58092fcec6135443|e57a32141c4128a5|0451979ec53154b2|-1765677137||t19949.3755171613s|d81b32700284785a|1794|qs|local|list|validated_augmented_data||0.084|| -validated_augmented_data_9aa5c18a82e43795|branch|282b108400fd26d2|e57a32141c4128a5|ad8c9526392e84c3|-715323904||t19949.3755175713s|c19d5c5cf79418b6|1795|qs|local|list|validated_augmented_data||0.059|| -prediction_checks_c6fc26302780871d|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|35b2656db73ade2a|1972057073||t19949.3755178585s|e06562061609e01a|338|qs|local|list|prediction_checks||0.084|| -validated_augmented_data_4d829361503e37a0|branch|e0f60a4d7d4ac022|e57a32141c4128a5|8106bbc613595b64|1133235809||t19949.3755179335s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.067|| -augmented_data_3c97672e4329adeb|branch|914718816ff3a6bf|317a6b9857648af8|ea215bb5313b3e4b|-771512681||t19949.3755185662s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.01|| -augmented_data|pattern|23280af0ad1ef173|317a6b9857648af8||-1997977228||||40143|qs|local|list||augmented_data_e76cb5b887f85687*augmented_data_674c0f9cfe4852e0*augmented_data_efdd841e81833a95*augmented_data_94d3b2f5f3b8a804*augmented_data_7714a5aeca552d88*augmented_data_8cf55628b5baa817*augmented_data_5ceb7ea04b9d9a9b*augmented_data_97593c1ba98e543f*augmented_data_4794d4887197db7b*augmented_data_4a24983f147695da*augmented_data_1dd1ffddec2b9b9f*augmented_data_86cb2d8a42d6266a*augmented_data_d8f5d08715fe0a23*augmented_data_6198c2501a919193*augmented_data_f43d05eda3f232d1*augmented_data_365f707e1f9ed3bb*augmented_data_4ec123701c9a4984*augmented_data_3e0a1a7a89327624*augmented_data_3cf447b0721dd478*augmented_data_d83f2da4d35e1a53*augmented_data_7552291c042eda54*augmented_data_6c0b2e9938beef09*augmented_data_90ada5421f71b73b*augmented_data_ec53d74127fdfaac*augmented_data_2a3d076e4e62801b*augmented_data_7dd25987a9d0426b*augmented_data_a3e1d41cbb153a53*augmented_data_bfe30684cde965da*augmented_data_528fba3a0e8b5dcf*augmented_data_4f324335760aa795*augmented_data_e0d31cdba59a1120*augmented_data_6180e436319a6f72*augmented_data_25d0721916fbcc75*augmented_data_e87531e69de6de76*augmented_data_e34488f0c434f549*augmented_data_5f1a4d66abe5b614*augmented_data_7b03f8d8b58dc19c*augmented_data_3cfc88cca0185961*augmented_data_10499900811e4733*augmented_data_ef0a5ebed63b41b2*augmented_data_4fd0f4bbeb073d05*augmented_data_6127eae7ebece6b7*augmented_data_1e684cef8c7cc5ae*augmented_data_ff452ec69a5060a0*augmented_data_fd76c498df2c4759*augmented_data_33114950ec3eb4e2*augmented_data_277016737fedb446*augmented_data_5bc96a88936f47ae*augmented_data_c150b5fafc4bf5c9*augmented_data_37916bedfcd06252*augmented_data_dde7c5d3d99841ab*augmented_data_aa457f8cf21af899*augmented_data_2c118f28dc014fee*augmented_data_261a623449d70bec*augmented_data_ac770ba43c1b7132*augmented_data_0477d1259665999b*augmented_data_b5cc946f39fee6a0*augmented_data_de622a8826f56e60*augmented_data_e9877679de16af23*augmented_data_fbd9250baf8ae9df*augmented_data_e8d1e268246cb5da*augmented_data_cef237aeb12344a7*augmented_data_e66f54b7e44914e5*augmented_data_c39ecdfa85afc1c2*augmented_data_61e82021655626e2*augmented_data_40012925a415f466*augmented_data_3e29610b22d2997f*augmented_data_d71237357c705044*augmented_data_8f9ecb67b4648df1*augmented_data_0023663ed9da9ee7*augmented_data_9665d2ee964dcad1*augmented_data_cb33d53cac3dc2b3*augmented_data_ef738b3109348ee5*augmented_data_1df4477eff7f2ab1*augmented_data_776859538bcf3687*augmented_data_e7b47051397e1237*augmented_data_e5582ec60a21473d*augmented_data_2876889f008cadda*augmented_data_00d8d4fcc9c9104b*augmented_data_bb38d4b6a7216784*augmented_data_d88f33dde80a442c*augmented_data_137b2b76e0c45b5e*augmented_data_52c79cf969d1377d*augmented_data_823b6a652a2079cc*augmented_data_96bd82b7bfa8af44*augmented_data_0c123efe46eecc9b*augmented_data_2e3c836f82b0c8ad*augmented_data_3360572419d7f96c*augmented_data_bceb869e337d99be*augmented_data_722104d142ffcb5d*augmented_data_50bc9d7faaa7c206*augmented_data_0d1d39b785b295db*augmented_data_72001cec2c56ccd0*augmented_data_6ad9b65ea48e6fdf*augmented_data_4e3246fac39f5e74*augmented_data_5faaa5257d5d2743*augmented_data_5eaee7e9b564dbff*augmented_data_20a814eac57e8939*augmented_data_643039c30c28b2e4*augmented_data_3c97672e4329adeb*augmented_data_0beddfbd766f70da*augmented_data_503c983df9b5e872*augmented_data_546b9e1c3f2cef3f*augmented_data_a4483f2a767d5aaf*augmented_data_e10b48f0f0bf716d*augmented_data_4dbd710d176fea90*augmented_data_2781818264b93144*augmented_data_303e1dd67df00bfe*augmented_data_5fa6d68bd1d118e4*augmented_data_b3b046b3d9f0404b*augmented_data_1ffce449b603be2c*augmented_data_e462bf98e202e010*augmented_data_4df7fadbd7e6328b*augmented_data_f2ddc44003a4e22f*augmented_data_7488dfb9e8e1cfad*augmented_data_20f21ba792a67cad*augmented_data_39c5c031a1c6818e*augmented_data_893ecccabfdde0b5*augmented_data_93364e8bf0cc1932*augmented_data_b7ede6893a41ad76*augmented_data_53a7d2f12c72aa61*augmented_data_ae7c054e8003ed7b*augmented_data_8af9a3b0214d1fb2|2.662|| -prediction_checks_e82962793d58f3c7|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|bdfd90d52b3c144d|942864605||t19949.3755211679s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.069|| -prediction_checks_4fa904f057f289eb|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|f7f3923a22b95ee2|607175287||t19949.3755210603s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.079|| -prediction_checks_a680280698affff6|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|1c67738a80c7cd38|59365974||t19949.3755220833s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.096|| -prediction_checks_a9577ccd3002ea03|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|52d47b9dfd4963d6|-498451286||t19949.3755212745s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.086|| -validated_augmented_data_83323c5af7ae1cba|branch|6fe97caa8a3e66bd|e57a32141c4128a5|87ad0e5c9774c6ec|1000194067||t19949.3755219007s|b4af58b29460080b|1863|qs|local|list|validated_augmented_data||0.062|| -prediction_checks_b7b71fb3a4ba929b|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|0cd3c149b7595220|241286879||t19949.3755224241s|e06562061609e01a|338|qs|local|list|prediction_checks||0.103|| -prediction_checks_e5e6bb8aedde3b4a|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|19a9ae8ad52cace7|67754484||t19949.3755254009s|e06562061609e01a|338|qs|local|list|prediction_checks||0.063|| -validated_augmented_data_3510441c9a47dee1|branch|187eddd954f5cbf9|e57a32141c4128a5|54922f9a4d6fc15f|560109337||t19949.375529816s|cbe36289148c407c|1793|qs|local|list|validated_augmented_data||0.057|| -validated_augmented_data|pattern|e29fbce16dd704f3|e57a32141c4128a5||-159713535||||221868|qs|local|list||validated_augmented_data_921e3c319b6b55bb*validated_augmented_data_7d3c01280b4bdc52*validated_augmented_data_c4877a335077ed1e*validated_augmented_data_719ef3e55d9c9084*validated_augmented_data_5a0ff76060cea718*validated_augmented_data_13247c5ec1e128de*validated_augmented_data_7b23546ddaf187c5*validated_augmented_data_fb7c7f133b2f394b*validated_augmented_data_e78ebdf9e5632747*validated_augmented_data_6138db413359e388*validated_augmented_data_c4b2c8fc45882d8d*validated_augmented_data_41a33e87a561e6fe*validated_augmented_data_7fbf893a6e53d76b*validated_augmented_data_d9fcb25c1333f3a7*validated_augmented_data_3da3fe4d72345b6d*validated_augmented_data_120b56db5bdbc012*validated_augmented_data_56a7ae8dc3243cb5*validated_augmented_data_9c4afcf765271c17*validated_augmented_data_f7d66dee6c5617d9*validated_augmented_data_53b8cb2bd1445f23*validated_augmented_data_a7c3df4652440f04*validated_augmented_data_7b3152aad070d867*validated_augmented_data_50e4232fdcced123*validated_augmented_data_0a5feb8588fbf968*validated_augmented_data_470806ae184181c4*validated_augmented_data_659adbd2cad83944*validated_augmented_data_9de7fc3a4982cb1e*validated_augmented_data_dd8da52172f5b944*validated_augmented_data_77cf3046b6ea9f25*validated_augmented_data_a50616f549c00008*validated_augmented_data_ba638f357ca27982*validated_augmented_data_4062f7b61b835765*validated_augmented_data_4e080a8c8a2113df*validated_augmented_data_0cf5a62fc25cf42c*validated_augmented_data_7a9ee6de1437997c*validated_augmented_data_26c6c1b6b78ee087*validated_augmented_data_9a0d50f454d290cc*validated_augmented_data_7e65b12bd842b9e3*validated_augmented_data_0d941305ac8f8f6f*validated_augmented_data_cba66098e4c18c0e*validated_augmented_data_427e73198bdeede2*validated_augmented_data_858381839be478cc*validated_augmented_data_e68986aa3f6508f2*validated_augmented_data_1d98680bb820c76c*validated_augmented_data_9d9de3f38bc44a0c*validated_augmented_data_9d4a5789f6a4bc93*validated_augmented_data_ba1b01ff261870f3*validated_augmented_data_564f45ef7974034d*validated_augmented_data_0e9708a9e707c5cb*validated_augmented_data_4240c12a1dc827fa*validated_augmented_data_b4deac3379a953a3*validated_augmented_data_5f567328c9b5aa1c*validated_augmented_data_a975283f5c157c1b*validated_augmented_data_58463e37ccc0c08e*validated_augmented_data_7d7d61bc3d3b0321*validated_augmented_data_8aee723f36de6cef*validated_augmented_data_53a6f6d89a567034*validated_augmented_data_09ae74ae390cd6dd*validated_augmented_data_129f46b388b2f67e*validated_augmented_data_144b793f1be812a5*validated_augmented_data_e7289c471153a5b6*validated_augmented_data_4dddc307fff931f9*validated_augmented_data_8742d7cadc9e658a*validated_augmented_data_bfdfcc1bab1bf247*validated_augmented_data_eb3c4e536b0b6d99*validated_augmented_data_6f48cfe4ef45ef3a*validated_augmented_data_24f7a56f07f00565*validated_augmented_data_cdc4bf64218947d4*validated_augmented_data_41c8b4d2968b9f7e*validated_augmented_data_3982717d3357e25e*validated_augmented_data_1f6bceb6b5804f66*validated_augmented_data_22a8c8f7617f440b*validated_augmented_data_4d40b01c50f2ad39*validated_augmented_data_25fd28d07c92063c*validated_augmented_data_5ab441b7c76166ed*validated_augmented_data_f888db1bdaca282b*validated_augmented_data_48ca467781a3500c*validated_augmented_data_1ba9758fc6474da0*validated_augmented_data_c4e7cb22e28904dc*validated_augmented_data_d8eba3e39896a234*validated_augmented_data_4e0a68879cbb9036*validated_augmented_data_9aa5c18a82e43795*validated_augmented_data_4d829361503e37a0*validated_augmented_data_3510441c9a47dee1*validated_augmented_data_704845d5205a312e*validated_augmented_data_cb8bd8bc37097b69*validated_augmented_data_5a5ce47db007e29f*validated_augmented_data_7e3c378c924b3aad*validated_augmented_data_1a287b1ecd6a28a4*validated_augmented_data_1c3ed8f5e124ae5e*validated_augmented_data_41e2a237f652154f*validated_augmented_data_ffb0612c513f29a5*validated_augmented_data_021514c7e627f264*validated_augmented_data_2bebca7abe9a4631*validated_augmented_data_e4821dc42e2c5358*validated_augmented_data_4c761f094ac8cd65*validated_augmented_data_27757fe2eb386a66*validated_augmented_data_72d3814de55b5505*validated_augmented_data_8474cf55fb21d09f*validated_augmented_data_83323c5af7ae1cba*validated_augmented_data_7b3fa5fa8943568d*validated_augmented_data_ac0693aebac6346f*validated_augmented_data_6f413491dbd2d303*validated_augmented_data_0bd8e9829b26fcfa*validated_augmented_data_43076db6a52ca79b*validated_augmented_data_8182f8fee6285992*validated_augmented_data_5645988804c969f3*validated_augmented_data_cc38b90d9cabe0a5*validated_augmented_data_1087031648b3fe42*validated_augmented_data_470133da8457309d*validated_augmented_data_908849a82eb75798*validated_augmented_data_5463aa0b8d1ce08e*validated_augmented_data_f6f7bbcd36d59b92*validated_augmented_data_7ca5c927372a5f77*validated_augmented_data_2e967cdadf8de976*validated_augmented_data_98d11dab0bd4a480*validated_augmented_data_a454c526ce6a7563*validated_augmented_data_9bc03c8aa732b3a4*validated_augmented_data_476d0eafc82a0e28*validated_augmented_data_da860057b64ca611*validated_augmented_data_d8e06ddb6335b4d4*validated_augmented_data_49f082d1c52a7881*validated_augmented_data_f937fff664ecba90|10.479|| -prediction_checks_7216a9e13934dcbc|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|2c636f511e9d26f2|1513688739||t19949.375530761s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.059|| -prediction_checks|pattern|9fa1fd6b7834d5bf|ca3c76dd51ebc9f7||2104525521||||40611|qs|local|list||prediction_checks_5c36416de01f6270*prediction_checks_d8a960ee5d51d03e*prediction_checks_99ab54271d503689*prediction_checks_6a55445351092a1f*prediction_checks_bf30c4e240c3d74a*prediction_checks_13e7c10fda18b2c8*prediction_checks_08b196760bd2fa52*prediction_checks_46973836ee4e5dbf*prediction_checks_ed4d3b2df72f107f*prediction_checks_1ac6321eca95d9dc*prediction_checks_6d43f2cfd1e4d38a*prediction_checks_9858b3220c5a3eb5*prediction_checks_d443e15f296dfbda*prediction_checks_bb90bbeb14b83e7a*prediction_checks_72e65a49290c7d20*prediction_checks_abcc036e8f821cdf*prediction_checks_aa5725ad981362ad*prediction_checks_245011b3e8890ff0*prediction_checks_febcdfc3a8cac733*prediction_checks_d3a05f381bafcd76*prediction_checks_f4d0b9745fdfc665*prediction_checks_d296718ee3573ffd*prediction_checks_25ca30f2be20acec*prediction_checks_ecd6fb3d575017eb*prediction_checks_cc8a55216a7b5045*prediction_checks_0c71001ed42a2d7e*prediction_checks_3b29e3d6f1c55506*prediction_checks_f011ee6967aa7d48*prediction_checks_4479da5b73e3a7aa*prediction_checks_ee77728ceb227c01*prediction_checks_dc5b873c5665434a*prediction_checks_ab08fa3cc8b607fb*prediction_checks_a015239f94db1a29*prediction_checks_397ccc8b004ba737*prediction_checks_01e1e08599784ae0*prediction_checks_b0ebcbb7a5f611cf*prediction_checks_820fdb3c74428fa0*prediction_checks_511dec9721616632*prediction_checks_1397102747f8ada2*prediction_checks_99d424b5419a701a*prediction_checks_ae5136def93ca865*prediction_checks_d47f661c8d403250*prediction_checks_6625986686cfaf90*prediction_checks_04da8c769a01c8ed*prediction_checks_4dbd6d5c3a8a5aba*prediction_checks_77c7addc15637139*prediction_checks_b66befcf184034c1*prediction_checks_f88d699e1571310a*prediction_checks_23946189e6712419*prediction_checks_0998e295c94c48ff*prediction_checks_33973b96da0fbab4*prediction_checks_11ac9f71c1761277*prediction_checks_ed51aa1639abc4c8*prediction_checks_4e0841de931cf7bd*prediction_checks_e4e1cca5e54dc734*prediction_checks_a680280698affff6*prediction_checks_8dea87da4644c58b*prediction_checks_12b6a1209c7b9e3f*prediction_checks_e82962793d58f3c7*prediction_checks_b193cf90f435675d*prediction_checks_97e4ec05f7fa50ec*prediction_checks_8658e3a8221a3c95*prediction_checks_b09e54c77548b9bf*prediction_checks_bcc25e710d192c4b*prediction_checks_63a9e06760851e4d*prediction_checks_c6fc26302780871d*prediction_checks_ca9ad71430b7b210*prediction_checks_2a7ef0c240868872*prediction_checks_6807dfac02920721*prediction_checks_01ddfe74677aa3a4*prediction_checks_516ff0bd02e172e6*prediction_checks_0371c5b4503a64c1*prediction_checks_1696df95d3d8f556*prediction_checks_9b2eb3e72408bfb8*prediction_checks_072e643d1f12d0a5*prediction_checks_56da09d3286862ff*prediction_checks_fda2467264fecd47*prediction_checks_3bb0ae1464e795ef*prediction_checks_67cce082798354cb*prediction_checks_0fb53cbdd032c797*prediction_checks_47056ced676ec0e4*prediction_checks_4fa904f057f289eb*prediction_checks_a9577ccd3002ea03*prediction_checks_7216a9e13934dcbc*prediction_checks_52610edc43ad58ad*prediction_checks_5310b515fe3d646e*prediction_checks_547f9108ce7c4efa*prediction_checks_6417c297588786d0*prediction_checks_fff68b50f6b58647*prediction_checks_f4047f7395af2842*prediction_checks_db30860592a19703*prediction_checks_1c29720300bd11b7*prediction_checks_6b6ef38d1125ebe3*prediction_checks_e953db4c9ce987d2*prediction_checks_a6290412d7d779d3*prediction_checks_b7b71fb3a4ba929b*prediction_checks_da296d4e9b4f06ff*prediction_checks_3834d75ce1622e43*prediction_checks_f7f0a435d54722d1*prediction_checks_e5e6bb8aedde3b4a*prediction_checks_14940da1f8d26eeb*prediction_checks_31b93d18d4b89447*prediction_checks_14fe32d2bbb12ab2*prediction_checks_5a9686b922acaa97*prediction_checks_768767299a16b8d9*prediction_checks_7055180cd0db41f7*prediction_checks_953f238c0a384129*prediction_checks_c1c9284550b3bd8a*prediction_checks_80fd4547fe6634e7*prediction_checks_4b5e5108e5d97907*prediction_checks_7e996c9072e4fe06*prediction_checks_72f1e8983d0b1f14*prediction_checks_44b515bdd947b0b6*prediction_checks_54117c3aea8e4e7c*prediction_checks_035734ce81259701*prediction_checks_67d00368220eb536*prediction_checks_230fcfb345ee5826*prediction_checks_5c80e0b03f13a3fa*prediction_checks_3dbf9f9f2194e557*prediction_checks_07b643b3eb071c34*prediction_checks_1c5ccb8ad53e311e*prediction_checks_4774eae3f1034789*prediction_checks_1300486e5e79186c|12.875|| -all_prediction_data|stem|28879ba98a4e0d67|a9e57157ebb86854|c2ccf1adc12351a1|-1405774394||t19949.3755362294s|01250fccb63b0314|27439|qs|local|vector|||0.099|| -ManyEcoEvo_yi|stem|3ec809bf8e81dc0e|651656918d5d23a8|e18935834feccad6|-505255198||t19949.3755396985s|6b5e397c4ddb0ee2|29988|qs|local|vector|||0.138|There was 1 warning in mutate.ℹ In argument response_transformation_status clean_response_transformationresponse_transformation_status.Caused by warning Outer names are only allowed for unnamed scalar atomic inputs| -ManyEcoEvo_viz|stem|5f89a5e711b162e9|b192ce5602f4f658|a3d2dc6ccda025ab|1802242757||t19949.3755642567s|ac5c97a0ebc485b3|4370410|qs|local|vector|||28.412|| -ManyEcoEvo_yi_results|stem|4de658b3f0327496|a5a28aff63ce29a3|5d934abe9781f2ee|1611455176||t19949.3756365904s|7e852113647bdcf3|2568562|qs|local|vector|||7.759|There were 22 warnings in dplyrmutate.The first warning wasℹ In argument box_cox_rating_cont purrrmap....ℹ In group 1 estimate_type y25, dataset blue tit, exclusion_set complete.Caused by warning in checkConv Model is nearly unidentifiable very large eigenvalue Rescale variablesℹ Run dplyrlast_dplyr_warnings to see the 21 remaining warnings.| -ManyEcoEvo_yi_viz|stem|1ea29a2c59652dc3|0e05aa5857930413|6c3141fc35eb37c8|2125913807||t19949.3757409386s|0c02b8f42beea6a2|2601646|qs|local|vector|||8.563|| +back_transform_response_vars_yi|function|6c8ec9566e9a332d +compute_metaanalysis_inputs|function|d1cf8fb327325a8e +prepare_response_variables|function|a5758e268ffcccac +prepare_response_variables_yi|function|3f9e1ed37fe0ca04 +README_data_raw|stem|79ef4c515baedce5|816db30a3418d8e2|2c530c1562a7fbd1|619201498|data-raw/analysis_datasets/README.md*data-raw/analysis_datasets/README.qmd|t19963.6456068841s|37e9cc4b51b5536f|7009|file|local|vector|||5.745|| +list_of_new_prediction_files_file|stem|c0555d5dca85210b|e6a7d7dc21ee67fa|2c530c1562a7fbd1|1593362387|data-raw/analyst_data/S2/list_of_new_csv_files.csv|t19866.5171490728s|cd0fa8c9989f2929|5738|file|local|vector|||1.927|| +bt_reviews_file|stem|4fab04998c1a0bce|f7a1910a57ba0b6b|2c530c1562a7fbd1|-670163628|data-raw/anonymised_data/bt_reviews.csv|t19933.4632772665s|707ac784302cd55a|62327|file|local|vector|||0|| +master_metadata_file|stem|b29c7d6c24617189|f0510f1ed5ef1800|2c530c1562a7fbd1|606328567|/Users/elliotgould/Documents/GitHub/ManyEcoEvo/data-raw/anonymised_data/master_metadata.csv|t19866.5171490862s|8f1bc90680f35e41|16254|file|local|vector|||0.006|| +euc_reviews_file|stem|1dc28dc655e0cc5f|1a590db6362dbe88|2c530c1562a7fbd1|-1796439324|data-raw/anonymised_data/euc_reviews.csv|t19866.5171490764s|428f6b5e196fa02d|47987|file|local|vector|||0|| +master_data_file|stem|b780f90b4f822ad3|27e0e65f9e9ee935|2c530c1562a7fbd1|-1827288914|/Users/elliotgould/Documents/GitHub/ManyEcoEvo/data-raw/anonymised_data/master_data.csv|t19945.4270267553s|934c09a48f8a2167|384333|file|local|vector|||2.364|| +list_of_new_prediction_files|stem|5281b03bce236421|0bd9b75dec6eb52d|443707202b72f71c|-1466444623||t19963.6457109621s|3bb20aa8fa2bcc9e|1711|qs|local|vector|||0.101|| +bt_reviews|stem|391f8a492931f55f|d57b44dc1863ee95|2f3de5377314c610|1433436487||t19963.6457124076s|9d73735a670fc1a9|4982|qs|local|vector|||0.092|| +master_data|stem|29d341b9ffe65441|3df52d49cc0a9d10|bea88e7798994805|-1028304685||t19963.6457129484s|d9baea8e2dea8cfe|54156|qs|local|vector|||0.039|| +master_metadata|stem|f7db0632f0bc6b65|7bcb92a89e8a1c8d|1a3b1035a03d5a3f|-1648251930||t19963.6457146473s|5d828028a0483325|4951|qs|local|vector|||0.015|| +euc_reviews|stem|dd36f83286adc712|9c622431a02e3308|88c761dc25131ee6|1723759531||t19963.6457163686s|24c7738b0d1d7f11|4601|qs|local|vector|||0.015|| +all_review_data|stem|11f6ff39db6a784f|9971985edc6b63c1|b66f42214b22f65d|636824205||t19963.6457179994s|c6fc3e7eb7990d56|9355|qs|local|vector|||0.01|| +ManyEcoEvo|stem|49501163aa148f0a|df70a842bd136411|bddb97dd3df5acd9|314662670||t19963.6457208255s|dcbab8384b7e451d|32244|qs|local|vector|||0.111|| +README|stem|0390c98611ced782|9a21e26995fed59a|e8eecd656c8174d3|253499630|README.md*README.qmd|t19963.6458882368s|2e14b174af7b13bc|7699|file|local|vector|||14.457|| +predictions_validation_coded_file|stem|2a6a53fb3470a466|e9e7b022d913eceb|2c530c1562a7fbd1|-2025064489|data-raw/anonymised_data/predictions_validations_worksheet.csv|t19933.463277316s|5d5821be62b68e32|593772|file|local|vector|||8.105|| +updated_prediction_files|stem|010f899d7888e624|b33ca9159f38d41e|a93856d564c7eccb|-1640936069||t19963.6457758358s|0f1b663dc2dc05e6|5428|qs|local|vector|||5.344|There were 3 warnings in mutate.The first warning wasℹ In argument updated_checks map.x updated_checks, .f pointblankinterrogate.ℹ In group 5 response_id R_1LRqq2WHrQaENtM, submission_id 1, analysis_id 1, split_id 1, csv_number 3.Caused by warning Failure to validate that column se.fit is of type numeric.The col_is_numeric validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1ℹ Run dplyrlast_dplyr_warnings to see the 2 remaining warnings.| +ManyEcoEvo_results|stem|5004406c5b5ea4d3|92f9c9a4fd459860|e502fd6196e3cc5e|-56019103||t19963.6458666448s|4eede88d46816631|3271377|qs|local|vector|||11.84|There were 51 warnings in dplyrmutate.The first warning wasℹ In argument box_cox_rating_cont purrrmap....Caused by warning in optwrap convergence code 4 from nloptwrap NLOPT_ROUNDOFF_LIMITED Roundoff errors led to a breakdown of the optimization algorithm. In this case, the returned minimum may still be useful. e.g. this error occurs in NEWUOA if one tries to achieve a tolerance too close to machine precision.ℹ Run dplyrlast_dplyr_warnings to see the 50 remaining warnings.| +predictions_validation_coded|stem|6ab9ebfb1cf1c8fb|b34ce80a00a0d969|4dd2ac068ba20e84|-1591862530||t19963.6458889913s|05b548c752fccc0a|16319|qs|local|vector|||0.024|| +ManyEcoEvo_study_summary|stem|8b163046a143c869|99d497eaf35e5361|2b3cff02fb0a6126|-1684464409||t19963.6458959053s|5a28629799a8436e|42115|qs|local|vector|||0.294|| +prediction_submissions|stem|f6c4ee500def0a0c|318e6101f656f408|9e472e65cc352b65|-2097144176||t19963.646072376s|b45be62666f8e9ea|18994|qs|local|vector|||0.638|| +grouped_prediction_validation_data|stem|e85119013328e600|76cdba26d0e99518|8179f0e94b4619d7|-1600398122||t19963.6460743421s|6f21beca1d3477ed|15006|qs|local|group||grouped_prediction_validation_data_9c326f1af9e8ae6f*grouped_prediction_validation_data_4e98bd3b01fb3fa7*grouped_prediction_validation_data_31b3fb0798b04a83*grouped_prediction_validation_data_2c1cb6c6521c9820*grouped_prediction_validation_data_20e5aecc4b8090a2*grouped_prediction_validation_data_770617869289037e*grouped_prediction_validation_data_b1663146f05da842*grouped_prediction_validation_data_714ec17df43587cb*grouped_prediction_validation_data_aff03054175fd9a7*grouped_prediction_validation_data_f2d460071a54584e*grouped_prediction_validation_data_4cef6b672de035c2*grouped_prediction_validation_data_fe7c90aa4f7dc0e5*grouped_prediction_validation_data_ec2e53b177125937*grouped_prediction_validation_data_b224ff69f3759530*grouped_prediction_validation_data_3d73910545089444*grouped_prediction_validation_data_78b52f73f6b59ac3*grouped_prediction_validation_data_46cc92b272e4d7d3*grouped_prediction_validation_data_190230903f9b9282*grouped_prediction_validation_data_8748876157120679*grouped_prediction_validation_data_a26a6fae25ba7274*grouped_prediction_validation_data_cb8ab854912b853b*grouped_prediction_validation_data_21c84034f5c7226a*grouped_prediction_validation_data_8031b0a26fb21e6b*grouped_prediction_validation_data_c1150962f150b928*grouped_prediction_validation_data_ac55d2c7e3eb8787*grouped_prediction_validation_data_be27571496f02ed3*grouped_prediction_validation_data_d51d5b00ab8e2a04*grouped_prediction_validation_data_1004a13742a59766*grouped_prediction_validation_data_a5f727d1aa69f892*grouped_prediction_validation_data_57f5f8a14caf540c*grouped_prediction_validation_data_3add720160f348d0*grouped_prediction_validation_data_cb3eae6bffe02c0b*grouped_prediction_validation_data_3ac72dca8942a8ea*grouped_prediction_validation_data_d9023873525da942*grouped_prediction_validation_data_444e30096c01af09*grouped_prediction_validation_data_ce18d5842ee6c7c3*grouped_prediction_validation_data_2d3e210802821716*grouped_prediction_validation_data_7caaae214eec6756*grouped_prediction_validation_data_69cdf3b9d3af9fd2*grouped_prediction_validation_data_9b9450c15039ab88*grouped_prediction_validation_data_d54d9830f13883ba*grouped_prediction_validation_data_92afa1db2c3393a0*grouped_prediction_validation_data_be10320084154b91*grouped_prediction_validation_data_7d8c2ddfbf96aa91*grouped_prediction_validation_data_903e5a000d61293e*grouped_prediction_validation_data_d6e4ea74f0e2a5b1*grouped_prediction_validation_data_4bb21bc6475e6d80*grouped_prediction_validation_data_cb9088f6b63552b7*grouped_prediction_validation_data_0f7842a96c0271a4*grouped_prediction_validation_data_c4c57847f29c4ee3*grouped_prediction_validation_data_ae0e8b944e31ae10*grouped_prediction_validation_data_233cc73338df29bb*grouped_prediction_validation_data_3b355216f803c8f4*grouped_prediction_validation_data_64966014495b1b73*grouped_prediction_validation_data_7035d447a17abacc*grouped_prediction_validation_data_895196e421474876*grouped_prediction_validation_data_35cc6773c57ec428*grouped_prediction_validation_data_ad0f368f924ccabf*grouped_prediction_validation_data_a9d2c196575d5e9d*grouped_prediction_validation_data_843328c29fd2fee3*grouped_prediction_validation_data_3a46a833bc0d8b06*grouped_prediction_validation_data_e4481badd9a1cf63*grouped_prediction_validation_data_fe6b88809c010386*grouped_prediction_validation_data_9ed9a51bd0945088*grouped_prediction_validation_data_de4cb6308037e439*grouped_prediction_validation_data_4d74867c66f55c3b*grouped_prediction_validation_data_61688b63a819f478*grouped_prediction_validation_data_b79eeb15e0a80c42*grouped_prediction_validation_data_9fb3b26ae0570f57*grouped_prediction_validation_data_aaf2dc1ec9e45e1f*grouped_prediction_validation_data_26ebdbef7ee87f42*grouped_prediction_validation_data_3e8cab46b0223a93*grouped_prediction_validation_data_8090af2065e32a1f*grouped_prediction_validation_data_d645e82887751ff7*grouped_prediction_validation_data_43660cd09d80d0b6*grouped_prediction_validation_data_d2badceae9830037*grouped_prediction_validation_data_de402751f3dfc664*grouped_prediction_validation_data_40e1748ba373de47*grouped_prediction_validation_data_fcd5189dfc43b8a8*grouped_prediction_validation_data_860b6ff6fa57a2a8*grouped_prediction_validation_data_43e1bcaeef5fee6e*grouped_prediction_validation_data_c596335c0ec363a7*grouped_prediction_validation_data_0c76d136059e1f05*grouped_prediction_validation_data_323a421a5d70c3a0*grouped_prediction_validation_data_e17e0c29b3429891*grouped_prediction_validation_data_a98b9214449445cc*grouped_prediction_validation_data_7de009a2d4958e55*grouped_prediction_validation_data_f8188a0673f46485*grouped_prediction_validation_data_0e7274ba20ecab60*grouped_prediction_validation_data_6c0400c35bf5d722*grouped_prediction_validation_data_8b62644a225f2375*grouped_prediction_validation_data_3ed3fbf9eba7c5b5*grouped_prediction_validation_data_22830cf13b4cb5c9*grouped_prediction_validation_data_9844b98dba77cbfc*grouped_prediction_validation_data_46c3dd9ecc0c0ea8*grouped_prediction_validation_data_aca862c0492424fd*grouped_prediction_validation_data_9b6685c42616662c*grouped_prediction_validation_data_b41c012176019319*grouped_prediction_validation_data_e01b1b4b3965221c*grouped_prediction_validation_data_3874c255e53c1383*grouped_prediction_validation_data_545a2061ccf66eae*grouped_prediction_validation_data_899c044c4169f390*grouped_prediction_validation_data_1a8974379016308c*grouped_prediction_validation_data_49201db2838c6929*grouped_prediction_validation_data_ccce4d0359ce5d7b*grouped_prediction_validation_data_3d57184a55a20d58*grouped_prediction_validation_data_34b8565be1e87fa8*grouped_prediction_validation_data_68775444e7e8c07f*grouped_prediction_validation_data_a53488cbd2b9578b*grouped_prediction_validation_data_03881fe7ffdc7f9c*grouped_prediction_validation_data_38f6a034fb616610*grouped_prediction_validation_data_cc60c344a1e57269*grouped_prediction_validation_data_28cd76a9b6604756*grouped_prediction_validation_data_d1e0230a50c24486*grouped_prediction_validation_data_1dcbc72ad3da6153*grouped_prediction_validation_data_bf83b8e5bc3052f0*grouped_prediction_validation_data_57f80617ca886504*grouped_prediction_validation_data_e870623c2d59dae5*grouped_prediction_validation_data_102c70686dd27935*grouped_prediction_validation_data_c2ff9203f9881dd9*grouped_prediction_validation_data_6d3abb81f47c2c2a*grouped_prediction_validation_data_c60572e6a3e3f2d4*grouped_prediction_validation_data_15e5fdf05a0bdf4c|0.026|| +groups_22839266168d3abd|branch|981945455293c426|4d694e8490b66e3b|2c530c1562a7fbd1|1874651719||t19963.6460759982s|604be24a3c1f227f|1084|qs|local|vector|groups||0|| +groups_1dea730f03a8668d|branch|7e07e6d392f65df9|4d694e8490b66e3b|2c530c1562a7fbd1|-67527994||t19963.6460775313s|91e87676b98e7a75|1136|qs|local|vector|groups||0|| +groups_6c3d37bd2c49dea0|branch|c1b8e02a6d67f15b|4d694e8490b66e3b|2c530c1562a7fbd1|-585988577||t19963.6460794439s|c50bf535ceb4570b|1129|qs|local|vector|groups||0|| +submission_data_8ac85479d8b42647|branch|ffce28740b1ecacf|185fb209a0f85e93|f20f883d52c066e3|394188199||t19963.6460815064s|bb9148926157afb5|364|qs|local|list|submission_data||0.017|| +submission_data_ed34bc36b4450a90|branch|d2c238205da849f1|185fb209a0f85e93|ea3e9ba149cbef0f|126233019||t19963.6460839278s|ed14b4d8526ebe37|334|qs|local|list|submission_data||0.003|| +augmented_data_5ceb7ea04b9d9a9b|branch|912261725ea671e9|317a6b9857648af8|381f266acd78aab0|-2140129933||t19963.646087006s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.072|| +augmented_data_7714a5aeca552d88|branch|11b44ba984ffaf6f|317a6b9857648af8|3728afadde2f9d79|-1265690894||t19963.6460897582s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.033|| +validated_augmented_data_7b23546ddaf187c5|branch|05a9118e2154bd85|e57a32141c4128a5|128950051ed9cd69|-1472553818||t19963.6460930701s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.083|| +validated_augmented_data_5a0ff76060cea718|branch|b9402bea06a3d0eb|e57a32141c4128a5|4219962652800b70|1207117292||t19963.6460970412s|d755b320cb28ca69|1786|qs|local|list|validated_augmented_data||0.08|| +prediction_checks_08b196760bd2fa52|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|8191704ce0a6c284|189923781||t19963.6461008663s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.086|| +ManyEcoEvo_viz|stem|68d7fb582481f722|b192ce5602f4f658|595d90f826633444|1676542164||t19963.6461042149s|4cba20cb1bafb75c|3434154|qs|local|vector|||17.249|| +prediction_checks_bf30c4e240c3d74a|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|66dbd7b85848ff44|994174550||t19963.6461045622s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.089|| +groups_59f13eb58c73cf34|branch|e9e5a8621c2b9215|4d694e8490b66e3b|2c530c1562a7fbd1|-386982775||t19963.64610733s|1f99774c9dafe976|1102|qs|local|vector|groups||0|| +groups_b0d8fdcab6cfe19f|branch|d2387071a5854f3b|4d694e8490b66e3b|2c530c1562a7fbd1|-46994410||t19963.6461097515s|38c1d58ae331093d|1231|qs|local|vector|groups||0|| +groups_4c27c02f93e27031|branch|47b8546213336ddc|4d694e8490b66e3b|2c530c1562a7fbd1|-960382195||t19963.6461100795s|9819fb286e84d550|1104|qs|local|vector|groups||0|| +submission_data_613fb0a37a099e4d|branch|182d361902fba0d7|185fb209a0f85e93|a5a599a46bfbc521|-155219289||t19963.6461127941s|123ce49f82eb3e1b|315|qs|local|list|submission_data||0.004|| +submission_data_bb08d0f95569a214|branch|356ac8e05f1d95f1|185fb209a0f85e93|98bc6af1bc1a08fb|-444874226||t19963.6461136042s|23c5199cbe97be21|325|qs|local|list|submission_data||0.015|| +submission_data_c535ed69266eaed0|branch|f0bcfcf8755e21e2|185fb209a0f85e93|4a820503d5eafc2f|-1536515277||t19963.6461153877s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.003|| +augmented_data_4a24983f147695da|branch|8d23e2852ae7046f|317a6b9857648af8|39e13261e332885b|-971122492||t19963.6461170052s|922598d76622d54c|287|qs|local|list|augmented_data||0.021|| +augmented_data_94d3b2f5f3b8a804|branch|b462bbb2a62a73fe|317a6b9857648af8|0b88735875f4d736|-1346499983||t19963.6461188902s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.026|| +augmented_data_86cb2d8a42d6266a|branch|1863d3b4f7faf9fa|317a6b9857648af8|221536e34896df33|694750668||t19963.64612197s|b8e2cd780a68e456|333|qs|local|list|augmented_data||0.025|| +validated_augmented_data_6138db413359e388|branch|9dae4a8af9169deb|e57a32141c4128a5|0c4c48e46892d85e|-1938215916||t19963.6461237371s|a7b4893de70576d0|1813|qs|local|list|validated_augmented_data||0.105|| +validated_augmented_data_719ef3e55d9c9084|branch|edac4c4532364161|e57a32141c4128a5|a3252c83e628f032|-141806528||t19963.6461271371s|cbe36289148c407c|1793|qs|local|list|validated_augmented_data||0.109|| +validated_augmented_data_41a33e87a561e6fe|branch|29329ff22299c7f7|e57a32141c4128a5|1adab2116d550403|1469131537||t19963.6461277266s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.095|| +prediction_checks_6a55445351092a1f|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|87a02b2915d78a8a|1386511166||t19963.6461308094s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.08|| +prediction_checks_1ac6321eca95d9dc|branch|f14065e0b84e4690|ca3c76dd51ebc9f7|4f02ffe8835661bd|-212637239||t19963.6461309254s|f8bff6bda11134a2|346|qs|local|list|prediction_checks||0.08|Failure to validate that column ci.low is of type numeric.The col_is_numeric validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1. Failure to validate that column ci.hi is of type numeric.The col_is_numeric validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1| +groups_27657ad318930967|branch|b29d978f4cb46695|4d694e8490b66e3b|2c530c1562a7fbd1|-1638123725||t19963.6461331176s|e9f47056e04b6523|1149|qs|local|vector|groups||0|| +prediction_checks_9858b3220c5a3eb5|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|028926816d59676c|240483953||t19963.6461332857s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.062|| +submission_data_ed4a1fe06231ac91|branch|a79b9ee25f32663c|185fb209a0f85e93|00b98512ec7bf7b3|1824973166||t19963.6461350726s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| +groups_5936e6d1e5aa8649|branch|496bf6a4dfd008a4|4d694e8490b66e3b|2c530c1562a7fbd1|-570698895||t19963.6461353242s|f1ffc4cabacf637d|1101|qs|local|vector|groups||0|| +submission_data_22471f5da2cbe218|branch|33c80b818fd4d10c|185fb209a0f85e93|fdd92e30035ca895|333754492||t19963.6461368118s|5975598e4e5a6487|323|qs|local|list|submission_data||0.004|| +augmented_data_d8f5d08715fe0a23|branch|7d2591fdd2225836|317a6b9857648af8|84a352bf3b9581cb|292944830||t19963.6461376045s|b3acff78117e63c5|263|qs|local|list|augmented_data||0.01|| +submission_data_ddd3bfcd088d56d0|branch|b0c02436937872cd|185fb209a0f85e93|45c7fd6916b360b8|-361307527||t19963.646138572s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.003|| +augmented_data_e76cb5b887f85687|branch|ebb6859b4941adaa|317a6b9857648af8|a0cb7c47316710de|-1476979570||t19963.6461398836s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.012|| +groups_31649958eeba71da|branch|9ad3f5dbe5401255|4d694e8490b66e3b|2c530c1562a7fbd1|1190902017||t19963.6461403305s|1567da7096352c5b|1097|qs|local|vector|groups||0|| +augmented_data_6198c2501a919193|branch|c3e669d0de403738|317a6b9857648af8|8dcd0134cfd1b30b|-1782773946||t19963.646142253s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.012|| +validated_augmented_data_921e3c319b6b55bb|branch|841c9810912d05d0|e57a32141c4128a5|c7091e795312c17c|1115026502||t19963.6461428534s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.056|| +groups_337a56a62ef09414|branch|0bd69e48305d527b|4d694e8490b66e3b|2c530c1562a7fbd1|-1171563141||t19963.6461444652s|3d6c3a9ec6dc0116|1128|qs|local|vector|groups||0|| +validated_augmented_data_d9fcb25c1333f3a7|branch|6dd7f44f44d0236c|e57a32141c4128a5|cd51f397e8ba9f38|857740991||t19963.6461452939s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.053|| +submission_data_75a59c7e41c58ed6|branch|c167275248dac2f2|185fb209a0f85e93|9d8101e9e8eb77bf|-305529500||t19963.6461470512s|ed14b4d8526ebe37|334|qs|local|list|submission_data||0.003|| +prediction_checks_5c36416de01f6270|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|cf8f61ecc995eae1|-718462647||t19963.6461474725s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.067|| +prediction_checks_bb90bbeb14b83e7a|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|1247d7e164309795|-311961984||t19963.6461495751s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.072|| +augmented_data_8cf55628b5baa817|branch|4f747528877ae1a8|317a6b9857648af8|525d5df860a2581d|-883197075||t19963.6461498345s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.013|| +groups_ce4b9b6da3b8de19|branch|16085a5b08bd6347|4d694e8490b66e3b|2c530c1562a7fbd1|-782411020||t19963.6461513435s|6e1dcfc1aa582c14|1109|qs|local|vector|groups||0|| +groups_f6746841fc9919a7|branch|9418044adc7f5a97|4d694e8490b66e3b|2c530c1562a7fbd1|-1293045981||t19963.646152032s|bd1fd247b1ebd809|1116|qs|local|vector|groups||0|| +validated_augmented_data_13247c5ec1e128de|branch|32b0b462eccd06f5|e57a32141c4128a5|57a5ed13eee8b036|7705847||t19963.6461539033s|107574dcf922e822|1791|qs|local|list|validated_augmented_data||0.06|| +submission_data_430f3ca35070f0ec|branch|7c68795f47f8d683|185fb209a0f85e93|078cb63e61f66c02|1074814864||t19963.6461543872s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| +submission_data_53b3ec526025527e|branch|611962d3e2d87aab|185fb209a0f85e93|c3138f0e12f8bf5c|-2034307033||t19963.6461557773s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| +prediction_checks_13e7c10fda18b2c8|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|72b23677cb0a84e7|-1215756348||t19963.6461573506s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.062|| +augmented_data_365f707e1f9ed3bb|branch|baf6e6c9012ea2a2|317a6b9857648af8|595c9abc4b6502c0|863927559||t19963.6461576894s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.009|| +groups_5e31e12fb9fe485f|branch|6e3825d1a73b71cf|4d694e8490b66e3b|2c530c1562a7fbd1|2103370841||t19963.6461594633s|330f8dfde079eec1|1091|qs|local|vector|groups||0|| +augmented_data_4ec123701c9a4984|branch|26bb7fe786baccf0|317a6b9857648af8|ff2bfef7cce345ee|762547957||t19963.6461597192s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.012|| +groups_f639ef27702ecb7e|branch|364445500141686e|4d694e8490b66e3b|2c530c1562a7fbd1|-664322128||t19963.6461610466s|9a1c4312a8a23837|1168|qs|local|vector|groups||0|| +validated_augmented_data_120b56db5bdbc012|branch|480f409e32c4716d|e57a32141c4128a5|df242f189cc6c66e|-1033320274||t19963.6461619415s|f47d612f0e7a7e48|1877|qs|local|list|validated_augmented_data||0.06|| +submission_data_33f1a36c64a5f560|branch|9a0981f42e6b8094|185fb209a0f85e93|fab504cc5fad56b9|-2058288417||t19963.6461619769s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| +validated_augmented_data_56a7ae8dc3243cb5|branch|77989e747ea14d78|e57a32141c4128a5|4cea932353f365f5|2019137286||t19963.6461634258s|655c09970e168ce0|1866|qs|local|list|validated_augmented_data||0.058|| +submission_data_29f7215b81560635|branch|42e83a01480ffa25|185fb209a0f85e93|2c2c143cb30e9624|-2071056577||t19963.6461638145s|d135c5cb0b7ba5c6|335|qs|local|list|submission_data||0.003|| +groups_01138c7377535b92|branch|14f02ca262d6adf1|4d694e8490b66e3b|2c530c1562a7fbd1|-1073962726||t19963.6461642966s|e97d2ccab22da292|1150|qs|local|vector|groups||0|| +validated_augmented_data_7fbf893a6e53d76b|branch|17003ab4cf2a5341|e57a32141c4128a5|9002af3bcbda0320|-626872614||t19963.6461655864s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.125|| +prediction_checks_abcc036e8f821cdf|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|5730d44734fba451|811805858||t19963.6461661388s|e06562061609e01a|338|qs|local|list|prediction_checks||0.08|| +prediction_checks_aa5725ad981362ad|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|8317dbcd69a9072d|1962581089||t19963.6461664852s|e06562061609e01a|338|qs|local|list|prediction_checks||0.069|| +augmented_data_efdd841e81833a95|branch|3a354618f98ebbe5|317a6b9857648af8|31ddf89902235099|-1646876014||t19963.6461668505s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.014|| +augmented_data_3e0a1a7a89327624|branch|bfe4a1a4387eccf2|317a6b9857648af8|7071c78a71d93293|779493418||t19963.6461676711s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.019|| +groups_c488c85fca52d0ef|branch|61b58ba58e2bab72|4d694e8490b66e3b|2c530c1562a7fbd1|1423856726||t19963.6461683685s|f44c15a3e082d69e|1098|qs|local|vector|groups||0|| +prediction_checks_d443e15f296dfbda|branch|fc704b2071f69cef|ca3c76dd51ebc9f7|b7c95133e78dc2fe|-1743185499||t19963.6461688487s|3fda9b692b1d9985|330|qs|local|list|prediction_checks||0.073|| +groups_ad105925e5fa67f2|branch|de87257051c38ffa|4d694e8490b66e3b|2c530c1562a7fbd1|-1399320150||t19963.6461691878s|784ad81ec66d4ed3|1189|qs|local|vector|groups||0|| +validated_augmented_data_c4877a335077ed1e|branch|44000843cdb69bbe|e57a32141c4128a5|c76273e4b1eecaf5|-1338067192||t19963.6461702038s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.062|| +submission_data_fdfbbb5ff66761b0|branch|068b451e9b6c8f81|185fb209a0f85e93|ce435c99b32da0b5|380999154||t19963.6461707011s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.006|| +validated_augmented_data_9c4afcf765271c17|branch|6da660fc40e870b6|e57a32141c4128a5|26a93bb0e265a035|225218404||t19963.6461709102s|ede885a811dd8bba|1798|qs|local|list|validated_augmented_data||0.057|| +groups_8ed81d55951232af|branch|8ef696563ebead87|4d694e8490b66e3b|2c530c1562a7fbd1|-1273447512||t19963.6461715181s|c50bf535ceb4570b|1129|qs|local|vector|groups||0|| +submission_data_b66a4b00e01c5a82|branch|bb89b40beddda647|185fb209a0f85e93|51f90a12892b8618|-2039465413||t19963.6461720281s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.006|| +augmented_data_3cf447b0721dd478|branch|a6b570afff3e9a0e|317a6b9857648af8|d0ed85775fa974a8|-1540301693||t19963.6461729422s|b8e2cd780a68e456|333|qs|local|list|augmented_data||0.012|| +prediction_checks_99ab54271d503689|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|1721ef1fce836a12|-1787942650||t19963.6461732915s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.067|| +submission_data_9a1e21726c384b51|branch|e760c579c7189bac|185fb209a0f85e93|85d8d0cd0eac62ce|1857595288||t19963.6461738545s|e0807c4fc5685dfa|318|qs|local|list|submission_data||0.002|| +prediction_checks_245011b3e8890ff0|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|b8418b84c90ee28b|-226744740||t19963.6461746348s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.069|| +augmented_data_d83f2da4d35e1a53|branch|2d6d75e7c2a37bee|317a6b9857648af8|a6bfbb16674fae0e|94585444||t19963.6461749785s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.012|| +groups_06c0fb2af5837489|branch|9581e09a13644a6b|4d694e8490b66e3b|2c530c1562a7fbd1|1472974588||t19963.646175665s|2b93e0d131be1962|1082|qs|local|vector|groups||0.001|| +validated_augmented_data_f7d66dee6c5617d9|branch|0113d78f7fd7b447|e57a32141c4128a5|2fdc3037df0b64f6|1895907047||t19963.6461757649s|107574dcf922e822|1791|qs|local|list|validated_augmented_data||0.056|| +groups_b9647c331d5d9e08|branch|894814f14a548065|4d694e8490b66e3b|2c530c1562a7fbd1|-617858403||t19963.6461768401s|b866b845009245ef|1090|qs|local|vector|groups||0|| +augmented_data_7552291c042eda54|branch|202314c1e609b1ce|317a6b9857648af8|5ffa1c20ef6c168a|1781470707||t19963.6461771324s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.012|| +submission_data_508206396af0e729|branch|382aca0dc795c0ce|185fb209a0f85e93|ed4d6c0af3311e87|-1081776108||t19963.6461776948s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| +validated_augmented_data_53b8cb2bd1445f23|branch|1a5db6e9854cf6b4|e57a32141c4128a5|f986d9b69163770b|43822381||t19963.6461781624s|ee70cedb204b0f1a|1879|qs|local|list|validated_augmented_data||0.056|| +submission_data_5a0d979e0b4d5c66|branch|d700bbe54bad61c2|185fb209a0f85e93|4a4a56f88e8827a5|-752169009||t19963.6461795363s|23c5199cbe97be21|325|qs|local|list|submission_data||0.004|| +prediction_checks_febcdfc3a8cac733|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|03fcb1bc5af96fb8|408097350||t19963.6461796834s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.075|| +augmented_data_6c0b2e9938beef09|branch|3cb30ba7b430d722|317a6b9857648af8|0e76312e790e7845|401816464||t19963.6461802199s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.012|| +validated_augmented_data_a7c3df4652440f04|branch|9fcbed8e0e3b9554|e57a32141c4128a5|04805db27f63edea|-1528050632||t19963.6461802789s|973ce29d4f5dc732|1867|qs|local|list|validated_augmented_data||0.056|| +augmented_data_90ada5421f71b73b|branch|e04a7ce57bb4d20c|317a6b9857648af8|f61752749869bc6d|1424239795||t19963.6461817381s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.015|| +groups_5df8fce42b3ee4e6|branch|52de7ecd40f1672b|4d694e8490b66e3b|2c530c1562a7fbd1|1115087692||t19963.6461820526s|604be24a3c1f227f|1084|qs|local|vector|groups||0|| +submission_data_301761c667e2d5b0|branch|aa7faeb1a927da17|185fb209a0f85e93|b8271bdf0a33309d|-1994011136||t19963.6461821445s|e0807c4fc5685dfa|318|qs|local|list|submission_data||0.002|| +prediction_checks_d3a05f381bafcd76|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|ab3bf63eada817e8|123286922||t19963.6461825917s|e06562061609e01a|338|qs|local|list|prediction_checks||0.067|| +submission_data_98b8519dd449e5cc|branch|97ff1f6a5bdfaa65|185fb209a0f85e93|36489a6e2d958dbc|-972297801||t19963.6461838882s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| +prediction_checks_f4d0b9745fdfc665|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|8e8f37f3137403a7|2110835805||t19963.6461843465s|e06562061609e01a|338|qs|local|list|prediction_checks||0.065|| +validated_augmented_data_7b3152aad070d867|branch|2c4524e2547329ed|e57a32141c4128a5|260279d38de5a6c6|-1950683139||t19963.6461844902s|107574dcf922e822|1791|qs|local|list|validated_augmented_data||0.056|| +validated_augmented_data_50e4232fdcced123|branch|228793f7eaf1a5c0|e57a32141c4128a5|9b7b8c080cc4c3ea|-365784338||t19963.6461855744s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.059|| +groups_903ca1cc516d9347|branch|5cc46a16d6938d35|4d694e8490b66e3b|2c530c1562a7fbd1|509373325||t19963.6461857282s|3400c7708db5b591|1124|qs|local|vector|groups||0|| +groups_399905bf8d605a0d|branch|f4c2c7c569e5c6fc|4d694e8490b66e3b|2c530c1562a7fbd1|1013618755||t19963.6461862977s|e5205f1b03240154|1077|qs|local|vector|groups||0|| +augmented_data_ec53d74127fdfaac|branch|cef5d0a6fb0d0699|317a6b9857648af8|6dfa95c1e2945a3b|549756355||t19963.6461863597s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.013|| +submission_data_33530cce1581b5b9|branch|e92b9718cf9e9425|185fb209a0f85e93|8d40ebd278a58dce|-1411436712||t19963.6461882168s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| +prediction_checks_25ca30f2be20acec|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|29788a024307ed5e|-1150495311||t19963.6461884528s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.075|| +augmented_data_1dd1ffddec2b9b9f|branch|50d1ae9f7f8984cb|317a6b9857648af8|71631fc377fbca62|1732797261||t19963.646188467s|c93e8ca8fd5bc737|283|qs|local|list|augmented_data||0.012|| +prediction_checks_d296718ee3573ffd|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|949ce541afd6836d|-1210937557||t19963.6461887449s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.07|| +submission_data_db8ecdfdcc51b31f|branch|52dbd3022c01cc68|185fb209a0f85e93|2ba07583c7688520|1093138060||t19963.6461900651s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| +augmented_data_2a3d076e4e62801b|branch|6cea02c364d14b88|317a6b9857648af8|f0ef86fa7ffef1d3|1009318684||t19963.6461905209s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.013|| +validated_augmented_data_0a5feb8588fbf968|branch|5e8378b36a1b0b87|e57a32141c4128a5|ade96947d9202729|2061655373||t19963.6461909998s|5fd1d38a27b446ca|1796|qs|local|list|validated_augmented_data||0.056|| +groups_937bfa57cdecba0f|branch|c437e3591ff01c88|4d694e8490b66e3b|2c530c1562a7fbd1|-1733924305||t19963.6461911243s|767bbcd8bbbcb2ba|1118|qs|local|vector|groups||0|| +groups_3244ab6e4f58c015|branch|70942a9d6f216b6b|4d694e8490b66e3b|2c530c1562a7fbd1|-1099827630||t19963.6461919355s|26a56874cee0b160|1117|qs|local|vector|groups||0|| +augmented_data_7dd25987a9d0426b|branch|80eedc2637dbd3f0|317a6b9857648af8|b69e99a6e9ac4e30|-1542973281||t19963.6461924476s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.015|| +groups_eafe9025b05561fd|branch|bd8202dc4bccaa3b|4d694e8490b66e3b|2c530c1562a7fbd1|1144060426||t19963.6461934971s|3127a704ba0b1f8c|1094|qs|local|vector|groups||0|| +validated_augmented_data_470806ae184181c4|branch|ca43bd1db83e1801|e57a32141c4128a5|e14c540719fa69d7|-1666915903||t19963.6461935132s|b50f9019a4f99b6a|1871|qs|local|list|validated_augmented_data||0.055|| +submission_data_ab6d698b4b9cf6c7|branch|cf896075cbcc4668|185fb209a0f85e93|8bafad7f281bd3f3|-778010821||t19963.6461942496s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| +prediction_checks_ecd6fb3d575017eb|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|556a070c8569aee6|-159694662||t19963.646194631s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.073|| +submission_data_93f3c69aec7c16d7|branch|d89bbe638bb1ea8e|185fb209a0f85e93|2ec3d8bf95f9afaf|-1102746791||t19963.6461953899s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.003|| +validated_augmented_data_659adbd2cad83944|branch|6fa30849126ea474|e57a32141c4128a5|705e453523d5d63a|1858997361||t19963.6461964898s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.059|| +augmented_data_528fba3a0e8b5dcf|branch|730289366474b035|317a6b9857648af8|79f333db16386d0c|-1324146007||t19963.6461966388s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.012|| +prediction_checks_cc8a55216a7b5045|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|f7c8f2c740e57945|-2005163467||t19963.646196811s|e06562061609e01a|338|qs|local|list|prediction_checks||0.066|| +groups_110bc0420636fd74|branch|814bb56f2f76a9d8|4d694e8490b66e3b|2c530c1562a7fbd1|280039547||t19963.6461972187s|2c519d8274f85a61|1121|qs|local|vector|groups||0|| +augmented_data_a3e1d41cbb153a53|branch|3da8f7ebd4392a48|317a6b9857648af8|66f70389aa4a0935|-387246213||t19963.6461989916s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.016|| +groups_6fdd24b4b553a943|branch|0cf1104dc19b0748|4d694e8490b66e3b|2c530c1562a7fbd1|-1854323035||t19963.646199094s|03165f80a2cd5d1f|1120|qs|local|vector|groups||0|| +prediction_checks_0c71001ed42a2d7e|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|8716d59f50f9da66|2103118201||t19963.6461992895s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.073|| +validated_augmented_data_77cf3046b6ea9f25|branch|88dacad7aee78f30|e57a32141c4128a5|420bca1ddda57ca2|1404072490||t19963.6461993296s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.061|| +submission_data_259ad3704e63f7b8|branch|30c33cd4c873631c|185fb209a0f85e93|d97498454e7535e4|-1913510142||t19963.6462010193s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.004|| +submission_data_ccf10e8d0be6bd9f|branch|98fabc8c156fea59|185fb209a0f85e93|3a93020a94de70c4|-2048859779||t19963.6462012545s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| +submission_data_630aab51d0a68186|branch|e81f09f281ac5860|185fb209a0f85e93|968761603c367251|-625003976||t19963.6462014222s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| +validated_augmented_data_9de7fc3a4982cb1e|branch|f22b2fa41914e0a5|e57a32141c4128a5|062be35fe6ca03cf|1903689491||t19963.6462019685s|6613dbc0d94c90e5|1784|qs|local|list|validated_augmented_data||0.061|| +groups_8bdf1cad23bf5c0e|branch|e9f07553168945e3|4d694e8490b66e3b|2c530c1562a7fbd1|-2042527445||t19963.6462030021s|2c519d8274f85a61|1121|qs|local|vector|groups||0|| +augmented_data_e0d31cdba59a1120|branch|8e99c2ccb7484a30|317a6b9857648af8|cea886ef2f297063|-1433635347||t19963.6462039249s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.011|| +prediction_checks_4479da5b73e3a7aa|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|a09ad4b78cd24154|89558587||t19963.6462039349s|e06562061609e01a|338|qs|local|list|prediction_checks||0.07|| +augmented_data_4f324335760aa795|branch|0d7df96923f7330c|317a6b9857648af8|2792c25c0137dd43|1667165623||t19963.6462040256s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.011|| +prediction_checks_3b29e3d6f1c55506|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|24a91a68c706bee7|991027185||t19963.6462056708s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.067|| +augmented_data_bfe30684cde965da|branch|99eff1516330963a|317a6b9857648af8|9b368afe5c7c7e7b|1012651855||t19963.646205866s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.015|| +groups_b9fd491424833b33|branch|c4b81131f41df5d9|4d694e8490b66e3b|2c530c1562a7fbd1|2109028143||t19963.6462058861s|76bed936d3449236|1137|qs|local|vector|groups||0|| +submission_data_3d6beb99b6d3d199|branch|8991aaa546f2db12|185fb209a0f85e93|602c1d32087e2894|1318793906||t19963.6462062355s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| +groups_864e4228fdd2a186|branch|86fc43d7a43549be|4d694e8490b66e3b|2c530c1562a7fbd1|-1576432295||t19963.6462076868s|9819fb286e84d550|1104|qs|local|vector|groups||0|| +groups_5ee5a6103ceebf0e|branch|6f3f0adf50bdd253|4d694e8490b66e3b|2c530c1562a7fbd1|1065675691||t19963.6462077135s|a099961c4ef116d9|1114|qs|local|vector|groups||0.001|| +validated_augmented_data_ba638f357ca27982|branch|5475ec5740077429|e57a32141c4128a5|610c5751d2d81cea|84538488||t19963.6462082116s|655c09970e168ce0|1866|qs|local|list|validated_augmented_data||0.059|| +groups_fb818d0c27cb1507|branch|aa62006177ac7df4|4d694e8490b66e3b|2c530c1562a7fbd1|2068932568||t19963.6462085351s|0a8a7d3247202c8a|1222|qs|local|vector|groups||0|| +augmented_data_6180e436319a6f72|branch|98383892a5fd9965|317a6b9857648af8|aabf1bdf6504e480|200980385||t19963.6462096813s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.012|| +submission_data_1a413e509a10128a|branch|c4fed3f1600bcff2|185fb209a0f85e93|6f4ab7c2dca978bd|-126984473||t19963.6462101617s|23c5199cbe97be21|325|qs|local|list|submission_data||0.002|| +validated_augmented_data_dd8da52172f5b944|branch|dbb26756d3953cef|e57a32141c4128a5|61cbdfd68686f9e4|-614344339||t19963.6462102553s|d81b32700284785a|1794|qs|local|list|validated_augmented_data||0.065|| +submission_data_8a3535590fb7a64f|branch|7569ed24164ab7f4|185fb209a0f85e93|73fd16ad6996bb4f|127956072||t19963.6462115921s|24c2ba8d4fe0ab05|322|qs|local|list|submission_data||0.003|| +prediction_checks_dc5b873c5665434a|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|36917e276b7fd9ee|-648295479||t19963.6462117047s|e06562061609e01a|338|qs|local|list|prediction_checks||0.07|| +submission_data_7d120b7926ad30e8|branch|4e58780c95e2b9e9|185fb209a0f85e93|8ee35cda8ca91514|-1720299900||t19963.646212237s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| +validated_augmented_data_4062f7b61b835765|branch|e292be9ad7429d3c|e57a32141c4128a5|607e66cc25f62f51|-1894885279||t19963.6462128808s|797fe15db2fe27af|1880|qs|local|list|validated_augmented_data||0.069|| +augmented_data_25d0721916fbcc75|branch|2b9ab989d4907a25|317a6b9857648af8|fec6558757cfc67c|-204882583||t19963.6462140478s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.021|| +groups_d9c9b4899505dde6|branch|62c4ed68fa4f42df|4d694e8490b66e3b|2c530c1562a7fbd1|278342453||t19963.6462144636s|131c443c821ad91b|1201|qs|local|vector|groups||0|| +augmented_data_e87531e69de6de76|branch|ecdc2b980fe95342|317a6b9857648af8|a57429af0ff91dfb|-218627644||t19963.6462147069s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.013|| +prediction_checks_f011ee6967aa7d48|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|b6aa9838c1a5571e|-1765646194||t19963.6462159944s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.071|| +prediction_checks_ab08fa3cc8b607fb|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|b787145a9df813be|-1567439112||t19963.6462166785s|e06562061609e01a|338|qs|local|list|prediction_checks||0.064|| +validated_augmented_data_4e080a8c8a2113df|branch|4477d47523faa228|e57a32141c4128a5|06e9196ba5a70f20|-520083888||t19963.6462169305s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.06|| +submission_data_8692eda4655f564d|branch|5da4ab6dc64588ac|185fb209a0f85e93|6342ddb444f87c19|-2009317467||t19963.6462170096s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.002|| +validated_augmented_data_0cf5a62fc25cf42c|branch|44283b054bc81a24|e57a32141c4128a5|415adfc0c2c33039|-1867712928||t19963.6462184792s|c19d5c5cf79418b6|1795|qs|local|list|validated_augmented_data||0.059|| +augmented_data_e34488f0c434f549|branch|adef76ab36e3bbc4|317a6b9857648af8|a1c860d6c6e4423b|85247464||t19963.6462186061s|d4b6668dfa3b2f11|340|qs|local|list|augmented_data||0.013|| +groups_6c035e9ced6a276f|branch|f20f991c50c5308f|4d694e8490b66e3b|2c530c1562a7fbd1|1150904741||t19963.6462187938s|24ee0111251d0a5d|1200|qs|local|vector|groups||0|| +groups_c5210b3894defa63|branch|2c0ffff342de208f|4d694e8490b66e3b|2c530c1562a7fbd1|-1833618149||t19963.6462193272s|c7aa412afb92d856|1202|qs|local|vector|groups||0.001|| +augmented_data_5f1a4d66abe5b614|branch|8470907e91d5e12d|317a6b9857648af8|0ea18f4d2b61d4f5|1533833184||t19963.6462205306s|951e45bf59ec048d|341|qs|local|list|augmented_data||0.011|| +prediction_checks_a015239f94db1a29|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|cfeaf45f2b9c0ec3|-1759412234||t19963.6462211709s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.065|| +prediction_checks_397ccc8b004ba737|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|034120d3d7edfedf|-1451145512||t19963.6462213131s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.063|| +submission_data_8d81d62b6fec8e7e|branch|c32a328c65343ae9|185fb209a0f85e93|0f26a08a708441c6|533046166||t19963.6462216923s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.003|| +groups_5961886c48d26cbc|branch|70c6d0f1aa561b43|4d694e8490b66e3b|2c530c1562a7fbd1|-1171856881||t19963.6462231429s|7b982a1bdec4aad0|1269|qs|local|vector|groups||0|| +validated_augmented_data_7a9ee6de1437997c|branch|737de2c82bfe3202|e57a32141c4128a5|769d062fb3d6d862|-1372428096||t19963.646223158s|2bdb7e9d5623598b|1876|qs|local|list|validated_augmented_data||0.063|| +validated_augmented_data_26c6c1b6b78ee087|branch|c6db3c0850b0866f|e57a32141c4128a5|8224c5454ec1393a|1724581400||t19963.6462236715s|2bdb7e9d5623598b|1876|qs|local|list|validated_augmented_data||0.059|| +groups_6254864b4a88a706|branch|78c3c6ae997c135d|4d694e8490b66e3b|2c530c1562a7fbd1|870937184||t19963.6462241141s|aa8a60c557b98faa|1135|qs|local|vector|groups||0|| +submission_data_3371a1d6cd702c74|branch|18faa0b8775530bf|185fb209a0f85e93|e2613fd64993e760|992380484||t19963.646225182s|3fda9b692b1d9985|330|qs|local|list|submission_data||0.003|| +augmented_data_3cfc88cca0185961|branch|dd155f07aa5e2783|317a6b9857648af8|8a33fa4595fe7e70|257022903||t19963.646225184s|951e45bf59ec048d|341|qs|local|list|augmented_data||0.014|| +submission_data_192d15bd4983da14|branch|d878369658d94cd3|185fb209a0f85e93|12156eac4035f30f|135620542||t19963.6462255943s|3fda9b692b1d9985|330|qs|local|list|submission_data||0.003|| +submission_data_3a589773855064c7|branch|d9bb4b95e6e2ad28|185fb209a0f85e93|83733f8cfd88ec95|-192496178||t19963.646227132s|caf638a76037586b|314|qs|local|list|submission_data||0.003|| +prediction_checks_b0ebcbb7a5f611cf|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|b3a9630dcf9a832c|1383166113||t19963.6462273712s|e06562061609e01a|338|qs|local|list|prediction_checks||0.07|| +augmented_data_7b03f8d8b58dc19c|branch|900a8cda91a20bec|317a6b9857648af8|8cd55ae478c5e0d4|-1756598799||t19963.6462275792s|d4b6668dfa3b2f11|340|qs|local|list|augmented_data||0.011|| +prediction_checks_01e1e08599784ae0|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|d450ba36c3b75c7d|1814943592||t19963.6462278567s|e06562061609e01a|338|qs|local|list|prediction_checks||0.064|| +augmented_data_10499900811e4733|branch|1daacda0be97bf9a|317a6b9857648af8|bcc28bbc7086e90b|341875849||t19963.6462291268s|d4b6668dfa3b2f11|340|qs|local|list|augmented_data||0.013|| +groups_d6a567634fcc7b67|branch|df4a80f7b0761245|4d694e8490b66e3b|2c530c1562a7fbd1|549465696||t19963.6462294293s|b7e050e10aa8f46a|1130|qs|local|vector|groups||0|| +augmented_data_ef0a5ebed63b41b2|branch|72bdb7a3222c0312|317a6b9857648af8|6eb27151cfef2fc8|409121574||t19963.6462297811s|5fd506c22813817a|320|qs|local|list|augmented_data||0.01|| +validated_augmented_data_9a0d50f454d290cc|branch|8232387626a81fa7|e57a32141c4128a5|b794196abdc13708|-1791506878||t19963.6462303361s|353340f2803c8797|1872|qs|local|list|validated_augmented_data||0.055|| +groups_12cc0b31d19e2de6|branch|364e85d042c27ba4|4d694e8490b66e3b|2c530c1562a7fbd1|-2085395515||t19963.6462310117s|d57103b150eef02e|1113|qs|local|vector|groups||0.001|| +validated_augmented_data_0d941305ac8f8f6f|branch|b248e228e9c1f0c4|e57a32141c4128a5|a0f627fbd09740ec|1428916263||t19963.6462319087s|f47d612f0e7a7e48|1877|qs|local|list|validated_augmented_data||0.057|| +submission_data_3691e06a5681ed0e|branch|156b2d85f90c5956|185fb209a0f85e93|a5186835bbee9102|-2014750702||t19963.6462320434s|6be112dd1b9be7a0|316|qs|local|list|submission_data||0.004|| +validated_augmented_data_cba66098e4c18c0e|branch|7a43af4386948b96|e57a32141c4128a5|03c4177376ad9dde|-212961074||t19963.6462329482s|246223f788d12999|1860|qs|local|list|validated_augmented_data||0.065|| +prediction_checks_820fdb3c74428fa0|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|203372494e3ce74a|-759412003||t19963.6462337091s|e06562061609e01a|338|qs|local|list|prediction_checks||0.073|| +submission_data_a3ef8e1cf4fc1d3e|branch|31625fdd79bd4a3c|185fb209a0f85e93|735e3c8d006c7846|1641610845||t19963.6462337581s|24c2ba8d4fe0ab05|322|qs|local|list|submission_data||0.003|| +augmented_data_4fd0f4bbeb073d05|branch|801ee27dc11f3c56|317a6b9857648af8|a51cc4e27892b296|487620829||t19963.6462350427s|5975598e4e5a6487|323|qs|local|list|augmented_data||0.012|| +prediction_checks_1397102747f8ada2|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|02404c1e8ccd670a|-1421001153||t19963.6462352201s|e06562061609e01a|338|qs|local|list|prediction_checks||0.071|| +validated_augmented_data_7e65b12bd842b9e3|branch|cc5d011f55a905fa|e57a32141c4128a5|1574a5bde73afa28|-1040869183||t19963.6462362684s|027de0cecbf880a8|1878|qs|local|list|validated_augmented_data||0.055|| +prediction_checks_99d424b5419a701a|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|ef9e962f09bce0c2|-1332343092||t19963.6462364857s|e06562061609e01a|338|qs|local|list|prediction_checks||0.067|| +groups_e9b5b48b2e8c266e|branch|2ce233117e9582ea|4d694e8490b66e3b|2c530c1562a7fbd1|1852004610||t19963.6462369161s|9d0d21ea3386f962|1092|qs|local|vector|groups||0.001|| +groups_b2796b98afb15ac3|branch|7303c0387aba78c1|4d694e8490b66e3b|2c530c1562a7fbd1|-477202567||t19963.6462381181s|642bd8b2374bb5ef|1171|qs|local|vector|groups||0|| +validated_augmented_data_427e73198bdeede2|branch|60bca84370186975|e57a32141c4128a5|ccf7b439ff40c7a2|-2118148658||t19963.6462382143s|70c7d7c6723fc8f6|1855|qs|local|list|validated_augmented_data||0.061|| +augmented_data_6127eae7ebece6b7|branch|f13b1360bb5fc11e|317a6b9857648af8|f58d17a0fbc0348e|-1199255673||t19963.6462385135s|6f5955ab594f49f2|329|qs|local|list|augmented_data||0.013|| +groups_e8ed7d87e7b33e3e|branch|cc04c7fd6451bd82|4d694e8490b66e3b|2c530c1562a7fbd1|582332731||t19963.6462387779s|f7c7e205cd47c221|1107|qs|local|vector|groups||0|| +submission_data_51333a3fc2a7e70f|branch|651518d8b2f9723b|185fb209a0f85e93|fb05a520767c0030|-1925749878||t19963.6462399226s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| +submission_data_d1014dc509b15f9c|branch|f68c2cecd508df29|185fb209a0f85e93|ea992324a56c7889|-1106933716||t19963.6462405485s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.003|| +prediction_checks_ae5136def93ca865|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|ab828b17f3056565|-710289958||t19963.6462411701s|e06562061609e01a|338|qs|local|list|prediction_checks||0.066|| +validated_augmented_data_858381839be478cc|branch|fb5a502a53b21268|e57a32141c4128a5|43acd5cd06cea31f|-1939691121||t19963.6462412835s|b50f9019a4f99b6a|1871|qs|local|list|validated_augmented_data||0.055|| +submission_data_c473b68b3bb73d3c|branch|8f6fb291c5e845be|185fb209a0f85e93|9669f633b09977ef|-1281200352||t19963.6462417349s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| +augmented_data_1e684cef8c7cc5ae|branch|c076c9e709a1703e|317a6b9857648af8|59ddb30ddd388cc0|1925248987||t19963.6462430019s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.014|| +groups_d1523ed5a6f7bf0d|branch|85d40c1010c9ceda|4d694e8490b66e3b|2c530c1562a7fbd1|214798928||t19963.6462431396s|3d6c3a9ec6dc0116|1128|qs|local|vector|groups||0|| +augmented_data_ff452ec69a5060a0|branch|c84f9ec096c32976|317a6b9857648af8|950eb84030039bbc|1427526573||t19963.6462431825s|3b08e2f63a5e0c0d|300|qs|local|list|augmented_data||0.013|| +prediction_checks_d47f661c8d403250|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|ea2f6d108e3e2d7c|708687422||t19963.6462443296s|e06562061609e01a|338|qs|local|list|prediction_checks||0.063|| +augmented_data_fd76c498df2c4759|branch|563033357deeb671|317a6b9857648af8|08a5c9d328da0c02|1350334189||t19963.6462454611s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.013|| +validated_augmented_data_e68986aa3f6508f2|branch|1629402eea3ce070|e57a32141c4128a5|beec86680abc31bb|-1764748374||t19963.6462456676s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.057|| +prediction_checks_511dec9721616632|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|a209942e0389010b|1157772299||t19963.6462456986s|e06562061609e01a|338|qs|local|list|prediction_checks||0.065|| +submission_data_8ceb99d2547b31ef|branch|dd68e20ef0c88062|185fb209a0f85e93|10192acb6ca2db8e|-1764925999||t19963.6462463526s|6f5955ab594f49f2|329|qs|local|list|submission_data||0.003|| +groups_e04ba1e58563a7c6|branch|99931598c801f9d3|4d694e8490b66e3b|2c530c1562a7fbd1|1687814105||t19963.6462479726s|e5ecbbdfbbf79cd1|1166|qs|local|vector|groups||0|| +submission_data_a1ba5bd4650bf75f|branch|c431688d9924d24d|185fb209a0f85e93|0e6ee5e741e29da5|383374293||t19963.646248314s|bee0075ccd2d212e|367|qs|local|list|submission_data||0.002|| +validated_augmented_data_1d98680bb820c76c|branch|f010c29394d27f71|e57a32141c4128a5|dab74710f266e363|1383539901||t19963.6462492077s|f2e3027a063de947|1830|qs|local|list|validated_augmented_data||0.082|| +validated_augmented_data_9d9de3f38bc44a0c|branch|3f7885582fba8785|e57a32141c4128a5|ef718b86882a27a1|1929097969||t19963.6462495656s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.069|| +groups_2072a2f743b21a67|branch|3caf00822ca9d3c0|4d694e8490b66e3b|2c530c1562a7fbd1|-1857739169||t19963.6462503541s|686cfb66ac45f031|1167|qs|local|vector|groups||0.001|| +groups_bb63aeb96cd4079d|branch|7a4d87179c6d66b0|4d694e8490b66e3b|2c530c1562a7fbd1|-1712726474||t19963.6462515654s|e25ba2a07346d9c0|1056|qs|local|vector|groups||0|| +augmented_data_97593c1ba98e543f|branch|f419f36759c58de9|317a6b9857648af8|5eb32f7bff68246a|1294087477||t19963.6462522487s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.028|| +prediction_checks_4dbd6d5c3a8a5aba|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|2213479c4384b388|928469738||t19963.6462526576s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.08|| +prediction_checks_04da8c769a01c8ed|branch|549ae252f79a7252|ca3c76dd51ebc9f7|20ba16a26f3d113d|2071784989||t19963.6462534069s|9fa82258c19da069|337|qs|local|list|prediction_checks||0.066|| +submission_data_8ffa8c52eeac23d2|branch|f609cd771c5b9110|185fb209a0f85e93|750b945eafcb710c|1106303030||t19963.6462537801s|b0e8a36a8bde68fd|362|qs|local|list|submission_data||0.003|| +submission_data_a39d7081ee541725|branch|67185833cb4e1001|185fb209a0f85e93|fb9c6014bd20cb0c|593529559||t19963.6462547775s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| +validated_augmented_data_fb7c7f133b2f394b|branch|6ea75d3a184b6967|e57a32141c4128a5|3657daf4dcd91365|-367751773||t19963.6462554084s|bcdd65b724f2e4b3|1788|qs|local|list|validated_augmented_data||0.067|| +groups_a116716c8d69c179|branch|10d9aa9ec35c2118|4d694e8490b66e3b|2c530c1562a7fbd1|1358616837||t19963.6462554737s|f0d297181e7aed86|1165|qs|local|vector|groups||0|| +groups_12543c8e7f565cf4|branch|470ae1e44367fb7d|4d694e8490b66e3b|2c530c1562a7fbd1|1436941607||t19963.6462558287s|a67cde3029bafc7d|1112|qs|local|vector|groups||0|| +augmented_data_4794d4887197db7b|branch|b8b9f64ba11db246|317a6b9857648af8|4b89a61737afa471|-690248556||t19963.6462575335s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.013|| +augmented_data_5bc96a88936f47ae|branch|9f3e8bca909a2f1b|317a6b9857648af8|401cd960925460d9|-1872049929||t19963.6462577078s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.028|| +submission_data_7dff9d2f3d635937|branch|d70809241495b6b0|185fb209a0f85e93|4f6b579eb2fe53f2|1535980204||t19963.6462580929s|218ce91cd4e12ad3|358|qs|local|list|submission_data||0.002|| +prediction_checks_46973836ee4e5dbf|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|ea0770383eccd1b9|-1047457635||t19963.6462583502s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.069|| +submission_data_334208fc84791097|branch|ab780e04a3ab2d83|185fb209a0f85e93|1166a1ec2563848e|50576815||t19963.6462594359s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| +augmented_data_c150b5fafc4bf5c9|branch|dd6d450d07cfa4b8|317a6b9857648af8|b411badddac923a2|1320825390||t19963.6462606702s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.023|| +validated_augmented_data_564f45ef7974034d|branch|1e5c044f54abfca7|e57a32141c4128a5|2b4ef1de61ed2cab|715894863||t19963.6462608185s|bcdd65b724f2e4b3|1788|qs|local|list|validated_augmented_data||0.062|| +validated_augmented_data_e78ebdf9e5632747|branch|3bacda3f5734cddf|e57a32141c4128a5|05bfcc5df1773f0d|584437683||t19963.6462610079s|6c56005f9ea9ef01|1870|qs|local|list|validated_augmented_data||0.058|| +groups_929965a1319d1732|branch|5adca891af8e03f5|4d694e8490b66e3b|2c530c1562a7fbd1|1521078400||t19963.6462613607s|9d0d21ea3386f962|1092|qs|local|vector|groups||0.001|| +augmented_data_37916bedfcd06252|branch|621f9a0ac4470641|317a6b9857648af8|e3c19bcd79949aa6|1293730410||t19963.6462628784s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.017|| +validated_augmented_data_0e9708a9e707c5cb|branch|4f9776eea70b5c5b|e57a32141c4128a5|32bce8935b3707b3|1281605539||t19963.6462635454s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.064|| +prediction_checks_ed4d3b2df72f107f|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|12ba14452f55f481|440716966||t19963.6462641886s|e06562061609e01a|338|qs|local|list|prediction_checks||0.072|| +prediction_checks_f88d699e1571310a|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|6bd58f1944816e82|420134864||t19963.6462642463s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.072|| +submission_data_2f641def928d855c|branch|bbe06cfcb46cc7b5|185fb209a0f85e93|412d848c4567790a|-620545096||t19963.6462648992s|23c5199cbe97be21|325|qs|local|list|submission_data||0.002|| +validated_augmented_data_4240c12a1dc827fa|branch|0ad3dbc0fa79ae38|e57a32141c4128a5|3af230aa6850b089|381852031||t19963.646266197s|8e6901a343cb1030|1785|qs|local|list|validated_augmented_data||0.061|| +prediction_checks_23946189e6712419|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|3e4c597585e428bb|1224648557||t19963.6462668998s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.066|| +groups_029477dd3e6baf90|branch|f662986a50243527|4d694e8490b66e3b|2c530c1562a7fbd1|-1324059632||t19963.6462669072s|561d3cb44a6122bf|1212|qs|local|vector|groups||0|| +groups_09737a657d0379e1|branch|3c0272745dec35e9|4d694e8490b66e3b|2c530c1562a7fbd1|-869652893||t19963.6462670276s|a4b6935fa71d15f9|1132|qs|local|vector|groups||0|| +augmented_data_dde7c5d3d99841ab|branch|947538a2fb877f41|317a6b9857648af8|ed64d6503351966b|787849592||t19963.6462682109s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.015|| +groups_659b04fcc8ed74a1|branch|74c166e94a4dfd97|4d694e8490b66e3b|2c530c1562a7fbd1|494272123||t19963.6462690244s|46253e4fb06f19d0|1143|qs|local|vector|groups||0|| +groups_dfd6f2472b59cd12|branch|132319f9a77bf238|4d694e8490b66e3b|2c530c1562a7fbd1|1858625314||t19963.6462693709s|c97c23cb41730b81|1133|qs|local|vector|groups||0|| +prediction_checks_0998e295c94c48ff|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|0f67490bb82c07f1|-885345176||t19963.6462697293s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.078|| +submission_data_17942410d59192dc|branch|e0128367652b1136|185fb209a0f85e93|1d84e3d2fc87d7c1|275972508||t19963.6462704636s|ff44d5a1f08d1b9b|332|qs|local|list|submission_data||0.003|| +submission_data_b0a5a70b748e94b6|branch|fbd3fff65a4081fd|185fb209a0f85e93|aa0ed4756c0bcf67|509024555||t19963.6462717237s|852ca65165b9cec5|312|qs|local|list|submission_data||0.004|| +validated_augmented_data_b4deac3379a953a3|branch|d348f7fbcb5afa26|e57a32141c4128a5|4002176f725f05de|-1721953741||t19963.6462718919s|bcdd65b724f2e4b3|1788|qs|local|list|validated_augmented_data||0.071|| +submission_data_24d491c39ea368b7|branch|9eae6622c8b24560|185fb209a0f85e93|bb88e55f68668028|-25490654||t19963.6462725579s|a676778ee8812b34|242|qs|local|list|submission_data||0.021|| +groups_74935028ebc6c97e|branch|074fe5d7396484c9|4d694e8490b66e3b|2c530c1562a7fbd1|-1830627377||t19963.6462725839s|f7c7e205cd47c221|1107|qs|local|vector|groups||0|| +augmented_data_aa457f8cf21af899|branch|3a6dac9b647972a2|317a6b9857648af8|19eb54a454bad715|-295977197||t19963.6462738696s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.011|| +augmented_data_261a623449d70bec|branch|eb5c018968020ee5|317a6b9857648af8|d786bce2f622e11e|-797961853||t19963.6462741636s|ac5883799cfc915b|301|qs|local|list|augmented_data||0.016|| +augmented_data_ac770ba43c1b7132|branch|01a4845660907b0f|317a6b9857648af8|c971b6276488e807|-606480509||t19963.6462748195s|0c8b2aa18f55762a|303|qs|local|list|augmented_data||0.014|| +submission_data_49903981a4fd481b|branch|e2feb3b7660b9379|185fb209a0f85e93|c74b16d1f0806863|1531636264||t19963.6462758726s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| +prediction_checks_33973b96da0fbab4|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|7a1b358638c701f9|1442342525||t19963.6462760546s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.078|| +groups_61a24986016247a8|branch|b3ce9fb2b4112cd9|4d694e8490b66e3b|2c530c1562a7fbd1|-1141636436||t19963.6462763145s|3127a704ba0b1f8c|1094|qs|local|vector|groups||0|| +validated_augmented_data_5f567328c9b5aa1c|branch|0ed93787abe8744e|e57a32141c4128a5|e4f3fe3ecdad1a09|-1569347941||t19963.6462769888s|655c09970e168ce0|1866|qs|local|list|validated_augmented_data||0.059|| +validated_augmented_data_58463e37ccc0c08e|branch|aeb09845396e50b3|e57a32141c4128a5|d4b54173856e3326|421832615||t19963.646277623s|566c6e1bd61faee6|1752|qs|local|list|validated_augmented_data||0.061|| +groups_6e4cab2f94f1eecb|branch|605cd29c09638880|4d694e8490b66e3b|2c530c1562a7fbd1|-287254319||t19963.646278318s|ac761c46a130ac87|1095|qs|local|vector|groups||0|| +validated_augmented_data_7d7d61bc3d3b0321|branch|7757737f2ffedf31|e57a32141c4128a5|af19a168ea38923a|1332347177||t19963.6462786759s|74e1e0baef40f488|1750|qs|local|list|validated_augmented_data||0.066|| +augmented_data_0477d1259665999b|branch|8fa88b874b0bfc6d|317a6b9857648af8|841d36f537e65e80|1922747267||t19963.6462787679s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.016|| +submission_data_6801e351ca4c39d3|branch|af2d71a696bd896f|185fb209a0f85e93|a6af2e52daf4b19b|422062131||t19963.6462791598s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| +prediction_checks_11ac9f71c1761277|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|62d6c36d182b7c49|510189140||t19963.6462807069s|e06562061609e01a|338|qs|local|list|prediction_checks||0.073|| +submission_data_52f2aeac5fd8599c|branch|b157c68a07ae0d2f|185fb209a0f85e93|45d31e74a4e0128a|-1202642655||t19963.6462808056s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.003|| +prediction_checks_4e0841de931cf7bd|branch|3a8189fea3e8e11f|ca3c76dd51ebc9f7|06b4072276660ec1|-1490190797||t19963.6462813706s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.09|| +validated_augmented_data_8aee723f36de6cef|branch|30b2026b7a9138b0|e57a32141c4128a5|9dfa6694027ea0b8|-691163694||t19963.6462820534s|bcdd65b724f2e4b3|1788|qs|local|list|validated_augmented_data||0.071|| +prediction_checks_e4e1cca5e54dc734|branch|c1440eef01c9ae66|ca3c76dd51ebc9f7|c650a775af75dd3c|-714233882||t19963.6462824594s|ed14b4d8526ebe37|334|qs|local|list|prediction_checks||0.072|Failure to validate that column scenario is of type integer.The col_is_integer validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1| +groups_e4f2d9f951e4f36e|branch|0fd191b30f1cb76c|4d694e8490b66e3b|2c530c1562a7fbd1|-1325161059||t19963.6462830751s|9819fb286e84d550|1104|qs|local|vector|groups||0|| +augmented_data_f43d05eda3f232d1|branch|61031243e11cb9cc|317a6b9857648af8|74a9c7cd004c6fbd|1885186473||t19963.6462832116s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.019|| +groups_c4b1d2ca02e6889c|branch|1469074b0ba7bc1d|4d694e8490b66e3b|2c530c1562a7fbd1|-889286762||t19963.6462835764s|590b022d9713d473|1103|qs|local|vector|groups||0|| +groups_aa46637746473dc5|branch|a61590a55627932e|4d694e8490b66e3b|2c530c1562a7fbd1|-512452285||t19963.646284403s|3127a704ba0b1f8c|1094|qs|local|vector|groups||0.001|| +submission_data_a43e11dce5eed9f6|branch|f687ec54a3909a3a|185fb209a0f85e93|81cafb571cfdc831|871252277||t19963.6462846995s|f06844b53aab3b4d|321|qs|local|list|submission_data||0.007|| +groups_ea4d34aa386d9e89|branch|f0378c354e25ebff|4d694e8490b66e3b|2c530c1562a7fbd1|1618136944||t19963.6462853734s|3d6c3a9ec6dc0116|1128|qs|local|vector|groups||0|| +submission_data_40d66275aacf908f|branch|3ac7606f3189b84a|185fb209a0f85e93|8b9c99cae9fe554e|-2128813062||t19963.6462854176s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.004|| +prediction_checks_a680280698affff6|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|1c67738a80c7cd38|-897657443||t19963.6462860269s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.075|| +validated_augmented_data_3da3fe4d72345b6d|branch|6b3f4479693a4ad3|e57a32141c4128a5|a90de602cb19de09|-112421473||t19963.6462865101s|cbe36289148c407c|1793|qs|local|list|validated_augmented_data||0.076|| +submission_data_c5fdf77d54d739f4|branch|b0b1af1f682b165f|185fb209a0f85e93|04bff3b91abfaa6b|-122652399||t19963.6462867608s|caf638a76037586b|314|qs|local|list|submission_data||0.003|| +submission_data_144a43d2d6066b80|branch|b146c04aa0a2d662|185fb209a0f85e93|7612d1ef2cfcfba7|-1932472814||t19963.6462871988s|5975598e4e5a6487|323|qs|local|list|submission_data||0.003|| +submission_data_27314d66917d666d|branch|a03cbf503ba8e196|185fb209a0f85e93|7f80f53235b33ec5|-949927440||t19963.646287491s|ff44d5a1f08d1b9b|332|qs|local|list|submission_data||0.002|| +augmented_data_674c0f9cfe4852e0|branch|80ff4126fa7aa77b|317a6b9857648af8|59814136d96a5a2d|-1288206432||t19963.6462876004s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.017|| +groups_e60fc457970eaebc|branch|4982ee922b42d128|4d694e8490b66e3b|2c530c1562a7fbd1|1881937766||t19963.646288728s|604be24a3c1f227f|1084|qs|local|vector|groups||0|| +augmented_data_de622a8826f56e60|branch|16df58823c4ae48f|317a6b9857648af8|d566e99eeb365b2b|-572293505||t19963.6462889711s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.019|| +augmented_data_e9877679de16af23|branch|641ff6e79fc01c48|317a6b9857648af8|de4e09b9c52a0371|1986332066||t19963.6462896588s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.023|| +augmented_data_fbd9250baf8ae9df|branch|c01d35cc451f42d2|317a6b9857648af8|f5303fbf6c39308f|-1189973930||t19963.646289712s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.013|| +prediction_checks_72e65a49290c7d20|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|adeca32a0e53cf72|664783808||t19963.6462898113s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.073|| +augmented_data_e8d1e268246cb5da|branch|c7c50afa9ae8e830|317a6b9857648af8|99ad2c224acaa6ea|-814325953||t19963.6462899655s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.017|| +validated_augmented_data_7d3c01280b4bdc52|branch|c1f608b2178ef902|e57a32141c4128a5|7b1eba8575b89f7a|-1197461533||t19963.6462917198s|c52a7c67ecbcb69b|1781|qs|local|list|validated_augmented_data||0.069|| +submission_data_ff8b413f5c50bba1|branch|fa5e85a16a0e3314|185fb209a0f85e93|43f7d4a015c262ba|27918354||t19963.6462917684s|f06844b53aab3b4d|321|qs|local|list|submission_data||0.003|| +groups_1542a58b325665b6|branch|332c83d77fd58c25|4d694e8490b66e3b|2c530c1562a7fbd1|-716483942||t19963.6462923401s|0f87da251090a5e4|1111|qs|local|vector|groups||0|| +validated_augmented_data_09ae74ae390cd6dd|branch|5d24ae199b8b2ba3|e57a32141c4128a5|df6fd5c200cd9f87|-1004911765||t19963.6462925051s|381441630f865ce4|1787|qs|local|list|validated_augmented_data||0.068|| +validated_augmented_data_144b793f1be812a5|branch|0553643df60f7708|e57a32141c4128a5|7c307da266b983cd|649653251||t19963.6462925345s|d755b320cb28ca69|1786|qs|local|list|validated_augmented_data||0.062|| +validated_augmented_data_129f46b388b2f67e|branch|58092fcec6135443|e57a32141c4128a5|0451979ec53154b2|2006829227||t19963.6462930444s|d81b32700284785a|1794|qs|local|list|validated_augmented_data||0.081|| +submission_data_0150d98feeb22db8|branch|b0a9e28e78d0d871|185fb209a0f85e93|97dffabe797b4cd1|1013097624||t19963.6462946059s|c74b00466ed0f9f3|366|qs|local|list|submission_data||0.003|| +validated_augmented_data_e7289c471153a5b6|branch|01e48e335c307199|e57a32141c4128a5|159c7c9b357b7844|-1951420224||t19963.6462948039s|6789c682b2eb707b|1869|qs|local|list|validated_augmented_data||0.082|| +prediction_checks_12b6a1209c7b9e3f|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|6a617f6bf7912800|1894531740||t19963.6462955376s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.092|| +prediction_checks_d8a960ee5d51d03e|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|4930cdfacba2935c|-1364380978||t19963.6462955818s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.08|| +augmented_data_cef237aeb12344a7|branch|bb80292806561cfb|317a6b9857648af8|2d7c8f3d12cbee41|-2138890939||t19963.6462956084s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.013|| +prediction_checks_b193cf90f435675d|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|6ea64aad840aca2a|-1237458187||t19963.6462957901s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.109|| +augmented_data_e66f54b7e44914e5|branch|f8597cf0ccd5aa27|317a6b9857648af8|ba06d3d64e031137|545979769||t19963.6462970909s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.023|| +groups_f2d3c45af1a685a2|branch|588174e945a5b5eb|4d694e8490b66e3b|2c530c1562a7fbd1|1196010816||t19963.6462975982s|330f8dfde079eec1|1091|qs|local|vector|groups||0|| +groups_b5f95e1d69e9e6e5|branch|07cc6abb85203436|4d694e8490b66e3b|2c530c1562a7fbd1|972837209||t19963.6462977911s|767bbcd8bbbcb2ba|1118|qs|local|vector|groups||0|| +prediction_checks_e82962793d58f3c7|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|bdfd90d52b3c144d|505470473||t19963.6462978899s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.081|| +groups_aa74e9944849511d|branch|24d4e8bf4b7821d5|4d694e8490b66e3b|2c530c1562a7fbd1|651237629||t19963.646298036s|61209f9b475dbb21|1341|qs|local|vector|groups||0|| +prediction_checks_97e4ec05f7fa50ec|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|fa9c89cb8117cfed|-467040185||t19963.646299293s|e06562061609e01a|338|qs|local|list|prediction_checks||0.071|| +submission_data_88b0fd7ac3221325|branch|153ce8015aac4226|185fb209a0f85e93|4cbb42f652310d45|1094650048||t19963.6462999065s|e0807c4fc5685dfa|318|qs|local|list|submission_data||0.002|| +submission_data_6fc3b29a97d5c029|branch|7b238cc2fd9c7cda|185fb209a0f85e93|7d87f1ddf7e6c69b|-652738007||t19963.6462999414s|c74b00466ed0f9f3|366|qs|local|list|submission_data||0.003|| +validated_augmented_data_4dddc307fff931f9|branch|28358466ae6d2dc0|e57a32141c4128a5|208753c2b41d700e|-597803904||t19963.6463000825s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.071|| +groups_26286fe6d4cfcf53|branch|3266f74409b5ba4b|4d694e8490b66e3b|2c530c1562a7fbd1|406994478||t19963.6463003742s|44b84378be87198c|1340|qs|local|vector|groups||0|| +validated_augmented_data_8742d7cadc9e658a|branch|a6e276b3657ec82b|e57a32141c4128a5|1ee68ab2452710c6|-1504520854||t19963.6463004625s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.062|| +groups_776ffb0736cad1e3|branch|0223061b287e2bd5|4d694e8490b66e3b|2c530c1562a7fbd1|1130975529||t19963.6463019366s|6d645143de549127|1416|qs|local|vector|groups||0|| +groups_467188f36c417525|branch|8669ca14fb7d03ea|4d694e8490b66e3b|2c530c1562a7fbd1|-1983002813||t19963.646301991s|3c98e78771abfb4c|1343|qs|local|vector|groups||0|| +augmented_data_61e82021655626e2|branch|75a121ee62a718b9|317a6b9857648af8|5ecc670e252d659a|-2144689270||t19963.6463023209s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.015|| +augmented_data_c39ecdfa85afc1c2|branch|535974748a043bef|317a6b9857648af8|26b490a2303c0b2d|714154612||t19963.6463023494s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.019|| +submission_data_0ea5ac9666e0546d|branch|08f4c83d856da202|185fb209a0f85e93|a7dd75d72ef9f66e|1777688147||t19963.6463026996s|fabb80dff42d75cb|307|qs|local|list|submission_data||0.003|| +prediction_checks_8658e3a8221a3c95|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|26d9ff17db8237bc|251531157||t19963.6463034918s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.077|| +submission_data_e7dd68d7ce3ad157|branch|68ca85e497b2f02e|185fb209a0f85e93|2cb74e11cc721bdc|-650641008||t19963.6463047484s|9b7c1d3cd274a0db|294|qs|local|list|submission_data||0.003|| +prediction_checks_b09e54c77548b9bf|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|ddbdf3a29559161b|-1217242258||t19963.6463050262s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.082|| +submission_data_1da9c93ef4bef397|branch|ef36981fb5a8ade8|185fb209a0f85e93|8264673b832d9f27|-515762727||t19963.6463050086s|fabb80dff42d75cb|307|qs|local|list|submission_data||0.003|| +validated_augmented_data_bfdfcc1bab1bf247|branch|70950931420e2be7|e57a32141c4128a5|4191c976b60417e8|-2042925951||t19963.6463053668s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.066|| +validated_augmented_data_eb3c4e536b0b6d99|branch|531cbc5954b3da74|e57a32141c4128a5|b94f077474736965|-1075340100||t19963.6463056772s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.067|| +augmented_data_3e29610b22d2997f|branch|303b57873630e6c8|317a6b9857648af8|5d7175a28ceddd3c|2137685319||t19963.6463058101s|e818f06db8013bcf|306|qs|local|list|augmented_data||0.012|| +groups_538d070775df006f|branch|0ebe31fa8b4112ff|4d694e8490b66e3b|2c530c1562a7fbd1|1554853044||t19963.6463070386s|e97d2ccab22da292|1150|qs|local|vector|groups||0|| +groups_28e85290fd9a97a0|branch|3d31d70e415b1538|4d694e8490b66e3b|2c530c1562a7fbd1|-1290513995||t19963.646307599s|d9400560ac21db5c|1096|qs|local|vector|groups||0.001|| +augmented_data_8f9ecb67b4648df1|branch|76777fc59cd2c119|317a6b9857648af8|c7f35f2fc155311b|1775248230||t19963.646307643s|221faa5a8fd1136c|292|qs|local|list|augmented_data||0.014|| +groups_196c1b0db8d0c941|branch|2c4e8e3de5867e41|4d694e8490b66e3b|2c530c1562a7fbd1|793730783||t19963.6463081715s|c7aa412afb92d856|1202|qs|local|vector|groups||0|| +prediction_checks_63a9e06760851e4d|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|f7cfc220cf71b3c2|-1661737666||t19963.6463082316s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.078|| +prediction_checks_bcc25e710d192c4b|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|586de4b7017f1782|1476072655||t19963.6463091894s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.084|| +submission_data_7b0d47c8fb00d826|branch|2a9aa128515a9548|185fb209a0f85e93|63dd64c9329ab515|-1123139334||t19963.6463099663s|23c5199cbe97be21|325|qs|local|list|submission_data||0.004|| +validated_augmented_data_24f7a56f07f00565|branch|bcda12a32fbaf10a|e57a32141c4128a5|3bbfdd94be436f26|534545061||t19963.6463101865s|d0facd8f04726c3c|1838|qs|local|list|validated_augmented_data||0.076|| +submission_data_5eb776ab5d25ef06|branch|6c302e2bd91898a7|185fb209a0f85e93|162e67f9a94902d0|1629639162||t19963.6463103612s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| +submission_data_2a6101cf0c542cc5|branch|83219d1629e0057d|185fb209a0f85e93|32b3284f647e56bd|-1174155057||t19963.6463104563s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.007|| +groups_aca2aac0cc1dac7a|branch|caf932e6563e5225|4d694e8490b66e3b|2c530c1562a7fbd1|911455392||t19963.6463114503s|131c443c821ad91b|1201|qs|local|vector|groups||0|| +groups_3be2ddd9364a1e92|branch|ebc3cd8a15c44a82|4d694e8490b66e3b|2c530c1562a7fbd1|-320361044||t19963.6463120397s|f932663130518aec|1196|qs|local|vector|groups||0|| +augmented_data_0023663ed9da9ee7|branch|5b2f656993063f56|317a6b9857648af8|9857bd77ba441c3f|-1581759810||t19963.6463123153s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.013|| +validated_augmented_data_41c8b4d2968b9f7e|branch|6eeb36964d9f8ebf|e57a32141c4128a5|9759d6623e8d3ff9|1701336628||t19963.6463124079s|86b7064cf66fe42e|1565|qs|local|list|validated_augmented_data||0.167|| +augmented_data_9665d2ee964dcad1|branch|31cacb27b93d5bf9|317a6b9857648af8|24f7b531414bb875|-1436134642||t19963.6463127095s|982c173ba6de0b8b|42|qs|local|list|augmented_data||0.012|| +augmented_data_cb33d53cac3dc2b3|branch|44fd033d635274d9|317a6b9857648af8|3d0537740365c125|1651522141||t19963.6463137737s|951e45bf59ec048d|341|qs|local|list|augmented_data||0.013|| +prediction_checks_ca9ad71430b7b210|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|b6ac28741db7ae59|-1725421715||t19963.6463139647s|e06562061609e01a|338|qs|local|list|prediction_checks||0.082|| +submission_data_15548df7da910d2e|branch|8908278ec7dab6e4|185fb209a0f85e93|cb4f4f674d407856|-1367990766||t19963.6463142986s|4648ab7e3adbd40b|331|qs|local|list|submission_data||0.002|| +submission_data_194d8f075df008b4|branch|f4eec47aaea4715f|185fb209a0f85e93|7b149921916b5c23|777676069||t19963.6463144534s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.003|| +validated_augmented_data_3982717d3357e25e|branch|1a6bbae4c8d1920d|e57a32141c4128a5|1cb4a1db922342ef|1904909133||t19963.6463151664s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.059|| +prediction_checks_6807dfac02920721|branch|0a1cdb0bde8b3d40|ca3c76dd51ebc9f7|170ad353b4cc16e0|551886801||t19963.6463151993s|c206c709607ca69c|343|qs|local|list|prediction_checks||0.038|Failure to validate that column se.fit exists.The col_exists validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1| +validated_augmented_data_1f6bceb6b5804f66|branch|31cacb27b93d5bf9|e57a32141c4128a5|37d96d41472bd3b7|1093860414||t19963.6463158853s|982c173ba6de0b8b|42|qs|local|list|validated_augmented_data||0.001|| +groups_4c516eff5ce59f29|branch|654387235b6e3063|4d694e8490b66e3b|2c530c1562a7fbd1|584328370||t19963.6463163669s|7ab1ff5d5b6ade7d|1044|qs|local|vector|groups||0|| +augmented_data_ef738b3109348ee5|branch|6f7e18b0a3d7fd84|317a6b9857648af8|6ad67f536d64283f|821176860||t19963.6463169777s|951e45bf59ec048d|341|qs|local|list|augmented_data||0.033|| +validated_augmented_data_22a8c8f7617f440b|branch|bc2342c8e7855922|e57a32141c4128a5|72feb30f84717702|250520895||t19963.6463175441s|f47d612f0e7a7e48|1877|qs|local|list|validated_augmented_data||0.076|| +augmented_data_1df4477eff7f2ab1|branch|0ceed9bb0a38df58|317a6b9857648af8|c3dcd75051178d87|289812394||t19963.646317735s|951e45bf59ec048d|341|qs|local|list|augmented_data||0.015|| +prediction_checks_01ddfe74677aa3a4|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|166af62b533b734e|-75653273||t19963.6463180947s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.073|| +groups_402dcae78f9ff340|branch|be0be7494bf19a0b|4d694e8490b66e3b|2c530c1562a7fbd1|2024237519||t19963.6463183854s|767bbcd8bbbcb2ba|1118|qs|local|vector|groups||0.001|| +prediction_checks_516ff0bd02e172e6|branch|31cacb27b93d5bf9|ca3c76dd51ebc9f7|6811339f95c511ad|-225668756||t19963.6463185961s|982c173ba6de0b8b|42|qs|local|list|prediction_checks||0|| +submission_data_5a410f0527982db6|branch|caf723da9128ef52|185fb209a0f85e93|75616923c84687d7|-329281882||t19963.6463191839s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.003|| +groups_15ea0c1b16182003|branch|e97859ee085ea44e|4d694e8490b66e3b|2c530c1562a7fbd1|-1901747367||t19963.6463208435s|e5ecbbdfbbf79cd1|1166|qs|local|vector|groups||0|| +submission_data_c3b896ea4392beec|branch|4bd27165383b8b3c|185fb209a0f85e93|cb0f2a09adeda81c|734913304||t19963.6463209066s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.002|| +validated_augmented_data_4d40b01c50f2ad39|branch|36d9740350f2810f|e57a32141c4128a5|619bd8f27d594260|-424661199||t19963.6463210629s|ee70cedb204b0f1a|1879|qs|local|list|validated_augmented_data||0.064|| +prediction_checks_0371c5b4503a64c1|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|9bf2cfb1879c816f|657138364||t19963.6463211187s|e06562061609e01a|338|qs|local|list|prediction_checks||0.089|| +validated_augmented_data_25fd28d07c92063c|branch|3697d80da9d520d0|e57a32141c4128a5|a62471b20a986478|-417962855||t19963.6463210935s|f47d612f0e7a7e48|1877|qs|local|list|validated_augmented_data||0.072|| +groups_35a67b44c8e0cd10|branch|ee32a1a70fa882dc|4d694e8490b66e3b|2c530c1562a7fbd1|1107313042||t19963.6463217894s|fc88de983d208b03|1181|qs|local|vector|groups||0.001|| +augmented_data_776859538bcf3687|branch|507c22b70c25fe5c|317a6b9857648af8|a742b8b8d829e228|-1849579020||t19963.6463230414s|e4e35ba89377bb93|326|qs|local|list|augmented_data||0.012|| +augmented_data_e7b47051397e1237|branch|edb8c0a8e8448216|317a6b9857648af8|ec24a809713d860c|1694870640||t19963.6463234402s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.019|| +groups_304c9b29ff5e1c2e|branch|f147eb34ff85efe8|4d694e8490b66e3b|2c530c1562a7fbd1|814513162||t19963.646323495s|7fa8ca5f7421ecac|1108|qs|local|vector|groups||0|| +submission_data_5fb58316ff86d978|branch|a834de16ba7a6b3e|185fb209a0f85e93|77d6e6500cc9872c|1356859807||t19963.6463239009s|23c5199cbe97be21|325|qs|local|list|submission_data||0.004|| +groups_9cded7f1ee6a7caa|branch|d06c85ba241954e8|4d694e8490b66e3b|2c530c1562a7fbd1|-885390898||t19963.6463240915s|6053900ad6294815|1355|qs|local|vector|groups||0.001|| +prediction_checks_1696df95d3d8f556|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|80f976cb79983138|-119489337||t19963.6463241376s|e06562061609e01a|338|qs|local|list|prediction_checks||0.085|| +submission_data_cabc08ff43b5175d|branch|52b0f730de33d04d|185fb209a0f85e93|66ecd3f043aae35f|-236297664||t19963.6463252055s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.003|| +validated_augmented_data_f888db1bdaca282b|branch|3d924639d126f892|e57a32141c4128a5|7ac97dff50233f8b|-1031577377||t19963.6463261626s|6c56005f9ea9ef01|1870|qs|local|list|validated_augmented_data||0.059|| +augmented_data_e5582ec60a21473d|branch|08b8cb52e9437623|317a6b9857648af8|6c8aed25f8b4a43e|-1683295573||t19963.6463263948s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.02|| +validated_augmented_data_5ab441b7c76166ed|branch|940ba569086abc8b|e57a32141c4128a5|919c1478df5a12f4|170133873||t19963.6463263944s|973ce29d4f5dc732|1867|qs|local|list|validated_augmented_data||0.065|| +submission_data_3bf2bacb6fe00f56|branch|d8c22bb3ae9c6ce7|185fb209a0f85e93|1404278d5c413984|-510492851||t19963.6463267717s|6f5955ab594f49f2|329|qs|local|list|submission_data||0.003|| +submission_data_c6c08589990fc2ca|branch|ab57c4bcfc2f682e|185fb209a0f85e93|06a6620f0067c28a|847971547||t19963.6463265161s|3fda9b692b1d9985|330|qs|local|list|submission_data||0.004|| +groups_94f61bef3269dbb5|branch|42b981fb49b68441|4d694e8490b66e3b|2c530c1562a7fbd1|-464776987||t19963.6463273395s|e1fa78197d170c22|1139|qs|local|vector|groups||0|| +augmented_data_2876889f008cadda|branch|b50e7eba255f6172|317a6b9857648af8|910ca7b7628879d9|-2121163938||t19963.6463283214s|e4e35ba89377bb93|326|qs|local|list|augmented_data||0.015|| +prediction_checks_072e643d1f12d0a5|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|d090ee0637f9586d|9297754||t19963.6463294406s|e06562061609e01a|338|qs|local|list|prediction_checks||0.083|| +augmented_data_00d8d4fcc9c9104b|branch|ae6494b26649e74d|317a6b9857648af8|497a2cdc8be47e1e|-1888124492||t19963.6463293823s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.021|| +prediction_checks_56da09d3286862ff|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|a53da38650e60908|329105899||t19963.6463295788s|e06562061609e01a|338|qs|local|list|prediction_checks||0.072|| +augmented_data_bb38d4b6a7216784|branch|cd8142d7ef0c64e7|317a6b9857648af8|e94a0a5162c15412|601374244||t19963.6463298221s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.017|| +validated_augmented_data_48ca467781a3500c|branch|3c35fa7506514758|e57a32141c4128a5|da1db5854deba021|-1395574632||t19963.64633028s|35c7d052e58fe881|1783|qs|local|list|validated_augmented_data||0.068|| +submission_data_0eaf0d4efbbf00b4|branch|5c6f66b6fe3bd26a|185fb209a0f85e93|726525208a3381b0|-1813728979||t19963.6463307548s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| +groups_100ea6d1fa47d7a2|branch|035417a623d7d0db|4d694e8490b66e3b|2c530c1562a7fbd1|955783343||t19963.6463317276s|f44c15a3e082d69e|1098|qs|local|vector|groups||0|| +groups_71bde056c79c3a73|branch|c0b933d738d0857b|4d694e8490b66e3b|2c530c1562a7fbd1|-346459852||t19963.6463318092s|82fb72f90bbb8852|1099|qs|local|vector|groups||0|| +validated_augmented_data_1ba9758fc6474da0|branch|a58ff3aeb5c08be9|e57a32141c4128a5|4ea497ad253b3821|-1754211341||t19963.6463323888s|973ce29d4f5dc732|1867|qs|local|list|validated_augmented_data||0.07|| +validated_augmented_data_c4e7cb22e28904dc|branch|24e6219657acd60a|e57a32141c4128a5|6385920795c6b30c|-61383235||t19963.6463330266s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.086|| +prediction_checks_fda2467264fecd47|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|347de3f11eeedc1e|-782579587||t19963.6463338732s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.083|| +submission_data_75aca4f53f2ab0d2|branch|12f10d742132bc35|185fb209a0f85e93|0d2e8d489411fb71|-323147075||t19963.6463339785s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| +validated_augmented_data_d8eba3e39896a234|branch|04f15acec76e8352|e57a32141c4128a5|6419a9c1b3c3e053|1299045248||t19963.6463340403s|353df61c39a5d221|1800|qs|local|list|validated_augmented_data||0.076|| +augmented_data_d88f33dde80a442c|branch|7174a048a196fcc2|317a6b9857648af8|c663b18e4db00613|665001769||t19963.6463342832s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.013|| +submission_data_6ba8e08078a8f7b6|branch|138770975d43b9e6|185fb209a0f85e93|5b2cf7090cea4bc7|-544895590||t19963.6463347186s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| +prediction_checks_3bb0ae1464e795ef|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|9f7090393791006c|-1502611850||t19963.64633606s|e06562061609e01a|338|qs|local|list|prediction_checks||0.079|| +groups_3dcd0bf346bdfe4c|branch|775fa8e4baf9f5ad|4d694e8490b66e3b|2c530c1562a7fbd1|1535063356||t19963.6463364727s|331126ce34a6727a|1088|qs|local|vector|groups||0|| +groups_884432134cabb2f8|branch|8eb638244ab87d40|4d694e8490b66e3b|2c530c1562a7fbd1|-498378420||t19963.6463368548s|2b93e0d131be1962|1082|qs|local|vector|groups||0|| +prediction_checks_0fb53cbdd032c797|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|48d0eb5aa9314d7c|-1244926492||t19963.6463371259s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.081|| +prediction_checks_67cce082798354cb|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|8e9233755d95d70b|-285408567||t19963.6463370944s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.085|| +validated_augmented_data_4e0a68879cbb9036|branch|4dcbc3a738efc37c|e57a32141c4128a5|8f6ff866a59940c6|1068605747||t19963.6463378445s|2bdb7e9d5623598b|1876|qs|local|list|validated_augmented_data||0.068|| +augmented_data_52c79cf969d1377d|branch|4251ac8c9f492fed|317a6b9857648af8|2251e1679e57fdc4|-702987270||t19963.6463383593s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.014|| +groups_70d22f79bdfb3691|branch|a6030870b60a2936|4d694e8490b66e3b|2c530c1562a7fbd1|-347927777||t19963.6463387745s|ac761c46a130ac87|1095|qs|local|vector|groups||0|| +submission_data_bce60e79045684a5|branch|d11bed28e003c9b8|185fb209a0f85e93|a82ec8ed508bc2d9|-1217773375||t19963.6463395718s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.003|| +groups_1c4067afea28309d|branch|4df25daca3431769|4d694e8490b66e3b|2c530c1562a7fbd1|1546441670||t19963.6463395966s|590b022d9713d473|1103|qs|local|vector|groups||0|| +groups_c2f81073ae65961c|branch|a8121bfd17cc793b|4d694e8490b66e3b|2c530c1562a7fbd1|-363356097||t19963.6463398967s|b1c9e75231884259|1080|qs|local|vector|groups||0|| +submission_data_5de6a0343f4560c4|branch|2c3a1aebf8403a39|185fb209a0f85e93|c39c93c6cea68196|-1940249425||t19963.6463400392s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.002|| +prediction_checks_47056ced676ec0e4|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|d92516ba24c373e8|-882756928||t19963.6463413981s|e06562061609e01a|338|qs|local|list|prediction_checks||0.074|| +submission_data_e24bbdb632da37e6|branch|6be39a1625dc6bba|185fb209a0f85e93|c8743c13cef0edd2|-779986816||t19963.6463416436s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| +validated_augmented_data_4d829361503e37a0|branch|e0f60a4d7d4ac022|e57a32141c4128a5|8106bbc613595b64|457541780||t19963.6463421445s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.066|| +augmented_data_823b6a652a2079cc|branch|bb886e8db19cca97|317a6b9857648af8|aebe5a650c6de567|-778083738||t19963.6463420863s|b8e2cd780a68e456|333|qs|local|list|augmented_data||0.015|| +submission_data_af46c00587380b6e|branch|22e98cc0cf952624|185fb209a0f85e93|e60cfbc104b8cadb|1394837246||t19963.6463422712s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.003|| +submission_data_1b2ddb7ee612d70e|branch|13b71172fb3c6209|185fb209a0f85e93|2e65b17cb4b952f0|1068207969||t19963.6463429621s|5975598e4e5a6487|323|qs|local|list|submission_data||0.003|| +augmented_data_96bd82b7bfa8af44|branch|cf092e2d999bff8d|317a6b9857648af8|7546923360490347|1433766340||t19963.6463439754s|b8e2cd780a68e456|333|qs|local|list|augmented_data||0.016|| +groups_c354acfdc22e2f16|branch|d96b6cd75ceb7ad8|4d694e8490b66e3b|2c530c1562a7fbd1|-93751048||t19963.6463440875s|8c83f594ca713a79|1145|qs|local|vector|groups||0|| +augmented_data_2e3c836f82b0c8ad|branch|f120d51fd9269839|317a6b9857648af8|2265b4c8b53ebc60|1266182174||t19963.6463444309s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.015|| +augmented_data_0c123efe46eecc9b|branch|c676da136899893a|317a6b9857648af8|c6f1d71fc2631618|-1770960631||t19963.646344521s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.014|| +validated_augmented_data_3510441c9a47dee1|branch|187eddd954f5cbf9|e57a32141c4128a5|54922f9a4d6fc15f|-1049304502||t19963.6463452962s|cbe36289148c407c|1793|qs|local|list|validated_augmented_data||0.066|| +augmented_data_3360572419d7f96c|branch|702709cfceb231d7|317a6b9857648af8|b865e829599ebe2b|2049068034||t19963.6463463218s|5975598e4e5a6487|323|qs|local|list|augmented_data||0.011|| +submission_data_df2c29a9dd843f48|branch|5e3b2d1fae00007a|185fb209a0f85e93|ece7aa2e0dcd03d4|-456136462||t19963.6463465677s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| +prediction_checks_a9577ccd3002ea03|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|52d47b9dfd4963d6|-1915954307||t19963.6463466796s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.075|| +validated_augmented_data_704845d5205a312e|branch|0a13507e2f104717|e57a32141c4128a5|349bb5cda079316c|1634357101||t19963.6463470765s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.076|| +validated_augmented_data_5a5ce47db007e29f|branch|62f81c4f6643586f|e57a32141c4128a5|c638b78a2631d1f1|1703793467||t19963.6463476484s|8e6901a343cb1030|1785|qs|local|list|validated_augmented_data||0.068|| +validated_augmented_data_cb8bd8bc37097b69|branch|acd2124b3d1b79e8|e57a32141c4128a5|c042ac9784bcc009|442202857||t19963.6463481566s|6613dbc0d94c90e5|1784|qs|local|list|validated_augmented_data||0.064|| +groups_8c72eac004839ff1|branch|c5ea4e7f78806122|4d694e8490b66e3b|2c530c1562a7fbd1|-1863328262||t19963.6463486987s|46253e4fb06f19d0|1143|qs|local|vector|groups||0.001|| +prediction_checks_7216a9e13934dcbc|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|2c636f511e9d26f2|1412987845||t19963.6463491233s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.078|| +augmented_data_bceb869e337d99be|branch|833703324091afad|317a6b9857648af8|1edaa425ebbcc58f|495582544||t19963.6463497549s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.012|| +validated_augmented_data_7e3c378c924b3aad|branch|8817f4284727f106|e57a32141c4128a5|f1cbd79223185b75|-1332671311||t19963.646350394s|25239067ea5664cc|1858|qs|local|list|validated_augmented_data||0.062|| +prediction_checks_52610edc43ad58ad|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|704e5b2759bcf11d|1133948549||t19963.6463509603s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.092|| +prediction_checks_547f9108ce7c4efa|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|1c007b762c89c059|-1439667081||t19963.6463511025s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.079|| +submission_data_6d9d205aefce25af|branch|85e013621fe1df82|185fb209a0f85e93|8f9cd25c1db6ba41|-1536061898||t19963.6463512534s|23c5199cbe97be21|325|qs|local|list|submission_data||0.002|| +groups_56897df71d5e7f55|branch|561a9a32cda81a2f|4d694e8490b66e3b|2c530c1562a7fbd1|1468135248||t19963.646351744s|7e75aa54df65ffc3|1141|qs|local|vector|groups||0|| +prediction_checks_5310b515fe3d646e|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|4146d07f639d3a5e|1807877772||t19963.6463518414s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.078|| +groups_054d3b4ec3aa78a3|branch|815c2e04ebe296cf|4d694e8490b66e3b|2c530c1562a7fbd1|-1109356757||t19963.6463532837s|d1f9ed5125b9aaaf|1119|qs|local|vector|groups||0.001|| +groups_4b8096d473593db9|branch|954022d81509c0e2|4d694e8490b66e3b|2c530c1562a7fbd1|-864399941||t19963.6463536378s|767bbcd8bbbcb2ba|1118|qs|local|vector|groups||0|| +validated_augmented_data_1a287b1ecd6a28a4|branch|22b871ebc4d7d26a|e57a32141c4128a5|d4a30b1508b886b4|742762727||t19963.6463538181s|353340f2803c8797|1872|qs|local|list|validated_augmented_data||0.072|| +submission_data_8b86638833a86587|branch|822bb28205052e85|185fb209a0f85e93|493ba812ac70ac88|-2000278001||t19963.6463540587s|23c5199cbe97be21|325|qs|local|list|submission_data||0.003|| +groups_802a1a0901cbe93d|branch|05ee06183ae8e60d|4d694e8490b66e3b|2c530c1562a7fbd1|469424848||t19963.6463541214s|b866b845009245ef|1090|qs|local|vector|groups||0|| +prediction_checks_6417c297588786d0|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|ba79af2f20a2209b|1362070170||t19963.6463544204s|e06562061609e01a|338|qs|local|list|prediction_checks||0.08|| +submission_data_d4e7a1027842b1f2|branch|389a1c00357efaa4|185fb209a0f85e93|c2c279602760432e|-205569054||t19963.6463556669s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.004|| +groups_e4b5d695c32741cc|branch|6b481cde81e57bd5|4d694e8490b66e3b|2c530c1562a7fbd1|-46738373||t19963.6463557263s|03165f80a2cd5d1f|1120|qs|local|vector|groups||0|| +submission_data_90f9fa993be0eaac|branch|8033e0410fd12e79|185fb209a0f85e93|427836f3e0696c79|486455512||t19963.6463562386s|e4e35ba89377bb93|326|qs|local|list|submission_data||0.003|| +submission_data_64445156e2cd2abe|branch|f857c8d0ad1f8a08|185fb209a0f85e93|ff57fcc01b9799f2|-1069527224||t19963.6463566218s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.004|| +augmented_data_50bc9d7faaa7c206|branch|191a7061928c2a80|317a6b9857648af8|9d474a2b99b3bb4f|269954414||t19963.6463568094s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.013|| +prediction_checks_fff68b50f6b58647|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|c8261c7e489ea5b6|-139360704||t19963.6463571411s|e06562061609e01a|338|qs|local|list|prediction_checks||0.077|| +groups_4e1de724ede801d3|branch|3814cf3fec650f76|4d694e8490b66e3b|2c530c1562a7fbd1|1760159666||t19963.6463580206s|4b8fc5547eb30ec2|1144|qs|local|vector|groups||0|| +augmented_data_0d1d39b785b295db|branch|e474dd6f55208d14|317a6b9857648af8|1cd9b1386e801801|-310505560||t19963.6463580745s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.015|| +submission_data_a867308ba179a527|branch|db6e16b18308235e|185fb209a0f85e93|2db793735fa3a742|-1200646379||t19963.6463583915s|ff44d5a1f08d1b9b|332|qs|local|list|submission_data||0.003|| +augmented_data_6ad9b65ea48e6fdf|branch|110e62818b3de785|317a6b9857648af8|f41e583ade6b978c|-34045604||t19963.6463591228s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.012|| +augmented_data_72001cec2c56ccd0|branch|eb029c89609669d3|317a6b9857648af8|2480d9425f361d2b|1799986255||t19963.6463596242s|ff44d5a1f08d1b9b|332|qs|local|list|augmented_data||0.012|| +validated_augmented_data_41e2a237f652154f|branch|01d35e70d19878dd|e57a32141c4128a5|f0fb24c640112bb3|-584352925||t19963.6463600785s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.066|| +groups_0e900f63a62b1200|branch|79cf62e9ce98c53f|4d694e8490b66e3b|2c530c1562a7fbd1|-1289854072||t19963.6463601129s|561d3cb44a6122bf|1212|qs|local|vector|groups||0|| +submission_data_2839b6a06f1c601c|branch|a2c7c612778d9512|185fb209a0f85e93|7d02d85dafc4839d|940252011||t19963.6463604488s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| +validated_augmented_data_ffb0612c513f29a5|branch|50001d069d095881|e57a32141c4128a5|f34479fa68562383|-1003373556||t19963.6463613783s|5fd1d38a27b446ca|1796|qs|local|list|validated_augmented_data||0.061|| +augmented_data_4e3246fac39f5e74|branch|7c1039694a71cf26|317a6b9857648af8|01e5128b4a269696|1323409502||t19963.6463622899s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.016|| +submission_data_10d3efcd333816d3|branch|55154df010639102|185fb209a0f85e93|49bbd975dc99112b|1777169676||t19963.6463623368s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.005|| +validated_augmented_data_021514c7e627f264|branch|db248ebfdea6e14c|e57a32141c4128a5|0aca5277c230f5b8|836498685||t19963.6463629357s|79e59bc409d2591a|1873|qs|local|list|validated_augmented_data||0.07|| +validated_augmented_data_2bebca7abe9a4631|branch|d0cc3aa118c6f9f4|e57a32141c4128a5|b47a77458a089afb|-670973308||t19963.6463632725s|027de0cecbf880a8|1878|qs|local|list|validated_augmented_data||0.067|| +augmented_data_5faaa5257d5d2743|branch|50510dd5a9302049|317a6b9857648af8|c650c095ded3be21|-579342960||t19963.6463636439s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.017|| +prediction_checks_db30860592a19703|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|7676b2b3b06bfd42|1340038745||t19963.6463639113s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.087|| +prediction_checks_1c29720300bd11b7|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|0bcab9c5258dadb8|1019371993||t19963.6463652309s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.072|| +validated_augmented_data_e4821dc42e2c5358|branch|5d69daf35be73efe|e57a32141c4128a5|4cf981ae89f6bcfb|236358966||t19963.6463653684s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.074|| +augmented_data_5eaee7e9b564dbff|branch|1ca0215bb81217d1|317a6b9857648af8|afbcfabd57ef2a4b|-1181343253||t19963.6463659602s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.013|| +validated_augmented_data_4c761f094ac8cd65|branch|5204361cf788383e|e57a32141c4128a5|fdc342ead0ba7fe7|-32511372||t19963.6463662228s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.092|| +prediction_checks_6b6ef38d1125ebe3|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|5f0895d54a99e908|215602295||t19963.6463666883s|e06562061609e01a|338|qs|local|list|prediction_checks||0.077|| +prediction_checks_e953db4c9ce987d2|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|70726c52cbf7c376|-974233842||t19963.6463671039s|e06562061609e01a|338|qs|local|list|prediction_checks||0.08|| +groups_5766a2e76218a77c|branch|547242790c90e12f|4d694e8490b66e3b|2c530c1562a7fbd1|-1216861768||t19963.6463675782s|277de3e1f452148b|1218|qs|local|vector|groups||0|| +groups_8cb26e796be65b8d|branch|8bb7992da7240c2b|4d694e8490b66e3b|2c530c1562a7fbd1|-1334135441||t19963.6463678106s|8cf93cef173c5245|1216|qs|local|vector|groups||0|| +prediction_checks_a6290412d7d779d3|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|5197f4d6c247f960|227719944||t19963.646369294s|e06562061609e01a|338|qs|local|list|prediction_checks||0.071|| +validated_augmented_data_27757fe2eb386a66|branch|93366da51fbc4bb4|e57a32141c4128a5|a62c71c9f0eb2d60|307271031||t19963.6463695177s|da9a4b2311a6a609|1865|qs|local|list|validated_augmented_data||0.078|| +prediction_checks_b7b71fb3a4ba929b|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|0cd3c149b7595220|-1193156414||t19963.6463700556s|e06562061609e01a|338|qs|local|list|prediction_checks||0.097|| +groups_088d82dee67e2773|branch|2c97149d7ddb2286|4d694e8490b66e3b|2c530c1562a7fbd1|180625991||t19963.6463698816s|277de3e1f452148b|1218|qs|local|vector|groups||0.003|| +groups_e762e25d5468ebbe|branch|84ab397c825e002b|4d694e8490b66e3b|2c530c1562a7fbd1|-809069014||t19963.6463703731s|35f88461d872da97|1225|qs|local|vector|groups||0|| +submission_data_c1e730a18434d7b9|branch|4f62921cfade2c47|185fb209a0f85e93|6e5cedb5ae8a1086|2044679775||t19963.6463707615s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.015|| +groups_0b52c0566bb774c2|branch|feb8e412abe2bb5b|4d694e8490b66e3b|2c530c1562a7fbd1|-517736143||t19963.6463726022s|6e1dcfc1aa582c14|1109|qs|local|vector|groups||0|| +submission_data_69d487e3db58565a|branch|a9979312a7865a31|185fb209a0f85e93|25b95d291bffbab9|-1618378712||t19963.6463733222s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.017|| +groups_0e31c90bfa2ccd6b|branch|791f20f38e073aa0|4d694e8490b66e3b|2c530c1562a7fbd1|-243019879||t19963.6463736852s|46b3908c2ebc34ce|1183|qs|local|vector|groups||0|| +groups_1e924acc3408cae2|branch|49806268e658ea96|4d694e8490b66e3b|2c530c1562a7fbd1|-984685235||t19963.6463738839s|f1ffc4cabacf637d|1101|qs|local|vector|groups||0.001|| +submission_data_d484a069be940d8d|branch|3282c45dc46c2290|185fb209a0f85e93|d1df559c4794e2ab|797976525||t19963.6463738835s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.003|| +prediction_checks_da296d4e9b4f06ff|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|9b839ebb9293afa4|1883054880||t19963.646374341s|e06562061609e01a|338|qs|local|list|prediction_checks||0.137|| +augmented_data_20a814eac57e8939|branch|9663339f9e6dc1c7|317a6b9857648af8|b084cb7bb31b2397|-315968629||t19963.6463756934s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.016|| +submission_data_c21bf65bd1ba1e44|branch|772c7a54c5d99020|185fb209a0f85e93|fcfcd2db1fc522df|-854604865||t19963.6463766908s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| +submission_data_a371e4c392dfbfee|branch|6e3c117debdb66df|185fb209a0f85e93|7b2ea0629c9bf174|-1438125224||t19963.6463769336s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.005|| +augmented_data_0beddfbd766f70da|branch|1a6931ec8da76b72|317a6b9857648af8|e232f93e4d1a4ee9|648729505||t19963.6463769702s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.018|| +augmented_data_643039c30c28b2e4|branch|ac027c2739d4af55|317a6b9857648af8|fe7f0d90337b2302|714229066||t19963.6463770525s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.011|| +submission_data_e9426416a23ed079|branch|cd325a4b682d4ad0|185fb209a0f85e93|f5deb3e49c801f5e|-1762390294||t19963.6463776543s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.002|| +groups_1fa1d945e6c772ce|branch|37631988fc7711ae|4d694e8490b66e3b|2c530c1562a7fbd1|621045656||t19963.6463788579s|8ef8d731f7e2a8d9|1157|qs|local|vector|groups||0|| +augmented_data_a4483f2a767d5aaf|branch|1e7ac5fa225c5396|317a6b9857648af8|f4170f1a45f87b70|1976302456||t19963.6463801667s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.023|| +validated_augmented_data_72d3814de55b5505|branch|0a3cb277cc85158d|e57a32141c4128a5|49b3a35c840b7584|-825680635||t19963.6463807571s|9231b6bf737058e4|1862|qs|local|list|validated_augmented_data||0.097|| +augmented_data_503c983df9b5e872|branch|2d36bb73d2db8346|317a6b9857648af8|9a019fa074f2b3d6|-140506748||t19963.6463809339s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.024|| +validated_augmented_data_7b3fa5fa8943568d|branch|7a2e774888c77b5a|e57a32141c4128a5|01e2f29872db8501|-633905354||t19963.6463810472s|25239067ea5664cc|1858|qs|local|list|validated_augmented_data||0.092|| +validated_augmented_data_8474cf55fb21d09f|branch|9e93c9f3a8c5a5f9|e57a32141c4128a5|fa75da15ed75db09|1706909772||t19963.6463818834s|b4af58b29460080b|1863|qs|local|list|validated_augmented_data||0.094|| +augmented_data_546b9e1c3f2cef3f|branch|d659f1af7d66a442|317a6b9857648af8|98624251e41146da|-451842461||t19963.6463821976s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.023|| +submission_data_cfad8e802be4b918|branch|b9c585a4d0f23478|185fb209a0f85e93|bdb0f6c0e90a1255|-1588087042||t19963.6463829994s|123ce49f82eb3e1b|315|qs|local|list|submission_data||0.003|| +validated_augmented_data_0bd8e9829b26fcfa|branch|b19a28406dcf64f0|e57a32141c4128a5|7072cb297ca44c44|-299821727||t19963.6463844183s|8e6901a343cb1030|1785|qs|local|list|validated_augmented_data||0.081|| +validated_augmented_data_6f413491dbd2d303|branch|2ff0f793d4e3e082|e57a32141c4128a5|6a6795bac49dc517|2041987334||t19963.6463856702s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.061|| +augmented_data_e10b48f0f0bf716d|branch|b71c4c192539fb8c|317a6b9857648af8|a844d58f2a3dc3fe|903817764||t19963.6463854237s|ac5883799cfc915b|301|qs|local|list|augmented_data||0.016|| +prediction_checks_3834d75ce1622e43|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|70e1727833cffa06|453421301||t19963.6463857636s|e06562061609e01a|338|qs|local|list|prediction_checks||0.103|| +prediction_checks_14940da1f8d26eeb|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|666878d9bc39e592|130258001||t19963.6463863424s|e06562061609e01a|338|qs|local|list|prediction_checks||0.119|| +validated_augmented_data_ac0693aebac6346f|branch|254a0cfd86390e9a|e57a32141c4128a5|9cd52e0bc219d5a4|391215480||t19963.6463869048s|d81b32700284785a|1794|qs|local|list|validated_augmented_data||0.081|| +groups_8db2c0bc590935c7|branch|9c86d4d61557feef|4d694e8490b66e3b|2c530c1562a7fbd1|1686002258||t19963.6463884967s|116c3e4567c62315|1251|qs|local|vector|groups||0|| +prediction_checks_f7f0a435d54722d1|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|208bddd9bd77f0ee|-2101840022||t19963.6463886168s|e06562061609e01a|338|qs|local|list|prediction_checks||0.101|| +validated_augmented_data_43076db6a52ca79b|branch|1872c564186f3e53|e57a32141c4128a5|8038101408bddeab|-86553535||t19963.6463899458s|7c8545b012e7f6a7|1757|qs|local|list|validated_augmented_data||0.077|| +prediction_checks_5a9686b922acaa97|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|053d7d2366276e88|1274737649||t19963.6463903172s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.082|| +prediction_checks_14fe32d2bbb12ab2|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|620a9ba434864328|-590439406||t19963.6463907231s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.1|| +groups_190d884b55361721|branch|23543ead8d6f5dcc|4d694e8490b66e3b|2c530c1562a7fbd1|1834083008||t19963.6463910055s|c0ee6b9295e8cce5|1140|qs|local|vector|groups||0|| +groups_55a573c0c9756df5|branch|2a556a65f076531f|4d694e8490b66e3b|2c530c1562a7fbd1|-1908403263||t19963.6463924184s|2c519d8274f85a61|1121|qs|local|vector|groups||0|| +groups_e57cd1596d7433bd|branch|dc0073b9da4f9f0a|4d694e8490b66e3b|2c530c1562a7fbd1|1231055145||t19963.6463928436s|1135a7f5c84b92f5|1161|qs|local|vector|groups||0|| +submission_data_5ba29e88d246e5be|branch|26e5887b319d9bd8|185fb209a0f85e93|021b4ae21ccd276b|1134975292||t19963.6463933795s|c206c709607ca69c|343|qs|local|list|submission_data||0.003|| +groups_adcc100ea034dea8|branch|1cf22132207f4d95|4d694e8490b66e3b|2c530c1562a7fbd1|455064219||t19963.646393536s|c82b0ba046cbf17c|1134|qs|local|vector|groups||0.001|| +prediction_checks_31b93d18d4b89447|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|181f67e9343dafd9|2141355295||t19963.6463937875s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.126|| +submission_data_78d8ed9aab8be518|branch|1c606f30fe8e3be6|185fb209a0f85e93|6afa9d719f5ff49d|330575848||t19963.6463948663s|0e9d2d7bbe99bbf8|298|qs|local|list|submission_data||0.003|| +submission_data_55377553ada8d481|branch|fc8fbf2e5a03247c|185fb209a0f85e93|5d5bb23cff2f5591|-773507270||t19963.6463950743s|0e9d2d7bbe99bbf8|298|qs|local|list|submission_data||0.002|| +prediction_checks_768767299a16b8d9|branch|3a8189fea3e8e11f|ca3c76dd51ebc9f7|61a0f4f00bb7bf5a|-1158876999||t19963.6463956392s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.11|| +submission_data_f678d8bbfa8c3dcd|branch|5b47e3ed56f572b0|185fb209a0f85e93|fd85a2deb91f5630|-1080480555||t19963.6463968666s|24c2ba8d4fe0ab05|322|qs|local|list|submission_data||0.003|| +groups_7c931e29282c9526|branch|a557827fe8489b2f|4d694e8490b66e3b|2c530c1562a7fbd1|-1545961185||t19963.6463975704s|6a398f62def3f957|1085|qs|local|vector|groups||0|| +augmented_data_4dbd710d176fea90|branch|9acd4cf7cd8d8a19|317a6b9857648af8|bc810fc044fd3a42|-663006967||t19963.6463973325s|d4b6668dfa3b2f11|340|qs|local|list|augmented_data||0.029|| +submission_data_d01d31b979b9e107|branch|c576910a8524fbb0|185fb209a0f85e93|b170fa0ff4b486aa|-1484349010||t19963.6463977896s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| +submission_data_8a21da0a7c8bbc47|branch|4c078d5e8386b5b6|185fb209a0f85e93|c64cc28306d47616|-1858763878||t19963.6463987374s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| +augmented_data_303e1dd67df00bfe|branch|4ba3bc2fe158e276|317a6b9857648af8|1c8655bb3e7963ae|1517799411||t19963.6463989871s|ac5883799cfc915b|301|qs|local|list|augmented_data||0.029|| +submission_data_3fe257bf68c21aaf|branch|384dcbda44db363f|185fb209a0f85e93|3ed81fddec38b6a6|120901866||t19963.646399335s|4702e5d68d5cb8ce|360|qs|local|list|submission_data||0.009|| +augmented_data_2781818264b93144|branch|5f2e7fc329ee4ab8|317a6b9857648af8|383373270b3ef8be|-1248302241||t19963.6463998642s|ac5883799cfc915b|301|qs|local|list|augmented_data||0.017|| +groups_e512988b6cb4e944|branch|0aad82d96bfacffe|4d694e8490b66e3b|2c530c1562a7fbd1|994937972||t19963.6464001061s|7fa8ca5f7421ecac|1108|qs|local|vector|groups||0|| +augmented_data_33114950ec3eb4e2|branch|404f8bce69040012|317a6b9857648af8|b87e93b89421bdf3|-881598618||t19963.6464012313s|14cab35870368b5d|328|qs|local|list|augmented_data||0.247|| +augmented_data_b3b046b3d9f0404b|branch|8b588692a74eb19e|317a6b9857648af8|7f683b8561fe3164|1868333327||t19963.6464015136s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.038|| +augmented_data_5fa6d68bd1d118e4|branch|c9bafc6da1bb7110|317a6b9857648af8|a8d356ceb7e00236|1275054290||t19963.6464017395s|3b08e2f63a5e0c0d|300|qs|local|list|augmented_data||0.012|| +prediction_checks_6625986686cfaf90|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|392ff64964e68368|1779179735||t19963.6464018964s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.115|| +augmented_data_277016737fedb446|branch|fdc08d4d1f2b987f|317a6b9857648af8|c4b6810672b745e9|1107497975||t19963.6464017626s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.049|| +augmented_data_1ffce449b603be2c|branch|fe423697aca617ed|317a6b9857648af8|8dc9f1554196618a|-1920031676||t19963.6464028359s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.014|| +validated_augmented_data_cc38b90d9cabe0a5|branch|c74431f2f95de3f5|e57a32141c4128a5|d5dbe9c68db14d39|-1505197730||t19963.6464036032s|7c8545b012e7f6a7|1757|qs|local|list|validated_augmented_data||0.081|| +validated_augmented_data_8182f8fee6285992|branch|626c9c3247cad9fd|e57a32141c4128a5|8a5281ff10162a62|-1811336604||t19963.6464037939s|67985f2869b1c876|1802|qs|local|list|validated_augmented_data||0.084|| +groups_8147143a1eba178a|branch|428838c7489d713c|4d694e8490b66e3b|2c530c1562a7fbd1|-530410068||t19963.6464047224s|bd1fd247b1ebd809|1116|qs|local|vector|groups||0|| +submission_data_414a589a505799c9|branch|a3f7722884e52568|185fb209a0f85e93|8d860d77d3c98686|-1318763916||t19963.6464049101s|23c5199cbe97be21|325|qs|local|list|submission_data||0.01|| +validated_augmented_data_470133da8457309d|branch|9eb32b2b3dbb923d|e57a32141c4128a5|eed3aee83ff45921|683543714||t19963.6464054219s|bcdd65b724f2e4b3|1788|qs|local|list|validated_augmented_data||0.076|| +validated_augmented_data_908849a82eb75798|branch|d7c4067497e47785|e57a32141c4128a5|eb3836add25ea943|-1487944344||t19963.6464056137s|cbe36289148c407c|1793|qs|local|list|validated_augmented_data||0.072|| +validated_augmented_data_5645988804c969f3|branch|37b4fd20cfaf431e|e57a32141c4128a5|2d5de02c7c47735f|-1213345436||t19963.6464055795s|1d7b63a9fbaf259a|1753|qs|local|list|validated_augmented_data||0.059|| +validated_augmented_data_1087031648b3fe42|branch|c8cad52ad5aed5f2|e57a32141c4128a5|8eefb7eea42dcfdb|1760146434||t19963.6464061958s|0c85a5025fbda6cf|1831|qs|local|list|validated_augmented_data||0.094|| +validated_augmented_data_ba1b01ff261870f3|branch|15a0967fb743da4f|e57a32141c4128a5|a6adf5862d4efab1|2110195181||t19963.6464072855s|353df61c39a5d221|1800|qs|local|list|validated_augmented_data||0.099|| +validated_augmented_data_9d4a5789f6a4bc93|branch|558d89a355bfba0f|e57a32141c4128a5|5de46bd052aede9d|303982879||t19963.646407472s|b4af58b29460080b|1863|qs|local|list|validated_augmented_data||0.078|| +prediction_checks_4b5e5108e5d97907|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|b771d860b9286976|-1041567632||t19963.6464084146s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.123|| +prediction_checks_953f238c0a384129|branch|3a8189fea3e8e11f|ca3c76dd51ebc9f7|4757d4dd176eac5e|572715880||t19963.6464083189s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.072|| +prediction_checks_c1c9284550b3bd8a|branch|3a8189fea3e8e11f|ca3c76dd51ebc9f7|4be5067c107b2fe2|721485735||t19963.6464087817s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.109|| +prediction_checks_7055180cd0db41f7|branch|a03bd0f3805cd5ad|ca3c76dd51ebc9f7|d2c6b032f752b2f7|-1232009138||t19963.6464093418s|ed14b4d8526ebe37|334|qs|local|list|prediction_checks||0.095|Failure to validate that column scenario is of type integer.The col_is_integer validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1| +submission_data_b908ad656db71b47|branch|3c354dd3225ac78e|185fb209a0f85e93|8a66008ad4fe4eb0|1705194124||t19963.6464097619s|23c5199cbe97be21|325|qs|local|list|submission_data||0.012|| +augmented_data_e462bf98e202e010|branch|5dcf992ae9f17b17|317a6b9857648af8|ec77deff3afba879|64686394||t19963.6464096771s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.02|| +prediction_checks_7e996c9072e4fe06|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|95c8626ece254c10|-877110807||t19963.6464091406s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.092|| +groups_bdf28235c498b6c2|branch|c9430632ee1ba399|4d694e8490b66e3b|2c530c1562a7fbd1|-1191077492||t19963.6464117083s|f1ffc4cabacf637d|1101|qs|local|vector|groups||0|| +prediction_checks_80fd4547fe6634e7|branch|549ae252f79a7252|ca3c76dd51ebc9f7|6501ef04e78c4dd6|363981354||t19963.646411793s|9fa82258c19da069|337|qs|local|list|prediction_checks||0.109|| +prediction_checks_77c7addc15637139|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|1418645c2c36dc05|885577530||t19963.646411873s|e06562061609e01a|338|qs|local|list|prediction_checks||0.102|| +prediction_checks_b66befcf184034c1|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|5de84d2f43dad512|1799761642||t19963.6464119687s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.096|| +groups_354a970b166ce349|branch|2688466acee603eb|4d694e8490b66e3b|2c530c1562a7fbd1|-1771284441||t19963.6464122812s|f1ffc4cabacf637d|1101|qs|local|vector|groups||0|| +groups_bb47c8c83187e878|branch|4df28da22d7b7d6a|4d694e8490b66e3b|2c530c1562a7fbd1|1060201562||t19963.646412923s|b71ff5e5dba18ad6|1093|qs|local|vector|groups||0.001|| +submission_data_d3509bfb9ff63ff2|branch|bf8d650b4a40ad40|185fb209a0f85e93|a4fd043de28f2090|1256243253||t19963.6464132903s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.002|| +groups_acab38c01d381dc5|branch|15ba2e6416921a87|4d694e8490b66e3b|2c530c1562a7fbd1|1023020775||t19963.6464141787s|69fba58f228d9efe|1122|qs|local|vector|groups||0|| +groups_4f91becb1fdf3920|branch|45ce9e137d23ca28|4d694e8490b66e3b|2c530c1562a7fbd1|735472613||t19963.6464142649s|76bed936d3449236|1137|qs|local|vector|groups||0.001|| +groups_6d8ba11ea2a12431|branch|23a6fe0a7aa39472|4d694e8490b66e3b|2c530c1562a7fbd1|-1521505491||t19963.6464144804s|c82b0ba046cbf17c|1134|qs|local|vector|groups||0|| +groups_16b96479373cd3f8|branch|c6d59271d275fd09|4d694e8490b66e3b|2c530c1562a7fbd1|772456735||t19963.6464143802s|89d13bbcff3b1d51|1232|qs|local|vector|groups||0|| +augmented_data_4df7fadbd7e6328b|branch|ac1b45ed53ce1492|317a6b9857648af8|423dcc0c99d7ef35|1600510341||t19963.6464146198s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.023|| +groups_e683db7ad52ea5a1|branch|510392f0e4f81666|4d694e8490b66e3b|2c530c1562a7fbd1|2043032440||t19963.6464157497s|aee7d81f36813c54|1187|qs|local|vector|groups||0|| +validated_augmented_data_5463aa0b8d1ce08e|branch|1a5743ee28d271b6|e57a32141c4128a5|a170e8dc3f26c916|471717049||t19963.6464161401s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.102|| +groups_6c5c8213cbc8c00f|branch|e6bd3851a2774f92|4d694e8490b66e3b|2c530c1562a7fbd1|800548745||t19963.6464164897s|03165f80a2cd5d1f|1120|qs|local|vector|groups||0|| +submission_data_7622158c38905307|branch|751cd2984ce88fa7|185fb209a0f85e93|35aa7a4e38dd9e22|162426029||t19963.6464171092s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.003|| +submission_data_8dc4e1ab611a6f30|branch|c6daf241805dc856|185fb209a0f85e93|bcb7eaf6983e5335|-1893956031||t19963.6464173055s|ff44d5a1f08d1b9b|332|qs|local|list|submission_data||0.006|| +augmented_data_f2ddc44003a4e22f|branch|89d6a511ef1b0aaa|317a6b9857648af8|661b8f7557061709|-1099968717||t19963.6464174546s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.013|| +submission_data_aaed176b4156bb8b|branch|9acddbab22fb7e1a|185fb209a0f85e93|0ede5a999373ffda|650621479||t19963.6464172304s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.008|| +submission_data_b968518f290514db|branch|d3f5d5b602dcb89f|185fb209a0f85e93|18ca24dd91e6c207|-625628386||t19963.6464185243s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.003|| +submission_data_08082ae7eec62447|branch|6dda0180c84c2030|185fb209a0f85e93|3ab9a3f2bea8a783|-788807779||t19963.6464191989s|6f5955ab594f49f2|329|qs|local|list|submission_data||0.003|| +submission_data_eaf93d8163e8e12f|branch|f0e4047a9ae58c60|185fb209a0f85e93|ce6116cd04fa070a|738151208||t19963.6464171808s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.004|| +augmented_data_7488dfb9e8e1cfad|branch|b9c630afa18bb6da|317a6b9857648af8|e8e9112fade08310|-938913999||t19963.6464202366s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.021|| +augmented_data_39c5c031a1c6818e|branch|ca4a74b6c811cb84|317a6b9857648af8|df4c593625f5e9f4|2100213825||t19963.646420336s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.016|| +augmented_data_53a7d2f12c72aa61|branch|a391316c1db2ecd4|317a6b9857648af8|1ff8a2875cc3e942|-1899955044||t19963.6464206496s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.012|| +validated_augmented_data_f6f7bbcd36d59b92|branch|311e37d440d276dd|e57a32141c4128a5|016826bf515a2b13|153028686||t19963.6464206367s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.068|| +prediction_checks_72f1e8983d0b1f14|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|01e3c50611a3ef25|525508720||t19963.6464211993s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.091|| +submission_data_7c2a0ab432740525|branch|ab6339a6b3abb550|185fb209a0f85e93|1bb6ccea2d1bd748|801971516||t19963.6464208758s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.009|| +augmented_data_ae7c054e8003ed7b|branch|5eb450ef4e6c8448|317a6b9857648af8|fbe852da3482cf26|-69888884||t19963.6464218122s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.016|| +augmented_data_b7ede6893a41ad76|branch|da69ad95ca37a245|317a6b9857648af8|d1f6c657b657763e|2075459600||t19963.6464225387s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.055|| +validated_augmented_data_7ca5c927372a5f77|branch|309b9833b97c3a80|e57a32141c4128a5|e91a60c68d8bedd3|470006267||t19963.646421118s|79e59bc409d2591a|1873|qs|local|list|validated_augmented_data||0.085|| +augmented_data_93364e8bf0cc1932|branch|f7959bf06fb22d24|317a6b9857648af8|b8d3c3eeccdeba7a|1532378264||t19963.6464235833s|4648ab7e3adbd40b|331|qs|local|list|augmented_data||0.022|| +submission_data_792ce4925323d985|branch|932d4fc7291200d0|185fb209a0f85e93|93a284a81d6b5f6a|1355818501||t19963.6464241808s|b8e2cd780a68e456|333|qs|local|list|submission_data||0.004|| +validated_augmented_data_d8e06ddb6335b4d4|branch|47ff15816c9f2fb2|e57a32141c4128a5|c465037441b014b9|383544147||t19963.6464244765s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.065|| +groups_4cb4d5dbc89bc7e3|branch|5c9366930482d4cf|4d694e8490b66e3b|2c530c1562a7fbd1|373772190||t19963.6464245284s|0f87da251090a5e4|1111|qs|local|vector|groups||0|| +groups|pattern|926f75b351a765af|4d694e8490b66e3b||-411621916||||140445|qs|local|vector||groups_22839266168d3abd*groups_31649958eeba71da*groups_f639ef27702ecb7e*groups_59f13eb58c73cf34*groups_6c3d37bd2c49dea0*groups_337a56a62ef09414*groups_1dea730f03a8668d*groups_b9fd491424833b33*groups_bb63aeb96cd4079d*groups_b0d8fdcab6cfe19f*groups_01138c7377535b92*groups_4c27c02f93e27031*groups_27657ad318930967*groups_5936e6d1e5aa8649*groups_61a24986016247a8*groups_ce4b9b6da3b8de19*groups_f6746841fc9919a7*groups_5e31e12fb9fe485f*groups_c488c85fca52d0ef*groups_ad105925e5fa67f2*groups_8ed81d55951232af*groups_06c0fb2af5837489*groups_b9647c331d5d9e08*groups_5df8fce42b3ee4e6*groups_903ca1cc516d9347*groups_399905bf8d605a0d*groups_937bfa57cdecba0f*groups_eafe9025b05561fd*groups_3244ab6e4f58c015*groups_110bc0420636fd74*groups_6fdd24b4b553a943*groups_8bdf1cad23bf5c0e*groups_864e4228fdd2a186*groups_5ee5a6103ceebf0e*groups_fb818d0c27cb1507*groups_d9c9b4899505dde6*groups_c5210b3894defa63*groups_6c035e9ced6a276f*groups_5961886c48d26cbc*groups_6254864b4a88a706*groups_d6a567634fcc7b67*groups_12cc0b31d19e2de6*groups_e9b5b48b2e8c266e*groups_b2796b98afb15ac3*groups_e8ed7d87e7b33e3e*groups_d1523ed5a6f7bf0d*groups_e04ba1e58563a7c6*groups_2072a2f743b21a67*groups_a116716c8d69c179*groups_12543c8e7f565cf4*groups_929965a1319d1732*groups_029477dd3e6baf90*groups_09737a657d0379e1*groups_dfd6f2472b59cd12*groups_659b04fcc8ed74a1*groups_74935028ebc6c97e*groups_6e4cab2f94f1eecb*groups_e4f2d9f951e4f36e*groups_c4b1d2ca02e6889c*groups_aa46637746473dc5*groups_ea4d34aa386d9e89*groups_e60fc457970eaebc*groups_1542a58b325665b6*groups_b5f95e1d69e9e6e5*groups_f2d3c45af1a685a2*groups_aa74e9944849511d*groups_26286fe6d4cfcf53*groups_467188f36c417525*groups_776ffb0736cad1e3*groups_28e85290fd9a97a0*groups_538d070775df006f*groups_196c1b0db8d0c941*groups_aca2aac0cc1dac7a*groups_3be2ddd9364a1e92*groups_4c516eff5ce59f29*groups_402dcae78f9ff340*groups_15ea0c1b16182003*groups_35a67b44c8e0cd10*groups_304c9b29ff5e1c2e*groups_9cded7f1ee6a7caa*groups_94f61bef3269dbb5*groups_100ea6d1fa47d7a2*groups_71bde056c79c3a73*groups_884432134cabb2f8*groups_3dcd0bf346bdfe4c*groups_70d22f79bdfb3691*groups_1c4067afea28309d*groups_c2f81073ae65961c*groups_c354acfdc22e2f16*groups_8c72eac004839ff1*groups_56897df71d5e7f55*groups_054d3b4ec3aa78a3*groups_802a1a0901cbe93d*groups_4b8096d473593db9*groups_e4b5d695c32741cc*groups_4e1de724ede801d3*groups_0e900f63a62b1200*groups_5766a2e76218a77c*groups_8cb26e796be65b8d*groups_088d82dee67e2773*groups_e762e25d5468ebbe*groups_0e31c90bfa2ccd6b*groups_1e924acc3408cae2*groups_0b52c0566bb774c2*groups_1fa1d945e6c772ce*groups_8db2c0bc590935c7*groups_190d884b55361721*groups_adcc100ea034dea8*groups_55a573c0c9756df5*groups_e57cd1596d7433bd*groups_7c931e29282c9526*groups_e512988b6cb4e944*groups_8147143a1eba178a*groups_bdf28235c498b6c2*groups_bb47c8c83187e878*groups_354a970b166ce349*groups_acab38c01d381dc5*groups_6c5c8213cbc8c00f*groups_16b96479373cd3f8*groups_e683db7ad52ea5a1*groups_6d8ba11ea2a12431*groups_4f91becb1fdf3920*groups_4cb4d5dbc89bc7e3|0.021|| +prediction_checks_54117c3aea8e4e7c|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|90fae58fcb5992e1|-1191712421||t19963.646425074s|e06562061609e01a|338|qs|local|list|prediction_checks||0.069|| +validated_augmented_data_2e967cdadf8de976|branch|7e2a76ef053955a5|e57a32141c4128a5|870fca26da06b0b3|624776956||t19963.6464252209s|cbe36289148c407c|1793|qs|local|list|validated_augmented_data||0.113|| +validated_augmented_data_a454c526ce6a7563|branch|cdf6605efb551091|e57a32141c4128a5|5ca385fb5f8ea2a1|-1157910296||t19963.6464254363s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.096|| +validated_augmented_data_c4b2c8fc45882d8d|branch|5ff0ffaaf1ee308d|e57a32141c4128a5|ac26ba04019f94a9|142227705||t19963.6464254695s|e089aee31c9cf3ad|1811|qs|local|list|validated_augmented_data||0.099|| +validated_augmented_data_a50616f549c00008|branch|557c652cff534899|e57a32141c4128a5|4fcb98099ff0db36|1460968932||t19963.6464272385s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.08|| +prediction_checks_44b515bdd947b0b6|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|8170fb4ffe96c6ba|-1588170541||t19963.646427599s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.162|| +augmented_data_b5cc946f39fee6a0|branch|320804690bdda5fe|317a6b9857648af8|4bc8f976d9d06ab2|-1189743066||t19963.6464282055s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.019|| +prediction_checks_1c5ccb8ad53e311e|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|bc07630eec56fc46|-1820144770||t19963.646428634s|e06562061609e01a|338|qs|local|list|prediction_checks||0.071|| +prediction_checks_6d43f2cfd1e4d38a|branch|f14065e0b84e4690|ca3c76dd51ebc9f7|4ee9a6bd44eb5d3a|745595934||t19963.6464290078s|f8bff6bda11134a2|346|qs|local|list|prediction_checks||0.077|Failure to validate that column ci.low is of type numeric.The col_is_numeric validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1. Failure to validate that column ci.hi is of type numeric.The col_is_numeric validation failed beyond the absolute threshold level 1. failure level 1 failure threshold 1| +validated_augmented_data_476d0eafc82a0e28|branch|72a4bdf6ac6ee406|e57a32141c4128a5|204354e394bfe3c8|-42707377||t19963.6464292596s|d1afc6c938a727bf|1789|qs|local|list|validated_augmented_data||0.091|| +augmented_data_2c118f28dc014fee|branch|596fccd7335b4035|317a6b9857648af8|7615addaf38056bd|520472541||t19963.646429295s|d135c5cb0b7ba5c6|335|qs|local|list|augmented_data||0.016|| +prediction_checks_035734ce81259701|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|06476c76b8966788|552770832||t19963.6464297288s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.121|| +submission_data_f9abacb29d723377|branch|f461fad0dbaafbdd|185fb209a0f85e93|a8b58a5434d12029|1472615642||t19963.6464303559s|dc5f153b79fc438e|327|qs|local|list|submission_data||0.003|| +prediction_checks_230fcfb345ee5826|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|5dac9a072a2ce7d2|1087047043||t19963.6464313094s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.088|| +validated_augmented_data_53a6f6d89a567034|branch|dc746bbdb64a3f91|e57a32141c4128a5|ac4fe1db4713aed2|-1995355601||t19963.6464321014s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.076|| +augmented_data_137b2b76e0c45b5e|branch|f0adf0831faba0e8|317a6b9857648af8|e20843b95e3a2df4|-2081510066||t19963.6464320738s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.018|| +augmented_data_722104d142ffcb5d|branch|c56ca7106e3e277d|317a6b9857648af8|ca456d58ce396d12|1934158432||t19963.6464321511s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.017|| +submission_data_3a0bbc857bee2d9b|branch|cc755c0c0d2a8984|185fb209a0f85e93|7f9b73389c925b0d|-1153467280||t19963.6464325111s|fabb80dff42d75cb|307|qs|local|list|submission_data||0.003|| +prediction_checks_9b2eb3e72408bfb8|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|b8fdde0a7b30111a|-771205092||t19963.6464324616s|e06562061609e01a|338|qs|local|list|prediction_checks||0.085|| +augmented_data_d71237357c705044|branch|a830d8f66b6864e8|317a6b9857648af8|1adeb0b9ef3ed067|-1575840721||t19963.64643302s|e818f06db8013bcf|306|qs|local|list|augmented_data||0.012|| +prediction_checks_ee77728ceb227c01|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|4f3d149de0ec2022|668708968||t19963.6464341454s|e06562061609e01a|338|qs|local|list|prediction_checks||0.126|| +prediction_checks_3dbf9f9f2194e557|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|66a0705ba7cc94a2|-1627057021||t19963.6464338404s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.127|| +submission_data_f7001a4b66ccf849|branch|7d6eefe8f4d908a3|185fb209a0f85e93|2bb9617c6d125a67|-1101458396||t19963.6464349191s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.004|| +validated_augmented_data_a975283f5c157c1b|branch|a3d1ddaee227465a|e57a32141c4128a5|9520d9a4193a57ea|118167844||t19963.6464353092s|027de0cecbf880a8|1878|qs|local|list|validated_augmented_data||0.083|| +submission_data_9a4587b0f573b249|branch|bcf67c57c30eb99c|185fb209a0f85e93|3b06d888ea2a16bf|-1056374659||t19963.6464361142s|0dfb1b467bffbcf6|324|qs|local|list|submission_data||0.007|| +submission_data|pattern|fe17e6a66cc900e7|185fb209a0f85e93||1533152843||||40235|qs|local|list||submission_data_22471f5da2cbe218*submission_data_a43e11dce5eed9f6*submission_data_29f7215b81560635*submission_data_bb08d0f95569a214*submission_data_ed34bc36b4450a90*submission_data_75a59c7e41c58ed6*submission_data_8ac85479d8b42647*submission_data_a1ba5bd4650bf75f*submission_data_a39d7081ee541725*submission_data_613fb0a37a099e4d*submission_data_301761c667e2d5b0*submission_data_c535ed69266eaed0*submission_data_ed4a1fe06231ac91*submission_data_ddd3bfcd088d56d0*submission_data_6801e351ca4c39d3*submission_data_430f3ca35070f0ec*submission_data_53b3ec526025527e*submission_data_33f1a36c64a5f560*submission_data_fdfbbb5ff66761b0*submission_data_b66a4b00e01c5a82*submission_data_9a1e21726c384b51*submission_data_508206396af0e729*submission_data_5a0d979e0b4d5c66*submission_data_98b8519dd449e5cc*submission_data_33530cce1581b5b9*submission_data_db8ecdfdcc51b31f*submission_data_93f3c69aec7c16d7*submission_data_259ad3704e63f7b8*submission_data_ab6d698b4b9cf6c7*submission_data_630aab51d0a68186*submission_data_ccf10e8d0be6bd9f*submission_data_3d6beb99b6d3d199*submission_data_1a413e509a10128a*submission_data_8a3535590fb7a64f*submission_data_7d120b7926ad30e8*submission_data_8692eda4655f564d*submission_data_3371a1d6cd702c74*submission_data_8d81d62b6fec8e7e*submission_data_192d15bd4983da14*submission_data_3a589773855064c7*submission_data_3691e06a5681ed0e*submission_data_a3ef8e1cf4fc1d3e*submission_data_51333a3fc2a7e70f*submission_data_d1014dc509b15f9c*submission_data_c473b68b3bb73d3c*submission_data_8ceb99d2547b31ef*submission_data_3fe257bf68c21aaf*submission_data_8ffa8c52eeac23d2*submission_data_7dff9d2f3d635937*submission_data_334208fc84791097*submission_data_2f641def928d855c*submission_data_17942410d59192dc*submission_data_792ce4925323d985*submission_data_b0a5a70b748e94b6*submission_data_24d491c39ea368b7*submission_data_49903981a4fd481b*submission_data_52f2aeac5fd8599c*submission_data_40d66275aacf908f*submission_data_c5fdf77d54d739f4*submission_data_144a43d2d6066b80*submission_data_27314d66917d666d*submission_data_ff8b413f5c50bba1*submission_data_0150d98feeb22db8*submission_data_6fc3b29a97d5c029*submission_data_88b0fd7ac3221325*submission_data_3a0bbc857bee2d9b*submission_data_0ea5ac9666e0546d*submission_data_1da9c93ef4bef397*submission_data_e7dd68d7ce3ad157*submission_data_7b0d47c8fb00d826*submission_data_5eb776ab5d25ef06*submission_data_2a6101cf0c542cc5*submission_data_15548df7da910d2e*submission_data_194d8f075df008b4*submission_data_5a410f0527982db6*submission_data_c3b896ea4392beec*submission_data_5fb58316ff86d978*submission_data_cabc08ff43b5175d*submission_data_3bf2bacb6fe00f56*submission_data_c6c08589990fc2ca*submission_data_0eaf0d4efbbf00b4*submission_data_75aca4f53f2ab0d2*submission_data_6ba8e08078a8f7b6*submission_data_bce60e79045684a5*submission_data_5de6a0343f4560c4*submission_data_e24bbdb632da37e6*submission_data_af46c00587380b6e*submission_data_1b2ddb7ee612d70e*submission_data_df2c29a9dd843f48*submission_data_6d9d205aefce25af*submission_data_8b86638833a86587*submission_data_d4e7a1027842b1f2*submission_data_90f9fa993be0eaac*submission_data_64445156e2cd2abe*submission_data_a867308ba179a527*submission_data_2839b6a06f1c601c*submission_data_10d3efcd333816d3*submission_data_c1e730a18434d7b9*submission_data_69d487e3db58565a*submission_data_f7001a4b66ccf849*submission_data_d484a069be940d8d*submission_data_c21bf65bd1ba1e44*submission_data_e9426416a23ed079*submission_data_a371e4c392dfbfee*submission_data_cfad8e802be4b918*submission_data_5ba29e88d246e5be*submission_data_55377553ada8d481*submission_data_78d8ed9aab8be518*submission_data_d01d31b979b9e107*submission_data_f678d8bbfa8c3dcd*submission_data_8a21da0a7c8bbc47*submission_data_414a589a505799c9*submission_data_b908ad656db71b47*submission_data_d3509bfb9ff63ff2*submission_data_aaed176b4156bb8b*submission_data_9a4587b0f573b249*submission_data_b968518f290514db*submission_data_7c2a0ab432740525*submission_data_eaf93d8163e8e12f*submission_data_7622158c38905307*submission_data_08082ae7eec62447*submission_data_8dc4e1ab611a6f30*submission_data_f9abacb29d723377|0.491|| +validated_augmented_data_1c3ed8f5e124ae5e|branch|0de3d733e304d727|e57a32141c4128a5|8a1341acd4683762|773571878||t19963.6464363958s|381441630f865ce4|1787|qs|local|list|validated_augmented_data||0.061|| +prediction_checks_8dea87da4644c58b|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|72ddc7b5063a36a2|923343012||t19963.6464365841s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.1|| +augmented_data_40012925a415f466|branch|a4149dc9866181d1|317a6b9857648af8|518e63bbf2b88435|-893436677||t19963.6464367682s|e818f06db8013bcf|306|qs|local|list|augmented_data||0.014|| +augmented_data_20f21ba792a67cad|branch|5be5de9158743d16|317a6b9857648af8|e4dcccfdef188b8f|1639286860||t19963.6464381333s|3fda9b692b1d9985|330|qs|local|list|augmented_data||0.014|| +validated_augmented_data_9aa5c18a82e43795|branch|282b108400fd26d2|e57a32141c4128a5|ad8c9526392e84c3|1856398314||t19963.6464384044s|c19d5c5cf79418b6|1795|qs|local|list|validated_augmented_data||0.074|| +prediction_checks_f4047f7395af2842|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|a181b87a11902fd2|-50369393||t19963.6464393396s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.106|| +validated_augmented_data_cdc4bf64218947d4|branch|7096d610b55cf3d0|e57a32141c4128a5|8114e4b68f10ffa1|-883838161||t19963.6464404054s|d0facd8f04726c3c|1838|qs|local|list|validated_augmented_data||0.085|| +validated_augmented_data_49f082d1c52a7881|branch|2efcf62e93f6d18b|e57a32141c4128a5|95b3ba99630fbadd|1754356399||t19963.6464410716s|deb25643d5e2e509|1875|qs|local|list|validated_augmented_data||0.113|| +validated_augmented_data_da860057b64ca611|branch|af2ace5023e758f8|e57a32141c4128a5|acb5ba37163ff897|-1637767841||t19963.646440314s|cf35f5ffdb223e38|1874|qs|local|list|validated_augmented_data||0.064|| +augmented_data_893ecccabfdde0b5|branch|efd7498b34f87193|317a6b9857648af8|4bb571d4a8a30795|1489584894||t19963.6464385492s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.022|| +prediction_checks_ed51aa1639abc4c8|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|c7ac734b8c539f95|-431444033||t19963.6464387558s|e06562061609e01a|338|qs|local|list|prediction_checks||0.079|| +augmented_data_8af9a3b0214d1fb2|branch|a60bd1b0b6bc80dd|317a6b9857648af8|2000a012ac6dbdb6|-1007326595||t19963.646438661s|ed14b4d8526ebe37|334|qs|local|list|augmented_data||0.015|| +prediction_checks_4774eae3f1034789|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|b8ff58f94f4bf56e|2033202946||t19963.6464427798s|e06562061609e01a|338|qs|local|list|prediction_checks||0.079|| +prediction_checks_2a7ef0c240868872|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|84008818cf5eca15|-1220005400||t19963.6464430128s|e06562061609e01a|338|qs|local|list|prediction_checks||0.113|| +prediction_checks_07b643b3eb071c34|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|eb348b48731858e7|1046183931||t19963.6464430613s|e06562061609e01a|338|qs|local|list|prediction_checks||0.081|| +validated_augmented_data_9bc03c8aa732b3a4|branch|f11745d08b190433|e57a32141c4128a5|51f22e3eb4a03020|-1823786503||t19963.6464433152s|b3e2ad83fe13803b|1790|qs|local|list|validated_augmented_data||0.09|| +validated_augmented_data_6f48cfe4ef45ef3a|branch|16e63f4266eb24c9|e57a32141c4128a5|c5215f0211a8a4fd|646719527||t19963.6464432253s|3131ac77a1639b81|1834|qs|local|list|validated_augmented_data||0.08|| +validated_augmented_data_f937fff664ecba90|branch|8ab84f8eb12f58ca|e57a32141c4128a5|fb73e78a0ef0c658|-1584426591||t19963.6464433835s|aaf7c7bc9d892f82|1792|qs|local|list|validated_augmented_data||0.085|| +augmented_data_3c97672e4329adeb|branch|914718816ff3a6bf|317a6b9857648af8|ea215bb5313b3e4b|1933888461||t19963.6464440978s|23c5199cbe97be21|325|qs|local|list|augmented_data||0.026|| +augmented_data|pattern|23280af0ad1ef173|317a6b9857648af8||-424515201||||40143|qs|local|list||augmented_data_e76cb5b887f85687*augmented_data_674c0f9cfe4852e0*augmented_data_efdd841e81833a95*augmented_data_94d3b2f5f3b8a804*augmented_data_7714a5aeca552d88*augmented_data_8cf55628b5baa817*augmented_data_5ceb7ea04b9d9a9b*augmented_data_97593c1ba98e543f*augmented_data_4794d4887197db7b*augmented_data_4a24983f147695da*augmented_data_1dd1ffddec2b9b9f*augmented_data_86cb2d8a42d6266a*augmented_data_d8f5d08715fe0a23*augmented_data_6198c2501a919193*augmented_data_f43d05eda3f232d1*augmented_data_365f707e1f9ed3bb*augmented_data_4ec123701c9a4984*augmented_data_3e0a1a7a89327624*augmented_data_3cf447b0721dd478*augmented_data_d83f2da4d35e1a53*augmented_data_7552291c042eda54*augmented_data_6c0b2e9938beef09*augmented_data_90ada5421f71b73b*augmented_data_ec53d74127fdfaac*augmented_data_2a3d076e4e62801b*augmented_data_7dd25987a9d0426b*augmented_data_a3e1d41cbb153a53*augmented_data_bfe30684cde965da*augmented_data_528fba3a0e8b5dcf*augmented_data_4f324335760aa795*augmented_data_e0d31cdba59a1120*augmented_data_6180e436319a6f72*augmented_data_25d0721916fbcc75*augmented_data_e87531e69de6de76*augmented_data_e34488f0c434f549*augmented_data_5f1a4d66abe5b614*augmented_data_7b03f8d8b58dc19c*augmented_data_3cfc88cca0185961*augmented_data_10499900811e4733*augmented_data_ef0a5ebed63b41b2*augmented_data_4fd0f4bbeb073d05*augmented_data_6127eae7ebece6b7*augmented_data_1e684cef8c7cc5ae*augmented_data_ff452ec69a5060a0*augmented_data_fd76c498df2c4759*augmented_data_33114950ec3eb4e2*augmented_data_277016737fedb446*augmented_data_5bc96a88936f47ae*augmented_data_c150b5fafc4bf5c9*augmented_data_37916bedfcd06252*augmented_data_dde7c5d3d99841ab*augmented_data_aa457f8cf21af899*augmented_data_2c118f28dc014fee*augmented_data_261a623449d70bec*augmented_data_ac770ba43c1b7132*augmented_data_0477d1259665999b*augmented_data_b5cc946f39fee6a0*augmented_data_de622a8826f56e60*augmented_data_e9877679de16af23*augmented_data_fbd9250baf8ae9df*augmented_data_e8d1e268246cb5da*augmented_data_cef237aeb12344a7*augmented_data_e66f54b7e44914e5*augmented_data_c39ecdfa85afc1c2*augmented_data_61e82021655626e2*augmented_data_40012925a415f466*augmented_data_3e29610b22d2997f*augmented_data_d71237357c705044*augmented_data_8f9ecb67b4648df1*augmented_data_0023663ed9da9ee7*augmented_data_9665d2ee964dcad1*augmented_data_cb33d53cac3dc2b3*augmented_data_ef738b3109348ee5*augmented_data_1df4477eff7f2ab1*augmented_data_776859538bcf3687*augmented_data_e7b47051397e1237*augmented_data_e5582ec60a21473d*augmented_data_2876889f008cadda*augmented_data_00d8d4fcc9c9104b*augmented_data_bb38d4b6a7216784*augmented_data_d88f33dde80a442c*augmented_data_137b2b76e0c45b5e*augmented_data_52c79cf969d1377d*augmented_data_823b6a652a2079cc*augmented_data_96bd82b7bfa8af44*augmented_data_0c123efe46eecc9b*augmented_data_2e3c836f82b0c8ad*augmented_data_3360572419d7f96c*augmented_data_bceb869e337d99be*augmented_data_722104d142ffcb5d*augmented_data_50bc9d7faaa7c206*augmented_data_0d1d39b785b295db*augmented_data_72001cec2c56ccd0*augmented_data_6ad9b65ea48e6fdf*augmented_data_4e3246fac39f5e74*augmented_data_5faaa5257d5d2743*augmented_data_5eaee7e9b564dbff*augmented_data_20a814eac57e8939*augmented_data_643039c30c28b2e4*augmented_data_3c97672e4329adeb*augmented_data_0beddfbd766f70da*augmented_data_503c983df9b5e872*augmented_data_546b9e1c3f2cef3f*augmented_data_a4483f2a767d5aaf*augmented_data_e10b48f0f0bf716d*augmented_data_4dbd710d176fea90*augmented_data_2781818264b93144*augmented_data_303e1dd67df00bfe*augmented_data_5fa6d68bd1d118e4*augmented_data_b3b046b3d9f0404b*augmented_data_1ffce449b603be2c*augmented_data_e462bf98e202e010*augmented_data_4df7fadbd7e6328b*augmented_data_f2ddc44003a4e22f*augmented_data_7488dfb9e8e1cfad*augmented_data_20f21ba792a67cad*augmented_data_39c5c031a1c6818e*augmented_data_893ecccabfdde0b5*augmented_data_93364e8bf0cc1932*augmented_data_b7ede6893a41ad76*augmented_data_53a7d2f12c72aa61*augmented_data_ae7c054e8003ed7b*augmented_data_8af9a3b0214d1fb2|2.362|| +validated_augmented_data_98d11dab0bd4a480|branch|9a54b5b11082df88|e57a32141c4128a5|33cba1a9c7e9c960|609162109||t19963.6464444339s|d755b320cb28ca69|1786|qs|local|list|validated_augmented_data||0.119|| +prediction_checks_4fa904f057f289eb|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|f7f3923a22b95ee2|-949555226||t19963.6464447706s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.123|| +validated_augmented_data_83323c5af7ae1cba|branch|6fe97caa8a3e66bd|e57a32141c4128a5|87ad0e5c9774c6ec|336409916||t19963.646446756s|b4af58b29460080b|1863|qs|local|list|validated_augmented_data||0.065|| +validated_augmented_data|pattern|e29fbce16dd704f3|e57a32141c4128a5||-782258165||||221868|qs|local|list||validated_augmented_data_921e3c319b6b55bb*validated_augmented_data_7d3c01280b4bdc52*validated_augmented_data_c4877a335077ed1e*validated_augmented_data_719ef3e55d9c9084*validated_augmented_data_5a0ff76060cea718*validated_augmented_data_13247c5ec1e128de*validated_augmented_data_7b23546ddaf187c5*validated_augmented_data_fb7c7f133b2f394b*validated_augmented_data_e78ebdf9e5632747*validated_augmented_data_6138db413359e388*validated_augmented_data_c4b2c8fc45882d8d*validated_augmented_data_41a33e87a561e6fe*validated_augmented_data_7fbf893a6e53d76b*validated_augmented_data_d9fcb25c1333f3a7*validated_augmented_data_3da3fe4d72345b6d*validated_augmented_data_120b56db5bdbc012*validated_augmented_data_56a7ae8dc3243cb5*validated_augmented_data_9c4afcf765271c17*validated_augmented_data_f7d66dee6c5617d9*validated_augmented_data_53b8cb2bd1445f23*validated_augmented_data_a7c3df4652440f04*validated_augmented_data_7b3152aad070d867*validated_augmented_data_50e4232fdcced123*validated_augmented_data_0a5feb8588fbf968*validated_augmented_data_470806ae184181c4*validated_augmented_data_659adbd2cad83944*validated_augmented_data_9de7fc3a4982cb1e*validated_augmented_data_dd8da52172f5b944*validated_augmented_data_77cf3046b6ea9f25*validated_augmented_data_a50616f549c00008*validated_augmented_data_ba638f357ca27982*validated_augmented_data_4062f7b61b835765*validated_augmented_data_4e080a8c8a2113df*validated_augmented_data_0cf5a62fc25cf42c*validated_augmented_data_7a9ee6de1437997c*validated_augmented_data_26c6c1b6b78ee087*validated_augmented_data_9a0d50f454d290cc*validated_augmented_data_7e65b12bd842b9e3*validated_augmented_data_0d941305ac8f8f6f*validated_augmented_data_cba66098e4c18c0e*validated_augmented_data_427e73198bdeede2*validated_augmented_data_858381839be478cc*validated_augmented_data_e68986aa3f6508f2*validated_augmented_data_1d98680bb820c76c*validated_augmented_data_9d9de3f38bc44a0c*validated_augmented_data_9d4a5789f6a4bc93*validated_augmented_data_ba1b01ff261870f3*validated_augmented_data_564f45ef7974034d*validated_augmented_data_0e9708a9e707c5cb*validated_augmented_data_4240c12a1dc827fa*validated_augmented_data_b4deac3379a953a3*validated_augmented_data_5f567328c9b5aa1c*validated_augmented_data_a975283f5c157c1b*validated_augmented_data_58463e37ccc0c08e*validated_augmented_data_7d7d61bc3d3b0321*validated_augmented_data_8aee723f36de6cef*validated_augmented_data_53a6f6d89a567034*validated_augmented_data_09ae74ae390cd6dd*validated_augmented_data_129f46b388b2f67e*validated_augmented_data_144b793f1be812a5*validated_augmented_data_e7289c471153a5b6*validated_augmented_data_4dddc307fff931f9*validated_augmented_data_8742d7cadc9e658a*validated_augmented_data_bfdfcc1bab1bf247*validated_augmented_data_eb3c4e536b0b6d99*validated_augmented_data_6f48cfe4ef45ef3a*validated_augmented_data_24f7a56f07f00565*validated_augmented_data_cdc4bf64218947d4*validated_augmented_data_41c8b4d2968b9f7e*validated_augmented_data_3982717d3357e25e*validated_augmented_data_1f6bceb6b5804f66*validated_augmented_data_22a8c8f7617f440b*validated_augmented_data_4d40b01c50f2ad39*validated_augmented_data_25fd28d07c92063c*validated_augmented_data_5ab441b7c76166ed*validated_augmented_data_f888db1bdaca282b*validated_augmented_data_48ca467781a3500c*validated_augmented_data_1ba9758fc6474da0*validated_augmented_data_c4e7cb22e28904dc*validated_augmented_data_d8eba3e39896a234*validated_augmented_data_4e0a68879cbb9036*validated_augmented_data_9aa5c18a82e43795*validated_augmented_data_4d829361503e37a0*validated_augmented_data_3510441c9a47dee1*validated_augmented_data_704845d5205a312e*validated_augmented_data_cb8bd8bc37097b69*validated_augmented_data_5a5ce47db007e29f*validated_augmented_data_7e3c378c924b3aad*validated_augmented_data_1a287b1ecd6a28a4*validated_augmented_data_1c3ed8f5e124ae5e*validated_augmented_data_41e2a237f652154f*validated_augmented_data_ffb0612c513f29a5*validated_augmented_data_021514c7e627f264*validated_augmented_data_2bebca7abe9a4631*validated_augmented_data_e4821dc42e2c5358*validated_augmented_data_4c761f094ac8cd65*validated_augmented_data_27757fe2eb386a66*validated_augmented_data_72d3814de55b5505*validated_augmented_data_8474cf55fb21d09f*validated_augmented_data_83323c5af7ae1cba*validated_augmented_data_7b3fa5fa8943568d*validated_augmented_data_ac0693aebac6346f*validated_augmented_data_6f413491dbd2d303*validated_augmented_data_0bd8e9829b26fcfa*validated_augmented_data_43076db6a52ca79b*validated_augmented_data_8182f8fee6285992*validated_augmented_data_5645988804c969f3*validated_augmented_data_cc38b90d9cabe0a5*validated_augmented_data_1087031648b3fe42*validated_augmented_data_470133da8457309d*validated_augmented_data_908849a82eb75798*validated_augmented_data_5463aa0b8d1ce08e*validated_augmented_data_f6f7bbcd36d59b92*validated_augmented_data_7ca5c927372a5f77*validated_augmented_data_2e967cdadf8de976*validated_augmented_data_98d11dab0bd4a480*validated_augmented_data_a454c526ce6a7563*validated_augmented_data_9bc03c8aa732b3a4*validated_augmented_data_476d0eafc82a0e28*validated_augmented_data_da860057b64ca611*validated_augmented_data_d8e06ddb6335b4d4*validated_augmented_data_49f082d1c52a7881*validated_augmented_data_f937fff664ecba90|8.921|| +prediction_checks_67d00368220eb536|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|3db80a7fe99db189|-1606790166||t19963.6464477583s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.107|| +prediction_checks_1300486e5e79186c|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|3fa2af08e7935708|896172697||t19963.6464477854s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.077|| +prediction_checks_c6fc26302780871d|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|35b2656db73ade2a|779078672||t19963.6464478142s|e06562061609e01a|338|qs|local|list|prediction_checks||0.077|| +prediction_checks_5c80e0b03f13a3fa|branch|d7880f23e81d78eb|ca3c76dd51ebc9f7|090e1d659142bbb0|-2020313480||t19963.6464479404s|14cab35870368b5d|328|qs|local|list|prediction_checks||0.065|| +prediction_checks_e5e6bb8aedde3b4a|branch|8ca928e274ef2fdb|ca3c76dd51ebc9f7|19a9ae8ad52cace7|-1630304220||t19963.6464498969s|e06562061609e01a|338|qs|local|list|prediction_checks||0.082|| +prediction_checks|pattern|9fa1fd6b7834d5bf|ca3c76dd51ebc9f7||-490550297||||40611|qs|local|list||prediction_checks_5c36416de01f6270*prediction_checks_d8a960ee5d51d03e*prediction_checks_99ab54271d503689*prediction_checks_6a55445351092a1f*prediction_checks_bf30c4e240c3d74a*prediction_checks_13e7c10fda18b2c8*prediction_checks_08b196760bd2fa52*prediction_checks_46973836ee4e5dbf*prediction_checks_ed4d3b2df72f107f*prediction_checks_1ac6321eca95d9dc*prediction_checks_6d43f2cfd1e4d38a*prediction_checks_9858b3220c5a3eb5*prediction_checks_d443e15f296dfbda*prediction_checks_bb90bbeb14b83e7a*prediction_checks_72e65a49290c7d20*prediction_checks_abcc036e8f821cdf*prediction_checks_aa5725ad981362ad*prediction_checks_245011b3e8890ff0*prediction_checks_febcdfc3a8cac733*prediction_checks_d3a05f381bafcd76*prediction_checks_f4d0b9745fdfc665*prediction_checks_d296718ee3573ffd*prediction_checks_25ca30f2be20acec*prediction_checks_ecd6fb3d575017eb*prediction_checks_cc8a55216a7b5045*prediction_checks_0c71001ed42a2d7e*prediction_checks_3b29e3d6f1c55506*prediction_checks_f011ee6967aa7d48*prediction_checks_4479da5b73e3a7aa*prediction_checks_ee77728ceb227c01*prediction_checks_dc5b873c5665434a*prediction_checks_ab08fa3cc8b607fb*prediction_checks_a015239f94db1a29*prediction_checks_397ccc8b004ba737*prediction_checks_01e1e08599784ae0*prediction_checks_b0ebcbb7a5f611cf*prediction_checks_820fdb3c74428fa0*prediction_checks_511dec9721616632*prediction_checks_1397102747f8ada2*prediction_checks_99d424b5419a701a*prediction_checks_ae5136def93ca865*prediction_checks_d47f661c8d403250*prediction_checks_6625986686cfaf90*prediction_checks_04da8c769a01c8ed*prediction_checks_4dbd6d5c3a8a5aba*prediction_checks_77c7addc15637139*prediction_checks_b66befcf184034c1*prediction_checks_f88d699e1571310a*prediction_checks_23946189e6712419*prediction_checks_0998e295c94c48ff*prediction_checks_33973b96da0fbab4*prediction_checks_11ac9f71c1761277*prediction_checks_ed51aa1639abc4c8*prediction_checks_4e0841de931cf7bd*prediction_checks_e4e1cca5e54dc734*prediction_checks_a680280698affff6*prediction_checks_8dea87da4644c58b*prediction_checks_12b6a1209c7b9e3f*prediction_checks_e82962793d58f3c7*prediction_checks_b193cf90f435675d*prediction_checks_97e4ec05f7fa50ec*prediction_checks_8658e3a8221a3c95*prediction_checks_b09e54c77548b9bf*prediction_checks_bcc25e710d192c4b*prediction_checks_63a9e06760851e4d*prediction_checks_c6fc26302780871d*prediction_checks_ca9ad71430b7b210*prediction_checks_2a7ef0c240868872*prediction_checks_6807dfac02920721*prediction_checks_01ddfe74677aa3a4*prediction_checks_516ff0bd02e172e6*prediction_checks_0371c5b4503a64c1*prediction_checks_1696df95d3d8f556*prediction_checks_9b2eb3e72408bfb8*prediction_checks_072e643d1f12d0a5*prediction_checks_56da09d3286862ff*prediction_checks_fda2467264fecd47*prediction_checks_3bb0ae1464e795ef*prediction_checks_67cce082798354cb*prediction_checks_0fb53cbdd032c797*prediction_checks_47056ced676ec0e4*prediction_checks_4fa904f057f289eb*prediction_checks_a9577ccd3002ea03*prediction_checks_7216a9e13934dcbc*prediction_checks_52610edc43ad58ad*prediction_checks_5310b515fe3d646e*prediction_checks_547f9108ce7c4efa*prediction_checks_6417c297588786d0*prediction_checks_fff68b50f6b58647*prediction_checks_f4047f7395af2842*prediction_checks_db30860592a19703*prediction_checks_1c29720300bd11b7*prediction_checks_6b6ef38d1125ebe3*prediction_checks_e953db4c9ce987d2*prediction_checks_a6290412d7d779d3*prediction_checks_b7b71fb3a4ba929b*prediction_checks_da296d4e9b4f06ff*prediction_checks_3834d75ce1622e43*prediction_checks_f7f0a435d54722d1*prediction_checks_e5e6bb8aedde3b4a*prediction_checks_14940da1f8d26eeb*prediction_checks_31b93d18d4b89447*prediction_checks_14fe32d2bbb12ab2*prediction_checks_5a9686b922acaa97*prediction_checks_768767299a16b8d9*prediction_checks_7055180cd0db41f7*prediction_checks_953f238c0a384129*prediction_checks_c1c9284550b3bd8a*prediction_checks_80fd4547fe6634e7*prediction_checks_4b5e5108e5d97907*prediction_checks_7e996c9072e4fe06*prediction_checks_72f1e8983d0b1f14*prediction_checks_44b515bdd947b0b6*prediction_checks_54117c3aea8e4e7c*prediction_checks_035734ce81259701*prediction_checks_67d00368220eb536*prediction_checks_230fcfb345ee5826*prediction_checks_5c80e0b03f13a3fa*prediction_checks_3dbf9f9f2194e557*prediction_checks_07b643b3eb071c34*prediction_checks_1c5ccb8ad53e311e*prediction_checks_4774eae3f1034789*prediction_checks_1300486e5e79186c|10.111|| +all_prediction_data|stem|28879ba98a4e0d67|a9e57157ebb86854|c2ccf1adc12351a1|-1323949732||t19963.6464555873s|01250fccb63b0314|27439|qs|local|vector|||0.117|| +ManyEcoEvo_yi|stem|3ec809bf8e81dc0e|651656918d5d23a8|e18935834feccad6|-1349072257||t19963.6464589627s|6b5e397c4ddb0ee2|29988|qs|local|vector|||0.13|| +ManyEcoEvo_yi_results|stem|568aa7e16ed15376|15ad323834497f54|06c1656e44c4aab8|1464592589||t19963.6465873361s|8e6e72ebb51fcc88|1656794|qs|local|vector|||10.42|Unquoting language objects with is deprecated as of rlang 0.4.0. Pleaseuse instead. Bad dplyrselectdata, enquox Good dplyrselectdata, enquox Unquote single quosuredplyrselectdata, enquosx Splice list of quosuresThis warning is displayed once every 8 hours.. There were 24 warnings in dplyrmutate.The first warning wasℹ In argument box_cox_rating_cont purrrmap....Caused by warning in checkConv Model failed to converge with maxgrad 0.166298 tol 0.002, component 1ℹ Run dplyrlast_dplyr_warnings to see the 23 remaining warnings.| +ManyEcoEvo_yi_viz|stem|ffffa5c10a92ac58|0e05aa5857930413|121be36424c77035|-1567403887||t19963.6467826462s|7b70dc2349a08da6|1857806|qs|local|vector|||16.428|| diff --git a/data-raw/analysis_datasets/README.md b/data-raw/analysis_datasets/README.md index 7afc010..cca34bf 100644 --- a/data-raw/analysis_datasets/README.md +++ b/data-raw/analysis_datasets/README.md @@ -39,44 +39,6 @@ predictions meta-analysis: ``` r library(ManyEcoEvo) -``` - - - - Warning: replacing previous import 'purrr::%@%' by 'rlang::%@%' when loading - 'ManyEcoEvo' - - Warning: replacing previous import 'purrr::flatten_lgl' by 'rlang::flatten_lgl' - when loading 'ManyEcoEvo' - - Warning: replacing previous import 'purrr::splice' by 'rlang::splice' when - loading 'ManyEcoEvo' - - Warning: replacing previous import 'purrr::flatten_chr' by 'rlang::flatten_chr' - when loading 'ManyEcoEvo' - - Warning: replacing previous import 'purrr::flatten_raw' by 'rlang::flatten_raw' - when loading 'ManyEcoEvo' - - Warning: replacing previous import 'purrr::flatten' by 'rlang::flatten' when - loading 'ManyEcoEvo' - - Warning: replacing previous import 'purrr::flatten_dbl' by 'rlang::flatten_dbl' - when loading 'ManyEcoEvo' - - Warning: replacing previous import 'purrr::invoke' by 'rlang::invoke' when - loading 'ManyEcoEvo' - - Warning: replacing previous import 'purrr::flatten_int' by 'rlang::flatten_int' - when loading 'ManyEcoEvo' - - Warning: replacing previous import 'recipes::fixed' by 'stringr::fixed' when - loading 'ManyEcoEvo' - -
-Code - -``` r library(dplyr) library(purrr) library(stringr) @@ -130,19 +92,19 @@ all_constructed_vars %>%
-| Constructed Variable | Included in $y_i$ meta-analysis? | -|:-----------------------------------------------------------------------------|:---------------------------------| -| day_14_weight/day_14_tarsus_length | TRUE | -| day_14_weight/(day_14_tarsus_length^2) | TRUE | -| euc_sdlgs0_2m | TRUE | -| euc_sdlgs_all | TRUE | -| euc_sdlgs\>50cm | TRUE | -| small*0.25+medium*1.25+large\*2.5 | TRUE | -| average.proportion.of.plots.containing.at.least.one.euc.seedling.of.any.size | TRUE | -| SMI | FALSE | -| day_14_tarsus_length_group_deviation | FALSE | -| day_14_weight_group_deviation | FALSE | -| PC1.day_14_weight.day_14_tarsus_length | FALSE | -| day_14_tarsus_length_deviation | FALSE | -| residual_day14_weight | FALSE | -| residual_day_14_weight_males | FALSE | +| Constructed Variable | Included in $y_i$ meta-analysis? | +|:---|:---| +| day_14_weight/day_14_tarsus_length | TRUE | +| day_14_weight/(day_14_tarsus_length^2) | TRUE | +| euc_sdlgs0_2m | TRUE | +| euc_sdlgs_all | TRUE | +| euc_sdlgs\>50cm | TRUE | +| small*0.25+medium*1.25+large\*2.5 | TRUE | +| average.proportion.of.plots.containing.at.least.one.euc.seedling.of.any.size | TRUE | +| SMI | FALSE | +| day_14_tarsus_length_group_deviation | FALSE | +| day_14_weight_group_deviation | FALSE | +| PC1.day_14_weight.day_14_tarsus_length | FALSE | +| day_14_tarsus_length_deviation | FALSE | +| residual_day14_weight | FALSE | +| residual_day_14_weight_males | FALSE | diff --git a/data-raw/tar_make.R b/data-raw/tar_make.R index f986e4c..0f42344 100644 --- a/data-raw/tar_make.R +++ b/data-raw/tar_make.R @@ -9,9 +9,10 @@ library(tictoc) tar_destroy() # Uncomment and run if want to reproduce from scratch, run locally only tic() tar_make() -toc() -# tar_make(names = ManyEcoEvo_results) +# tar_make(names = ManyEcoEvo_yi_results) # tar_make(shortcut = T, callr_function = NULL) #`callr_function` is set to NULL for debugging +toc() + # ---- Read targets and use data ---- @@ -29,11 +30,11 @@ toc() # Write targets to data folder: tic() usethis::use_data(ManyEcoEvo, - ManyEcoEvo_yi, # consider making internal + ManyEcoEvo_yi, #TODO consider making internal ManyEcoEvo_results, - ManyEcoEvo_yi_results, # consider making internal + ManyEcoEvo_yi_results, #TODO consider making internal ManyEcoEvo_viz, - ManyEcoEvo_yi_viz, # TODO consider making internal + ManyEcoEvo_yi_viz, #TODO consider making internal ManyEcoEvo_study_summary, overwrite = TRUE, compress = "gzip" diff --git a/data/ManyEcoEvo_results.rda b/data/ManyEcoEvo_results.rda index 2924cb3..0753c5a 100644 Binary files a/data/ManyEcoEvo_results.rda and b/data/ManyEcoEvo_results.rda differ diff --git a/data/ManyEcoEvo_viz.rda b/data/ManyEcoEvo_viz.rda index d8e753e..2cabe80 100644 Binary files a/data/ManyEcoEvo_viz.rda and b/data/ManyEcoEvo_viz.rda differ diff --git a/data/ManyEcoEvo_yi_results.rda b/data/ManyEcoEvo_yi_results.rda index 7548cea..70d5394 100644 Binary files a/data/ManyEcoEvo_yi_results.rda and b/data/ManyEcoEvo_yi_results.rda differ diff --git a/data/ManyEcoEvo_yi_viz.rda b/data/ManyEcoEvo_yi_viz.rda index f8f66a2..335ec71 100644 Binary files a/data/ManyEcoEvo_yi_viz.rda and b/data/ManyEcoEvo_yi_viz.rda differ diff --git a/man/NotIn.Rd b/man/NotIn.Rd index 827593a..bf9158c 100644 --- a/man/NotIn.Rd +++ b/man/NotIn.Rd @@ -7,9 +7,9 @@ lhs \%in\% rhs } \arguments{ -\item{lhs}{vector or NULL: the values to be matched. \href{http://127.0.0.1:59782/help/library/base/help/Long\%20vectors}{Long vectors} are supported.} +\item{lhs}{vector or NULL: the values to be matched. \code{\link[base]{Long vectors}} are supported.} -\item{rhs}{vector or NULL: the values to be matched. \href{http://127.0.0.1:59782/help/library/base/help/Long\%20vectors}{Long vectors} are supported.} +\item{rhs}{vector or NULL: the values to be matched. \code{\link[base]{Long vectors}} are supported.} } \value{ A logical vector indicating which value of \code{lhs} are \emph{not} matched in \code{rhs} @@ -22,4 +22,13 @@ returning a logical vector indicating if there is a negative match or not. "A" \%nin\% LETTERS[1:10] "A" \%in\% LETTERS[1:10] } +\seealso{ +Other Utility functions: +\code{\link{capwords}()}, +\code{\link{named_group_split}()}, +\code{\link{rm_inf_na}()}, +\code{\link{subset_fns_Zr}()}, +\code{\link{subset_fns_yi}()} +} +\concept{Utility functions} \keyword{internal} diff --git a/man/Z_VZ_preds.Rd b/man/Z_VZ_preds.Rd index 28bb62d..4f639a8 100644 --- a/man/Z_VZ_preds.Rd +++ b/man/Z_VZ_preds.Rd @@ -21,4 +21,16 @@ A tibble with columns \code{Z} and \code{VZ} \description{ Standardize out-of-sample predictions } +\seealso{ +Other Analysis-level functions: +\code{\link{apply_sorensen_calc}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{box_cox_transform}()}, +\code{\link{convert_predictions}()}, +\code{\link{est_to_zr}()}, +\code{\link{folded_params}()}, +\code{\link{pmap_wrap}()}, +\code{\link{rename_prediction_cols}()}, +\code{\link{variance_box_cox}()} +} \concept{Analysis-level functions} diff --git a/man/apply_VZ_exclusions.Rd b/man/apply_VZ_exclusions.Rd index 5519d13..3a4ef1a 100644 --- a/man/apply_VZ_exclusions.Rd +++ b/man/apply_VZ_exclusions.Rd @@ -4,12 +4,14 @@ \alias{apply_VZ_exclusions} \title{Apply VZ exclusion to a data-frame containing list-columns of yi subsets} \usage{ -apply_VZ_exclusions(df = data.frame(), VZ_cutoff = numeric(1L)) +apply_VZ_exclusions(df = data.frame(), VZ_colname, VZ_cutoff) } \arguments{ -\item{df}{A dataframe of yi data subsets generated from \verb{generate_yi_subsets\\(\\)}.} +\item{df}{A dataframe of yi data subsets generated by \code{\link[=generate_yi_subsets]{generate_yi_subsets()}} or \code{\link[=split_yi_subsets]{split_yi_subsets()}}.} -\item{VZ_cutoff}{A numeric vector of length 1, values equal to or greater than this value of VZ will be filtered out of the dataframes stored in \code{df}'s list-column \code{data}.} +\item{VZ_colname}{Either A character vector of length 1, the name of the column in the dataframes stored in \code{df}'s list-column \code{data} that contains the VZ values. Or else a named list of character values, where the names are the dataset names and the values are the \code{VZ_colname}s for each \code{dataset} in \code{df}.} + +\item{VZ_cutoff}{A numeric vector of length 1, values equal to or greater than this value of VZ will be filtered out of the dataframes stored in \code{df}'s list-column \code{data}, else a named list of numeric values, where the names are the dataset names and the values are the \code{VZ_cutoff}s for each \code{dataset} in \code{df}.} } \value{ A dataframe of yi subsets, whose extreme values of VZ have been removed. @@ -17,7 +19,30 @@ A dataframe of yi subsets, whose extreme values of VZ have been removed. \description{ Apply VZ exclusion to a data-frame containing list-columns of yi subsets } +\details{ +\code{df} must contain the columns \code{"data"}, \code{"diversity_data"} and \code{"dataset"}. +If only one value of \code{VZ_colname} and \code{VZ_cutoff} is supplied, it will be recycled to match the number of datasets in \code{df}. + +If a named list is supplied for \code{VZ_colname} and \code{VZ_cutoff}, the names must match the dataset names in \code{df}. +} +\examples{ +data(ManyEcoEvo_yi) +ManyEcoEvo_yi \%>\% + prepare_response_variables( + estimate_type = "yi", + param_table = + ManyEcoEvo:::analysis_data_param_tables, + dataset_standardise = "blue tit", + dataset_log_transform = "eucalyptus") \%>\% + generate_yi_subsets() \%>\% + apply_VZ_exclusions(VZ_colname = + list("eucalyptus" = "se_log", + "blue tit" = "VZ"), + VZ_cutoff = 3) +} \seealso{ +Applies \code{\link[=exclude_extreme_VZ]{exclude_extreme_VZ()}} to each dataframe in the list-column \code{data} of \code{df}. + Other Multi-dataset Wrapper Functions: \code{\link{compute_MA_inputs}()}, \code{\link{generate_exclusion_subsets}()}, diff --git a/man/apply_slice_conditionally.Rd b/man/apply_slice_conditionally.Rd new file mode 100644 index 0000000..a97b43a --- /dev/null +++ b/man/apply_slice_conditionally.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/generate_outlier_subsets.R +\name{apply_slice_conditionally} +\alias{apply_slice_conditionally} +\title{Apply slice conditionally} +\usage{ +apply_slice_conditionally(x, filter_vars) +} +\arguments{ +\item{x}{A tibble, containing the full dataset which will be subset with \code{\link[=slice_conditionally]{slice_conditionally()}} and bound back to the original dataset \code{x}} + +\item{filter_vars}{A list of quosures to be used in \code{\link[dplyr:filter]{dplyr::filter()}} to subset \code{y}} + +\item{n_min}{integer, the number of bottom outliers to remove} + +\item{n_max}{integer, the number of top outliers to remove} +} +\description{ +Apply slice conditionally +} +\details{ +the tibble \code{x} must contain the columns \code{data}, \code{outcome_colname}, \code{n_min}, and \code{n_max}. Will create the columns \code{exclusion_set} if not present in the dataset, assigning \code{"complete"} to \code{x} and \code{"complete-rm_outliers"} to the subsetted data bound to \code{x}. +} +\keyword{internal} diff --git a/man/apply_sorensen_calc.Rd b/man/apply_sorensen_calc.Rd index bdfba97..45c1486 100644 --- a/man/apply_sorensen_calc.Rd +++ b/man/apply_sorensen_calc.Rd @@ -4,10 +4,10 @@ \alias{apply_sorensen_calc} \title{Applies the sorensen diversity index calculation to variable diversity dataset} \usage{ -apply_sorensen_calc(.data) +apply_sorensen_calc(data) } \arguments{ -\item{.data}{A variable diversity dataset with columns for each unique variable used in all analyses. Values are \code{NA} if the analysis did not use that variable, and take the value of the variable as a character string if the analysis did use that variable. Each unique analysis is a row.} +\item{data}{A variable diversity dataset with columns for each unique variable used in all analyses. Values are \code{NA} if the analysis did not use that variable, and take the value of the variable as a character string if the analysis did use that variable. Each unique analysis is a row.} } \value{ A tibble containing the variables \code{id_col}, \code{mean_diversity_index} and \code{num_variables} @@ -15,3 +15,18 @@ A tibble containing the variables \code{id_col}, \code{mean_diversity_index} and \description{ Applies the sorensen diversity index calculation to variable diversity dataset } +\seealso{ +\code{\link[=calculate_sorensen_diversity_index]{calculate_sorensen_diversity_index()}} + +Other Analysis-level functions: +\code{\link{Z_VZ_preds}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{box_cox_transform}()}, +\code{\link{convert_predictions}()}, +\code{\link{est_to_zr}()}, +\code{\link{folded_params}()}, +\code{\link{pmap_wrap}()}, +\code{\link{rename_prediction_cols}()}, +\code{\link{variance_box_cox}()} +} +\concept{Analysis-level functions} diff --git a/man/apportion_heterogeneity_ml.Rd b/man/apportion_heterogeneity_ml.Rd index e781011..f4e6dcd 100644 --- a/man/apportion_heterogeneity_ml.Rd +++ b/man/apportion_heterogeneity_ml.Rd @@ -19,8 +19,8 @@ Estimates how much the total variance $I^2$ can be attributed to between- and wi From \url{http://www.metafor-project.org/doku.php/tips:i2_multilevel_multivariate} } \seealso{ -Other multi-level model calculations: +Other Meta-analysis statistics: \code{\link{calc_I2_ml}()}, \code{\link{compare_ml_MA}()} } -\concept{multi-level model calculations} +\concept{Meta-analysis statistics} diff --git a/man/assign_transformation_type.Rd b/man/assign_transformation_type.Rd index 93cd404..bb1bae5 100644 --- a/man/assign_transformation_type.Rd +++ b/man/assign_transformation_type.Rd @@ -26,7 +26,13 @@ Based on the response transformation and link function, the function assigns the \seealso{ \code{\link[=prepare_response_variables_yi(), standardise_response]{prepare_response_variables_yi(), standardise_response()}}. To be called prior to \code{\link[=clean_response_transformation]{clean_response_transformation()}}. -Other back-transformation functions: -\code{\link{clean_response_transformation}()} +Other Back-transformation: +\code{\link{back}}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} } -\concept{back-transformation functions} +\concept{Back-transformation} diff --git a/man/back.Rd b/man/back.Rd index 0efff49..dd6d9b2 100644 --- a/man/back.Rd +++ b/man/back.Rd @@ -77,8 +77,103 @@ We assume analysts' estimates are normally distributed. Each function uses a nor }} \seealso{ -Other back transformation: +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, \code{\link{conversion}()}, -\code{\link{conversion_2}()} +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} } -\concept{back transformation} +\concept{Back-transformation} diff --git a/man/back_transform_response_vars_yi.Rd b/man/back_transform_response_vars_yi.Rd index 3480f20..5de2ac1 100644 --- a/man/back_transform_response_vars_yi.Rd +++ b/man/back_transform_response_vars_yi.Rd @@ -24,7 +24,25 @@ A tibble of analyst data with standardised values contained in a list-column cal Back Transform Response Variables - yi } \seealso{ -Other analyst-data: -\code{\link{process_analyst_data}} +Other Analysis-level functions: +\code{\link{Z_VZ_preds}()}, +\code{\link{apply_sorensen_calc}()}, +\code{\link{box_cox_transform}()}, +\code{\link{convert_predictions}()}, +\code{\link{est_to_zr}()}, +\code{\link{folded_params}()}, +\code{\link{pmap_wrap}()}, +\code{\link{rename_prediction_cols}()}, +\code{\link{variance_box_cox}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back}}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} } -\concept{analyst-data} +\concept{Analysis-level functions} +\concept{Back-transformation} diff --git a/man/box_cox_transform.Rd b/man/box_cox_transform.Rd index f270d0c..c3235bd 100644 --- a/man/box_cox_transform.Rd +++ b/man/box_cox_transform.Rd @@ -4,12 +4,12 @@ \alias{box_cox_transform} \title{Box-cox transform absolute deviation from the meta-analytic mean scores} \usage{ -box_cox_transform(data, dataset) +box_cox_transform(data, dataset, outcome_SE_colname) } \arguments{ \item{data}{Dataset for model fitting, must contain columns \code{"abs_deviation_score_estimate"} and standard error} -\item{dataset}{character string of either "blue tit" or "eucalyptus"} +\item{dataset}{character string of length 1 either "blue tit" or "eucalyptus"} } \value{ data with additional columns of box-cox transformed deviation scores and variance @@ -17,3 +17,23 @@ data with additional columns of box-cox transformed deviation scores and varianc \description{ Box-cox transform absolute deviation from the meta-analytic mean scores } +\seealso{ +\code{\link[=variance_boxcox]{variance_boxcox()}}, \code{\link[=folded_params]{folded_params()}} + +Other Box-Cox transformation: +\code{\link{folded_params}()}, +\code{\link{variance_box_cox}()} + +Other Analysis-level functions: +\code{\link{Z_VZ_preds}()}, +\code{\link{apply_sorensen_calc}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{convert_predictions}()}, +\code{\link{est_to_zr}()}, +\code{\link{folded_params}()}, +\code{\link{pmap_wrap}()}, +\code{\link{rename_prediction_cols}()}, +\code{\link{variance_box_cox}()} +} +\concept{Analysis-level functions} +\concept{Box-Cox transformation} diff --git a/man/calc_I2_ml.Rd b/man/calc_I2_ml.Rd index d821934..f2f13a2 100644 --- a/man/calc_I2_ml.Rd +++ b/man/calc_I2_ml.Rd @@ -19,8 +19,8 @@ Calculate I2 for a multilevel meta-analytic model from \href{http://www.metafor-project.org/doku.php/tips:i2_multilevel_multivariate]}{http://www.metafor-project.org/doku.php/tips:i2_multilevel_multivariate} described by Nakagawa & Santos, 2012. } \seealso{ -Other multi-level model calculations: +Other Meta-analysis statistics: \code{\link{apportion_heterogeneity_ml}()}, \code{\link{compare_ml_MA}()} } -\concept{multi-level model calculations} +\concept{Meta-analysis statistics} diff --git a/man/calculate_deviation_score.Rd b/man/calculate_deviation_score.Rd index 72fb70e..dd10681 100644 --- a/man/calculate_deviation_score.Rd +++ b/man/calculate_deviation_score.Rd @@ -4,12 +4,14 @@ \alias{calculate_deviation_score} \title{Calculate deviation from meta-analytic mean} \usage{ -calculate_deviation_score(data, meta_analytic_model) +calculate_deviation_score(data, meta_analytic_model, outcome_colname) } \arguments{ \item{data}{Dataset containing the column \code{"Z"} \(standardised out of sample prediction piont estimates\) or standardised effect-sizes, \code{"Zr"}.} \item{meta_analytic_model}{Fitted meta-analytic model of class \code{rma}} + +\item{outcome_colname}{Column name in \code{data} containing outcomes used in meta-analysis} } \value{ \code{data} but with an additional column of deviation score estimates \code{"abs_deviation_score_estimate"} @@ -17,10 +19,3 @@ calculate_deviation_score(data, meta_analytic_model) \description{ Calculate the absolute deviation of the standardised effect size from the meta-analytic mean } -\examples{ -# Example Usage: TODO - this is incorrect bc box-cox transformation is included in meta_analyse_datasets_wrapper -# library(tidyverse); library(targets) -# tar_load(meta_analysis_outputs) -# calculate_deviation_score(meta_analysis_outputs$data[[1]], -# meta_analysis_outputs$MA_mod[[1]]) -} diff --git a/man/calculate_sorensen_diversity_index.Rd b/man/calculate_sorensen_diversity_index.Rd index 63b1b11..96e3a6d 100644 --- a/man/calculate_sorensen_diversity_index.Rd +++ b/man/calculate_sorensen_diversity_index.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/calculate_sorensen_diversity_index.R \name{calculate_sorensen_diversity_index} \alias{calculate_sorensen_diversity_index} -\title{Calculate mean sorensen diversity index values for an analyst dataset} +\title{Calculate mean Sorensen pair-wise dissimilarity values for a ManyAnalyst dataset} \usage{ calculate_sorensen_diversity_index(.data, .id = character()) } @@ -12,8 +12,14 @@ calculate_sorensen_diversity_index(.data, .id = character()) \item{.id}{character string of the analysis identifier column} } \value{ -A tibble containing the variables \code{id_col}, \code{mean_diversity_index} and \code{num_variables} +A tibble containing the variables \code{id_col}, \code{mean_diversity_index} and \code{num_variables}; the total number of variables used in a given analysis. } \description{ -Calculate mean sorensen diversity index values for an analyst dataset +Calculate mean Sorensen pair-wise dissimilarity values for a ManyAnalyst dataset +} +\details{ +Sorensen pair-wise dissimilarity is calculated as the number of shared variables between two analyses divided by the total number of variables used in both analyses. After calculating the Sorensen dissimilarity for all pairwise comparisons, the function then computes the mean diversity index for each analysis as the mean of all pairwise comparisons for that analysis, generating a single value per analysis. +} +\seealso{ +See \code{\link[betapart:beta.pair]{betapart::beta.pair()}} for details of the Sorensen dissimilarity calculation. } diff --git a/man/capwords.Rd b/man/capwords.Rd index b425f5e..726b0ee 100644 --- a/man/capwords.Rd +++ b/man/capwords.Rd @@ -20,3 +20,12 @@ Capitalise Words \examples{ capwords("bah, bah, black sheep") } +\seealso{ +Other Utility functions: +\code{\link{\%nin\%}()}, +\code{\link{named_group_split}()}, +\code{\link{rm_inf_na}()}, +\code{\link{subset_fns_Zr}()}, +\code{\link{subset_fns_yi}()} +} +\concept{Utility functions} diff --git a/man/clean_response_transformation.Rd b/man/clean_response_transformation.Rd index 46745ba..a15b7f9 100644 --- a/man/clean_response_transformation.Rd +++ b/man/clean_response_transformation.Rd @@ -34,7 +34,13 @@ clean_response_transformation("new_transformation", ManyEcoEvo:::transformation_ \seealso{ To be called after to \code{\link[=assign_transformation_type]{assign_transformation_type()}} -Other back-transformation functions: -\code{\link{assign_transformation_type}()} +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back}}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} } -\concept{back-transformation functions} +\concept{Back-transformation} diff --git a/man/compare_ml_MA.Rd b/man/compare_ml_MA.Rd index ccc4dd8..a22b2cb 100644 --- a/man/compare_ml_MA.Rd +++ b/man/compare_ml_MA.Rd @@ -18,8 +18,8 @@ A tibble with descriptive statistics of model fit Compares two fitted multi-level models and tidies the results } \seealso{ -Other multi-level model calculations: +Other Meta-analysis statistics: \code{\link{apportion_heterogeneity_ml}()}, \code{\link{calc_I2_ml}()} } -\concept{multi-level model calculations} +\concept{Meta-analysis statistics} diff --git a/man/compute_MA_inputs.Rd b/man/compute_MA_inputs.Rd index 27d775c..2a6fdb6 100644 --- a/man/compute_MA_inputs.Rd +++ b/man/compute_MA_inputs.Rd @@ -15,14 +15,19 @@ compute_MA_inputs(ManyEcoEvo, estimate_type = NULL) A dataframe that includes the additional columns in \code{ManyEcoEvo}, but with added columns \code{diversity_indices} and \code{effects_analysis}. } \description{ -Computes the sorensen diversity indices and joins it to the prepared data in preparation for meta-analysing all subsets of data with \code{meta_analyse_datasets()}. +Computes the Sorensen diversity indices and joins it to data in preparation for meta-analysing all subsets of data with \code{\link[=meta_analyse_datasets]{meta_analyse_datasets()}}. } \details{ -The name of the subset is derived from the funs generated by \code{subset_fns_yi} and/or \code{subset_fns_Zr}. +Computes Sorensen diversity indices \code{diversity_indices} for each subset of data returning them in the list-column \code{diversity_indices} and joins them to the relevant subset of processed analyst \code{data} within the list-column \code{effects_analysis}. -Computes sorensen diversity indices \code{diversity_indices} for each subset of data returning them in the list-columns \code{diversity_indices} and joins them to the subset analyst \code{data}, returning it in the list-column \code{effects_analysis}. +Note that, the name of the subset is derived from the functions within by \code{\link[=subset_fns_yi]{subset_fns_yi()}} and/or \code{\link[=subset_fns_Zr]{subset_fns_Zr()}} called in the previous step of data processing \code{\link[=generate_exclusion_subsets]{generate_exclusion_subsets()}}. +Should the user wish to skip the \code{generate_exclusion_subsets()} step, they can supply arbitrary values for \code{exclusion_set} and the function will still work. + +Should be run after \emph{all} data subsetting is complete, otherwise the diversity indices will need to be recalculated. } \seealso{ +\code{\link[=apply_sorensen_calc]{apply_sorensen_calc()}} is used to calculate the Sorensen diversity indices. + Other Multi-dataset Wrapper Functions: \code{\link{apply_VZ_exclusions}()}, \code{\link{generate_exclusion_subsets}()}, diff --git a/man/conversion.Rd b/man/conversion.Rd index 25e5f79..f231103 100644 --- a/man/conversion.Rd +++ b/man/conversion.Rd @@ -38,8 +38,15 @@ Conditionally apply back-transformation functions depending on the value of \cod } } \seealso{ -Other back transformation: +\code{\link[=conversion_2]{conversion_2()}}, \code{\link[=back]{back()}} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, \code{\link{back}}, -\code{\link{conversion_2}()} +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} } -\concept{back transformation} +\concept{Back-transformation} diff --git a/man/conversion_2.Rd b/man/conversion_2.Rd index f4ec241..e31e050 100644 --- a/man/conversion_2.Rd +++ b/man/conversion_2.Rd @@ -24,8 +24,15 @@ The outputs of a back-transformation function, see family back-transformations Conditionally apply back-transformation functions depending on the value of \code{transformation} } \seealso{ -Other back transformation: +\code{\link[=conversion]{conversion()}} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, \code{\link{back}}, -\code{\link{conversion}()} +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{convert_predictions}()}, +\code{\link{rename_prediction_cols}()} } -\concept{back transformation} +\concept{Back-transformation} diff --git a/man/convert_predictions.Rd b/man/convert_predictions.Rd index a0e8357..f38e3f3 100644 --- a/man/convert_predictions.Rd +++ b/man/convert_predictions.Rd @@ -12,7 +12,7 @@ convert_predictions( ) } \arguments{ -\item{augmented_data}{A tibble of out of analysts's sample prediction data for 3 scenarios} +\item{augmented_data}{A tibble of out of analyst's sample prediction data for 3 scenarios} } \value{ A tibble of out of sample predictions on the response variable scale of the response variable used by the analyst @@ -21,7 +21,27 @@ A tibble of out of sample predictions on the response variable scale of the resp Converts out of sample predictions on the link scale back to the response scale } \seealso{ -Other analysis-values: -\code{\link{est_to_zr}()} +\code{\link[=rename_prediction_cols]{rename_prediction_cols()}} + +Other Analysis-level functions: +\code{\link{Z_VZ_preds}()}, +\code{\link{apply_sorensen_calc}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{box_cox_transform}()}, +\code{\link{est_to_zr}()}, +\code{\link{folded_params}()}, +\code{\link{pmap_wrap}()}, +\code{\link{rename_prediction_cols}()}, +\code{\link{variance_box_cox}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back}}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{rename_prediction_cols}()} } -\concept{analysis-values} +\concept{Analysis-level functions} +\concept{Back-transformation} diff --git a/man/est_to_zr.Rd b/man/est_to_zr.Rd index 186d2d5..e9e6b28 100644 --- a/man/est_to_zr.Rd +++ b/man/est_to_zr.Rd @@ -23,7 +23,15 @@ Convert estimate to Zr Convert beta estimate, standard error and degrees of freedom into \code{r} and then into \code{Zr} and its sampling variance } \seealso{ -Other analysis-values: -\code{\link{convert_predictions}()} +Other Analysis-level functions: +\code{\link{Z_VZ_preds}()}, +\code{\link{apply_sorensen_calc}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{box_cox_transform}()}, +\code{\link{convert_predictions}()}, +\code{\link{folded_params}()}, +\code{\link{pmap_wrap}()}, +\code{\link{rename_prediction_cols}()}, +\code{\link{variance_box_cox}()} } -\concept{analysis-values} +\concept{Analysis-level functions} diff --git a/man/exclude_extreme_VZ.Rd b/man/exclude_extreme_VZ.Rd index 8527b68..3cc97e9 100644 --- a/man/exclude_extreme_VZ.Rd +++ b/man/exclude_extreme_VZ.Rd @@ -4,15 +4,17 @@ \alias{exclude_extreme_VZ} \title{Exclude extreme values of VZ from a dataframe of standardised predictions} \usage{ -exclude_extreme_VZ(df = data.frame(), VZ_cutoff = numeric(1L)) +exclude_extreme_VZ(df = data.frame(), VZ_colname, VZ_cutoff = numeric(1L)) } \arguments{ -\item{df}{A dataframe containing the columns \code{Z} and \code{VZ}} +\item{df}{A dataframe containing processed out-of-sample prediction values} + +\item{VZ_colname}{A character vector corresponding to the column name in \code{df} containing the VZ values to filter on.} \item{VZ_cutoff}{A numeric vector of length 1, values equal to or greater than this value of VZ will be filtered out of \code{df}.} } \value{ -A dataframe with observations removed where the value is less than that of \verb{VZ\\_cutoff}. +A dataframe with observations removed where the value is less than that of \code{VZ_cutoff}. } \description{ Exclude extreme values of VZ from a dataframe of standardised predictions diff --git a/man/fit_MA_mv.Rd b/man/fit_MA_mv.Rd index 71a287a..d216c52 100644 --- a/man/fit_MA_mv.Rd +++ b/man/fit_MA_mv.Rd @@ -6,28 +6,28 @@ \usage{ fit_MA_mv( effects_analysis = data.frame(), - Z_colname, - VZ_colname, + outcome_colname, + outcome_SE_colname, estimate_type = character(1L) ) } \arguments{ \item{effects_analysis}{A dataframe containing the estimates and variances for the meta-analysis.} -\item{Z_colname}{The name of the column containing the estimates.} +\item{outcome_colname}{The name of the column containing the estimates.} -\item{VZ_colname}{The name of the column containing the variances.} +\item{outcome_SE_colname}{The name of the column containing the variances.} -\item{estimate_type}{The type of estimate to be used in the model. One of "Zr", "y50", "y25", "y75", or "yi".} +\item{estimate_type}{The type of estimate to be used in the model. One of \verb{c("Zr", "y50", "y25", "y75", or "yi")}.} } \value{ A fitted model of class \code{c("rma.mv","rma")}. } \description{ -Fit a meta-regression model with random effects using the \code{\link[metafor:rma.mv]{metafor::rma.mv()}} function from the \code{metafor} package to a dataframe containing the estimates and variances for the meta-analysis. +Fit a meta-regression model with random effects using the \code{\link[metafor:rma.mv]{metafor::rma.mv()}} function from the \link[metafor:metafor-package]{metafor::metafor} package to a data.frame containing the estimates and variances for the meta-analysis. } \details{ -This function is a wrapper around the \code{\link[metafor:rma.mv]{metafor::rma.mv()}} function from the \code{metafor} package. It takes a dataframe containing the estimates and variances for the meta-analysis, the name of the column containing the estimates, the name of the column containing the variances, and the type of estimate to be used in the model. It then fits a metaregression model with random-effects using the \code{\link[metafor:rma.mv]{metafor::rma.mv()}} function called in \code{\link[=fit_metafor_mv]{fit_metafor_mv()}} and returns the fitted model. +This function is a wrapper around the \code{\link[metafor:rma.mv]{metafor::rma.mv()}} function from the \link[metafor:metafor-package]{metafor::metafor} package. It takes a dataframe containing the estimates and variances for the meta-analysis, the name of the column containing the estimates, the name of the column containing the variances, and the type of estimate to be used in the model. It then fits a metaregression model with random-effects using the \code{\link[metafor:rma.mv]{metafor::rma.mv()}} function called in \code{\link[=fit_metafor_mv]{fit_metafor_mv()}} and returns the fitted model. Nested random effects are included for \code{TeamIdentifier} and \code{TeamIdentifier/study_id}. } @@ -35,3 +35,23 @@ Nested random effects are included for \code{TeamIdentifier} and \code{TeamIdent ManyEcoEvo_results$effects_analysis[[1]] \%>\% fit_MA_mv(beta_estimate, beta_SE, "Zr") } +\seealso{ +\code{\link[=fit_metafor_mv]{fit_metafor_mv()}}, \code{\link[metafor:rma.mv]{metafor::rma.mv()}} + +Other Model fitting and meta-analysis: +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} +} +\concept{Model fitting and meta-analysis} diff --git a/man/fit_boxcox_ratings_cat.Rd b/man/fit_boxcox_ratings_cat.Rd index c058e42..0cdda2a 100644 --- a/man/fit_boxcox_ratings_cat.Rd +++ b/man/fit_boxcox_ratings_cat.Rd @@ -4,10 +4,17 @@ \alias{fit_boxcox_ratings_cat} \title{Fit model of boxcox deviation scores as function of continuous ratings} \usage{ -fit_boxcox_ratings_cat(.data, outcome, outcome_var, interceptless = FALSE) +fit_boxcox_ratings_cat( + data, + outcome, + outcome_var, + interceptless = FALSE, + ..., + env = rlang::caller_env() +) } \arguments{ -\item{.data}{Data for model fitting} +\item{data}{Data for model fitting} \item{outcome}{outcome variable, unquoted.} @@ -16,8 +23,35 @@ fit_boxcox_ratings_cat(.data, outcome, outcome_var, interceptless = FALSE) \item{interceptless}{A logical relating to whether the model should be interceptless or not. Defaults to \code{FALSE}.} } \value{ -An object of class lmer. +An object of class \code{lme4::lmerMod-class} } \description{ Fit an lmer model of the box-cox transformed deviation from the meta-analytic mean scores as a function of continuous peer-review ratings } +\examples{ + # Example Usage: + # library(tidyverse);library(targets);library(metafor) + # tar_load(meta_analysis_outputs) + # meta_analysis_outputs$data[[1]] \%>\% + # fit_boxcox_ratings_cat(., + # outcome = box_cox_abs_deviation_score_estimate, + # outcome_var = VZr, interceptless = FALSE) +} +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} +} +\concept{Model fitting and meta-analysis} diff --git a/man/fit_boxcox_ratings_cont.Rd b/man/fit_boxcox_ratings_cont.Rd index e0223d2..90f1869 100644 --- a/man/fit_boxcox_ratings_cont.Rd +++ b/man/fit_boxcox_ratings_cont.Rd @@ -5,7 +5,7 @@ \title{Fit model of boxcox deviation scores as function of continuous ratings} \usage{ fit_boxcox_ratings_cont( - .data, + data, outcome, outcome_var, ..., @@ -13,26 +13,33 @@ fit_boxcox_ratings_cont( ) } \arguments{ -\item{.data}{Data for model fitting} +\item{data}{Data for model fitting} \item{outcome}{outcome variable, unquoted.} \item{outcome_var}{Variance of the \code{outcome} variable} } \value{ -An object of class lmer. +An object of class \code{lme4::lmerMod-class} } \description{ Fit an lmer model of the box-cox transformed deviation from the meta-analytic mean scores as a function of continuous peer-review ratings } -\examples{ -# Example Usage: -# Note, outcome = the name using NSE of the response variable, otucome_var = the -# variance associated with that variable. -# library(tidyverse);library(targets);library(metafor);library(tidymodels);library(multilevelmod) -# tar_load(meta_analysis_outputs) -# meta_analysis_outputs$data[[1]] \%>\% -# fit_boxcox_ratings_cont(., -# box_cox_abs_deviation_score_estimate, -# VZr ) +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} } +\concept{Model fitting and meta-analysis} diff --git a/man/fit_boxcox_ratings_ord.Rd b/man/fit_boxcox_ratings_ord.Rd index a561b8b..64e7c94 100644 --- a/man/fit_boxcox_ratings_ord.Rd +++ b/man/fit_boxcox_ratings_ord.Rd @@ -17,9 +17,27 @@ fit_boxcox_ratings_ord(.data, outcome, outcome_var, interceptless = FALSE) interceptless or not. Defaults to \code{FALSE}.} } \value{ -An object of class lmer. +An object of class \code{lme4::lmerMod-class} } \description{ Fit an lmer model of the box-cox transformed deviation from the meta-analytic mean scores as a function of continuous peer-review ratings } +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} +} +\concept{Model fitting and meta-analysis} diff --git a/man/fit_metafor_mv.Rd b/man/fit_metafor_mv.Rd index 3e8a680..c3306f1 100644 --- a/man/fit_metafor_mv.Rd +++ b/man/fit_metafor_mv.Rd @@ -21,18 +21,21 @@ Object of class \code{rma.mv} \description{ Fit Multivariate Metaregression using metafoR } -\examples{ -# TODO -- is this the best way of setting up this fun?? (i.e. to take numeric vectors)? -# Example Usage: -# library(tidyverse);library(targets);library(metafor) # NOT RUN, TODO: remove after create pkg -# source("R/functions.R") #NOT RUN, TODO: remove after create pkg -tar_read(round_2_survey_meta_analysis) \%>\% - filter(dataset == "eucalyptus") \%>\% - filter( - !is.na(Zr), - !is.na(VZr), - !is.infinite(Zr), - !is.infinite(VZr) - ) \%>\% - fit_metafor_mv(estimate = .$Zr, variance = .$VZr, estimate_type = "Zr", data = .) +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} } +\concept{Model fitting and meta-analysis} diff --git a/man/fit_metafor_mv_reduced.Rd b/man/fit_metafor_mv_reduced.Rd index ad724c8..679d10c 100644 --- a/man/fit_metafor_mv_reduced.Rd +++ b/man/fit_metafor_mv_reduced.Rd @@ -21,18 +21,21 @@ Object of class \code{rma.mv} \description{ Fit reduced metaregression model } -\examples{ -# TODO -- is this the best way of setting up this fun?? (i.e. to take numeric vectors)? -# Example Usage: -# library(tidyverse);library(targets);library(metafor) # NOT RUN, TODO: remove after create pkg -# source("R/functions.R") #NOT RUN, TODO: remove after create pkg -tar_read(round_2_survey_meta_analysis) \%>\% - filter(dataset == "eucalyptus") \%>\% - filter( - !is.na(Zr), - !is.na(VZr), - !is.infinite(Zr), - !is.infinite(VZr) - ) \%>\% - fit_metafor_mv(estimate = .$Zr, variance = .$VZr, estimate_type = "Zr", data = .) +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} } +\concept{Model fitting and meta-analysis} diff --git a/man/fit_metafor_uni.Rd b/man/fit_metafor_uni.Rd index 76afa1f..558e7d9 100644 --- a/man/fit_metafor_uni.Rd +++ b/man/fit_metafor_uni.Rd @@ -35,3 +35,21 @@ Fit univariate meta-analysis with metafor # data = ., # slab = .$study_id) } +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} +} +\concept{Model fitting and meta-analysis} diff --git a/man/fit_multivar_MA.Rd b/man/fit_multivar_MA.Rd index a1a5551..f8bd750 100644 --- a/man/fit_multivar_MA.Rd +++ b/man/fit_multivar_MA.Rd @@ -11,7 +11,7 @@ fit_multivar_MA(data_tbl, N = 5, ..., env = rlang::caller_env()) \item{N}{threshold for the number of analyses that must have been conducted using mixed effects models to include the binary predictor \code{mixed_model} in the meta-regression. Defaults to 5.} -\item{...}{Additional arguments passed to \code{lmer}} +\item{...}{Additional arguments passed to \link[lme4:lmer]{lme4::lmer}} \item{env}{Environment in which to evaluate the formula, defaults to the calling environment} } @@ -34,3 +34,21 @@ Expects the following columns in \code{data_tbl}: \item \code{ReviewerId}: reviewer identifier } } +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} +} +\concept{Model fitting and meta-analysis} diff --git a/man/fit_sorensen_glm.Rd b/man/fit_sorensen_glm.Rd index 1268700..5a1d6d2 100644 --- a/man/fit_sorensen_glm.Rd +++ b/man/fit_sorensen_glm.Rd @@ -7,16 +7,29 @@ fit_sorensen_glm(data) } \arguments{ -\item{data}{A dataframe containing box-cox transformed absolute deviation from the meta-analytic mean scores} +\item{data}{A \code{data.frame} containing Box-Cox transformed absolute deviation from the meta-analytic mean scores and the mean Sorensen's scores for each analysis} } \value{ -An fitted model object of class \code{glm} and \code{parsnip} +A fitted model object of class \code{glm} and \code{parsnip} } \description{ Fit univariate glm of deviation scores on sorensen diversity index } -\examples{ -# library(tidyverse);library(targets);library(metafor);library(tidymodels) -# tar_load(meta_analysis_outputs) -# fit_sorensen_glm(meta_analysis_results$data[[1]]) +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} } +\concept{Model fitting and meta-analysis} diff --git a/man/fit_uni_mixed_effects.Rd b/man/fit_uni_mixed_effects.Rd index d73ccb8..a9482fa 100644 --- a/man/fit_uni_mixed_effects.Rd +++ b/man/fit_uni_mixed_effects.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/fit_uni_mixed_effects.R \name{fit_uni_mixed_effects} \alias{fit_uni_mixed_effects} -\title{Fit univariate glm of deviation scores on random effects inclusion} +\title{Fit model of Box-Cox transformed deviation scores as a function random-effects inclusion in analyses} \usage{ fit_uni_mixed_effects(data) } @@ -22,3 +22,23 @@ Fits a univariate glm of box-cox transformed absolute deviation from the meta-an # Note: used tidymodels approach for dynamic outcome var selection # base R approach will be more succinct. } +\seealso{ +\link[parsnip:details_linear_reg_glm]{parsnip::details_linear_reg_glm} for details on the \link[parsnip:linear_reg]{parsnip::linear_reg} engine. + +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} +} +\concept{Model fitting and meta-analysis} diff --git a/man/folded_params.Rd b/man/folded_params.Rd new file mode 100644 index 0000000..d161eed --- /dev/null +++ b/man/folded_params.Rd @@ -0,0 +1,37 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/box_cox_transform.R +\name{folded_params} +\alias{folded_params} +\title{Calculate the folded parameters for the Box-Cox transformation} +\usage{ +folded_params(abs_dev_score, VZr) +} +\arguments{ +\item{abs_dev_score}{The absolute deviation score} + +\item{VZr}{The variance of the standardised effect size} +} +\value{ +A named list containing the mean \code{fold_mu} and variance \code{fold_v} of the folded parameters +} +\description{ +Calculate the folded parameters for the Box-Cox transformation +} +\seealso{ +Other Box-Cox transformation: +\code{\link{box_cox_transform}()}, +\code{\link{variance_box_cox}()} + +Other Analysis-level functions: +\code{\link{Z_VZ_preds}()}, +\code{\link{apply_sorensen_calc}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{box_cox_transform}()}, +\code{\link{convert_predictions}()}, +\code{\link{est_to_zr}()}, +\code{\link{pmap_wrap}()}, +\code{\link{rename_prediction_cols}()}, +\code{\link{variance_box_cox}()} +} +\concept{Analysis-level functions} +\concept{Box-Cox transformation} diff --git a/man/formulae_match.Rd b/man/formulae_match.Rd new file mode 100644 index 0000000..4f4b36d --- /dev/null +++ b/man/formulae_match.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/generate_outlier_subsets.R +\name{formulae_match} +\alias{formulae_match} +\title{Match formulae to outcome variables} +\usage{ +formulae_match(x, y) +} +\arguments{ +\item{x}{A character vector} + +\item{y}{A vector} +} +\value{ +A named list of formulae +} +\description{ +Match formulae to outcome variables +} +\details{ +This function is used to match formulae to variables with a \code{data.frame}. If \code{x} and \code{y} are the same vector, then the formulae will be matched to the same variable. +} +\keyword{internal} diff --git a/man/generate_exclusion_subsets.Rd b/man/generate_exclusion_subsets.Rd index a645d52..f3c4560 100644 --- a/man/generate_exclusion_subsets.Rd +++ b/man/generate_exclusion_subsets.Rd @@ -7,23 +7,26 @@ generate_exclusion_subsets(ManyEcoEvo, estimate_type = NULL) } \arguments{ -\item{ManyEcoEvo}{A dataframe} +\item{ManyEcoEvo}{A dataframe containing at minimum the character column \code{dataset} and list-columns \code{data} and \code{diversity_data}.} \item{estimate_type}{character vector, one of \code{"Zr", "yi", "y25", "y50", "y75", NULL}.} } \value{ -A \code{dataframe} grouped by dataset and exclusion_set that contains subsets of \code{data} and \code{diversity_data} based on exclusion criteria functions defined in \code{subset_fns_Zr} and \code{subset_funs_yi}, +A \code{dataframe} grouped by \code{dataset} and \code{exclusion_set} that contains subsets of \code{data} and \code{diversity_data} based on exclusion criteria functions defined in \code{\link[=subset_fns_Zr]{subset_fns_Zr()}} and \code{\link[=subset_funs_yi]{subset_funs_yi()}}, and the \code{estimate_type} column. } \description{ -Generate subsets of analyst data based on different exclusion criteria +Generates subsets of data with different combinations of outliers removed for different \code{exclusion_set}s. } \details{ If \code{estimate_type} is \code{NULL}, the column \code{estimate_type} must be in \code{ManyEcoEvo}. -} -\note{ -This function uses the functions\code{subset_fns_Zr}and \code{subset_fns_yi} to create named lists with elements containing \code{rlang_lambda_function}s, whose element name is the name of the \code{rlang_lambda_function} -To be run after \code{generate_exclusion_subsets()} +This function uses the functions \code{\link[=subset_fns_Zr]{subset_fns_Zr()}} and []subset_fns_yi() to create named lists with elements containing \verb{purrr::}-style lambda functions, whose element name is the name of the function. + +If \code{NULL} is provided to the argument \code{estimate_type}, then the column \code{estimate_type} must exist in \code{ManyEcoEvo}, as this column will be used to filter the exclusion criteria functions. + +The value of column \code{exclusion_set} in the returned object will be the name of the exclusion criteria function, with the prefix "subset_" removed, derived from either \code{\link[=subset_fns_Zr]{subset_fns_Zr()}} or \code{\link[=subset_funs_yi]{subset_funs_yi()}}, depending on the \code{estimate_type}. + +\strong{Note}: This function should be exectued after \code{\link[=prepare_response_variables]{prepare_response_variables()}} and \code{\link[=generate_yi_subsets]{generate_yi_subsets()}}. } \seealso{ Other Multi-dataset Wrapper Functions: diff --git a/man/generate_outlier_subsets.Rd b/man/generate_outlier_subsets.Rd index 11276af..145c2df 100644 --- a/man/generate_outlier_subsets.Rd +++ b/man/generate_outlier_subsets.Rd @@ -4,16 +4,69 @@ \alias{generate_outlier_subsets} \title{Generate Outlier Subsets for ManyEcoEvo datasets} \usage{ -generate_outlier_subsets(ManyEcoEvo) +generate_outlier_subsets( + data, + outcome_variable = NULL, + n_min = NULL, + n_max = NULL, + ignore_subsets = NULL +) } \arguments{ -\item{ManyEcoEvo}{a ManyEcoEvo dataframe containing formatted raw \code{data}, formatted \code{diversity_data}, the \code{estimate_type}, and \code{dataset}} +\item{data}{a ManyEcoEvo dataframe containing formatted raw \code{data}, formatted \code{diversity_data}, the \code{estimate_type}, and \code{dataset}} + +\item{outcome_variable}{A named list containing either/and a list of \code{dataset}s and their corresponding outcome variables for each value of \code{dataset}, a list of \code{estimate_type}s and their corresponding outcome variables for each value of \code{estimate_type}.} + +\item{n_min}{integer, the number of bottom outliers to remove} + +\item{n_max}{integer, the number of top outliers to remove} + +\item{ignore_subsets}{A list of <\code{\link[dplyr:dplyr_data_masking]{data-masked}}> expressions passed to \code{\link[dplyr:filter]{dplyr::filter()}} for ignoring specific data subsets when removing outliers} } \value{ -A ManyEcoEvo dataframe with added column \code{exclusion_set} with new subsets of \code{data} and \code{diversity_data} +A ManyEcoEvo dataframe with added column \code{exclusion_set} with new subsets of \code{data}, \code{diversity_data} that exclude outliers. } \description{ Removes top outlier for \code{yi} datasets and top 2 and bottom 2 outliers for \code{Zr} datasets +} +\details{ +\subsection{Function Usage}{ + +\code{n_min} and \code{n_max} are used to specify the number of outliers to remove from the bottom and top of the dataset, respectively. These arguments are passed to the \code{n} argument within \code{\link[dplyr:slice]{dplyr::slice_min()}} and \code{\link[=slice_max]{slice_max()}} respectively. Note that negative values of \code{n_min} and \code{n_max} will be removed from the dataset, while positive values of \code{n} will retain observations in the dataframe. + +\code{ignore_subsets} is used to specify which subsets of the data should be ignored when removing outliers. This is useful when you want to remove outliers from all datasets except for specific subsets. For example, if you want to remove outliers from all datasets except for the \code{eucalyptus} dataset, you would pass \code{ignore_subsets = dataset == "eucalyptus"}. + +The function will check that any columns specified in \code{ignore_subsets} exist in the dataset using \code{\link[pointblank:col_exists]{pointblank::test_col_exists()}}. If they do not, the function will throw an error. +} + +\subsection{Analysis Pipeline Usage}{ + +This function ahould be run after computing response variables for \code{yi} datasets with \code{\link[=generate_yi_subsets]{generate_yi_subsets()}} and \code{Zr} datasets with \code{\link[=generate_Zr_subsets]{generate_Zr_subsets()}}, but it may also be executed on the raw data to remove the top \code{n_max} and bottom \code{n_min} observations. + +Note that \code{outcome_variable} + +#TODO: will nolonger work on Zr dataset, because this doesn't contain an estimate_type col? + +\code{collinearity_subset != "collinearity_removed"} for Zr datasets and Don't run with the reduced publishability subset.... some of these already only have 10 data points!! +} +} +\examples{ + +analysis_data <- ManyEcoEvo_yi \%>\% +prepare_response_variables( +estimate_type = "yi", +param_table = ManyEcoEvo:::analysis_data_param_tables, +dataset_standardise = "blue tit", +dataset_log_transform = "eucalyptus") \%>\% +generate_yi_subsets() \%>\% #TODO: must be run after prepare_response_variables?? +apply_VZ_exclusions( +VZ_colname = list("eucalyptus" = "se_log", +"blue tit" = "VZ"), +VZ_cutoff = 3) \%>\% +generate_exclusion_subsets() \%>\% +compute_MA_inputs() +analysis_data \%>\% generate_outlier_subsets(outcome_variable = list(dataset = list("eucalyptus" = "mean_log", "blue tit" = "Z"), "estimate_type" = list("Zr" = "Zr")), n_min = -3, n_max = -3, ignore_subsets = list(estimate_type != "y25", dataset != "eucalyptus")) + } \seealso{ Other Multi-dataset Wrapper Functions: @@ -34,14 +87,5 @@ Other Multi-dataset Wrapper Functions: \code{\link{summarise_reviews}()}, \code{\link{summarise_sorensen_index}()}, \code{\link{summarise_variable_counts}()} - -Other targets-pipeline functions: -\code{\link{generate_rating_subsets}()}, -\code{\link{make_viz}()}, -\code{\link{prepare_ManyEcoEvo}()}, -\code{\link{prepare_ManyEcoEvo_yi}()}, -\code{\link{prepare_response_variables_yi}()}, -\code{\link{prepare_review_data}()} } \concept{Multi-dataset Wrapper Functions} -\concept{targets-pipeline functions} diff --git a/man/generate_rating_subsets.Rd b/man/generate_rating_subsets.Rd index d687ecd..72ca933 100644 --- a/man/generate_rating_subsets.Rd +++ b/man/generate_rating_subsets.Rd @@ -15,6 +15,9 @@ A ManyEcoEvo dataframe with added column \code{exclusion_set} with new subsets o \description{ Generates two subsets of data based on for both complete and partial exclusion datasets for both \code{yi} and \code{Zr} estimates. } +\details{ +To be executed on a ManyEcoEvo dataframe after the \code{compute_MA_inputs()} function. This function generates two subsets of data based on the peer review ratings for both complete and partial exclusion datasets for both \code{yi} and \code{Zr} estimates. The subsets are generated based on the \code{PublishableAsIs} column in the \code{data} list-column. The subsets are named \code{data_flawed} and \code{data_flawed_major} and are created by filtering out the data points with the \code{PublishableAsIs} values of \code{"deeply flawed and unpublishable"} and \code{"publishable with major revision"} respectively. The \code{diversity_data} list-column is also updated to reflect the new subsets of data. +} \seealso{ Other Multi-dataset Wrapper Functions: \code{\link{apply_VZ_exclusions}()}, @@ -36,8 +39,6 @@ Other Multi-dataset Wrapper Functions: \code{\link{summarise_variable_counts}()} Other targets-pipeline functions: -\code{\link{generate_outlier_subsets}()}, -\code{\link{make_viz}()}, \code{\link{prepare_ManyEcoEvo}()}, \code{\link{prepare_ManyEcoEvo_yi}()}, \code{\link{prepare_response_variables_yi}()}, diff --git a/man/generate_yi_subsets.Rd b/man/generate_yi_subsets.Rd index 5080504..e9937b5 100644 --- a/man/generate_yi_subsets.Rd +++ b/man/generate_yi_subsets.Rd @@ -16,7 +16,10 @@ A \code{datraframe} with the character columns \code{dataset}, \code{estimate_ty Generate subsets of out-of-sample predictions data by \code{estimate_type} for multiple analysis datasets. } \details{ -The object \code{yi\_analysis} should contain the character column \code{dataset}, and list-columns \code{data} and \code{diversity\_data}. In essence, both \code{data} and \code{diversity_data} are nested by \code{dataset}. \code{data} should be a list-col of \code{grouped_df}s, which should also contain the list-col \code{back_transformed_data} +The object \code{yi_analysis} should contain the character column \code{dataset}, and list-columns \code{data} and \code{diversity_data}. In essence, both \code{data} and \code{diversity_data} are nested by \code{dataset}. \code{data} should be a list-col of \code{grouped_df}, which should also contain the list-col \code{back_transformed_data}. + +If the column \code{back_transformed_data} contains \code{NA} values, that row will be removed from the list-column \code{data}. +If the column \code{estimate_type} is present in \code{yi_analysis}, it will be removed, and replaced with the \code{estimate_type} derived from the \code{scenario} and \code{SurveyID} columns in each \code{back_transformed_data} dataset. } \seealso{ Other Multi-dataset Wrapper Functions: diff --git a/man/get_forest_plot_data.Rd b/man/get_forest_plot_data.Rd index 1a0aa20..4f3b54b 100644 --- a/man/get_forest_plot_data.Rd +++ b/man/get_forest_plot_data.Rd @@ -19,7 +19,11 @@ Get Forest Plot Data from a Metafor Model get_forest_plot_data(model) } \seealso{ -Other Forest Plot Functions: -\code{\link{plot_forest}()} +Other Plotting functions: +\code{\link{plot_cont_rating_effects}()}, +\code{\link{plot_effects_diversity}()}, +\code{\link{plot_forest}()}, +\code{\link{plot_model_means_box_cox_cat}()}, +\code{\link{plot_model_means_orchard}()} } -\concept{Forest Plot Functions} +\concept{Plotting functions} diff --git a/man/gg_forest.Rd b/man/gg_forest.Rd index eaca98e..eb21773 100644 --- a/man/gg_forest.Rd +++ b/man/gg_forest.Rd @@ -19,3 +19,4 @@ An object of class \code{ggplot2} \description{ Forestplot with ggplot2 } +\concept{Plotting Functions} diff --git a/man/log_transform.Rd b/man/log_transform.Rd index 28fb083..dde701e 100644 --- a/man/log_transform.Rd +++ b/man/log_transform.Rd @@ -4,7 +4,7 @@ \alias{log_transform} \title{log transform response-scale yi estimates} \usage{ -log_transform(estimate, std.error, sim) +log_transform(estimate = numeric(1L), std.error = numeric(1L), sim = 10000L) } \arguments{ \item{estimate}{Point estimates on the original response scale} @@ -14,7 +14,7 @@ log_transform(estimate, std.error, sim) \item{sim}{Number of simulations to run when generating distribution to sample from} } \value{ -A dataframe containing the \code{mean_log}, \code{std.error_log}, \code{lower} and \code{upper} 95\% CI on the log scale +A dataframe containing the \code{mean_log}, \code{se_log}, \code{lower} and \code{upper} 95\% CI on the log scale } \description{ log transform response-scale yi estimates @@ -22,3 +22,6 @@ log transform response-scale yi estimates \examples{ log_transform(1.77, 1.01, 1000) } +\seealso{ +Equivalent in workflow data hierarchy to \code{\link[=Z_VZ_preds]{Z_VZ_preds()}}. +} diff --git a/man/log_transform_yi.Rd b/man/log_transform_yi.Rd new file mode 100644 index 0000000..c10e983 --- /dev/null +++ b/man/log_transform_yi.Rd @@ -0,0 +1,22 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/log_transform_yi.R +\name{log_transform_yi} +\alias{log_transform_yi} +\title{Log-transform a data-frame of back-transformed out-of-sample estimates} +\usage{ +log_transform_yi(back_transformed_data, sim = 10000L, ...) +} +\arguments{ +\item{back_transformed_data}{description} + +\item{sim}{Number of simulations to run when generating distribution to sample from} +} +\value{ +A tibble of standardised-out-of-sample predictions on the Z-scale, with columns \code{Z}, \code{VZ}, \code{lower} and \code{upper} and the original columns fro \code{back_transformed_data} that were not used / updated in the transformation. +} +\description{ +Log-transform a data-frame of back-transformed out-of-sample estimates +} +\seealso{ +Equivalent to \code{\link[=pred_to_Z]{pred_to_Z()}} in terms of workflow data hierarchy. Called by \code{\link[=log_transform_response]{log_transform_response()}}. +} diff --git a/man/make_viz.Rd b/man/make_viz.Rd index 735b665..d8a7754 100644 --- a/man/make_viz.Rd +++ b/man/make_viz.Rd @@ -16,14 +16,6 @@ a nested dataframe grouped by variables \code{exclusion_set}, \code{dataset}, \c Computes model summaries, tidy model summaries, model fit stats, funnel plots and forest plots for a dataframe of multiple fitted models } \seealso{ -Other targets-pipeline functions: -\code{\link{generate_outlier_subsets}()}, -\code{\link{generate_rating_subsets}()}, -\code{\link{prepare_ManyEcoEvo}()}, -\code{\link{prepare_ManyEcoEvo_yi}()}, -\code{\link{prepare_response_variables_yi}()}, -\code{\link{prepare_review_data}()} - Other Multi-dataset Wrapper Functions: \code{\link{apply_VZ_exclusions}()}, \code{\link{compute_MA_inputs}()}, @@ -44,4 +36,3 @@ Other Multi-dataset Wrapper Functions: \code{\link{summarise_variable_counts}()} } \concept{Multi-dataset Wrapper Functions} -\concept{targets-pipeline functions} diff --git a/man/map_match_formulae.Rd b/man/map_match_formulae.Rd new file mode 100644 index 0000000..2d570b0 --- /dev/null +++ b/man/map_match_formulae.Rd @@ -0,0 +1,22 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/generate_outlier_subsets.R +\name{map_match_formulae} +\alias{map_match_formulae} +\title{Map matching formulae to data} +\usage{ +map_match_formulae(data, variable_name, formulae, col_name = "outcome_colname") +} +\arguments{ +\item{data}{A tibble} + +\item{variable_name}{character string, the name of the variable to match} + +\item{formulae}{A named list of formulae} +} +\value{ +A tibble with a new column \code{outcome_colname} containing \code{rhs} of the the matched formula, or \code{NA} if no match is found +} +\description{ +Map matching formulae to data +} +\keyword{internal} diff --git a/man/meta_analyse_datasets.Rd b/man/meta_analyse_datasets.Rd index f176282..fa2ab02 100644 --- a/man/meta_analyse_datasets.Rd +++ b/man/meta_analyse_datasets.Rd @@ -4,15 +4,21 @@ \alias{meta_analyse_datasets} \title{Meta-analyses multiple datasets or subsets of datasets of analyst data} \usage{ -meta_analyse_datasets(MA_data, filter_vars = NULL) +meta_analyse_datasets( + data, + outcome_variable = NULL, + outcome_SE = NULL, + filter_vars = NULL +) } \arguments{ -\item{MA_data}{A nested-dataframe grouped by \code{dataset} and / or \code{exclusion_set}, \code{estimate_type}, containing the list-column of prepared analyst subset data \code{effects_analysis} ready for meta-analysis.} +\item{data}{A nested- dataframe grouped by \code{dataset} and / or \code{exclusion_set}, \code{estimate_type}, containing the list-column of prepared analyst subset data \code{effects_analysis} ready for meta-analysis.} -\item{filter_vars}{A list of expressions to filter the \code{MA_data} dataframe by. E.g. \code{rlang::exprs(exclusion_set == "complete", expertise_subset == "All", publishable_subset == "All", collinearity_subset == "All")}} +\item{filter_vars}{A list of expressions to filter the \code{data} dataframe by. E.g. \code{rlang::exprs(exclusion_set == "complete", expertise_subset == "All", publishable_subset == "All", collinearity_subset == "All")} +#' @param outcome_variable A named list containing either/and a list of \code{dataset}s and their corresponding outcome variables for each value of \code{dataset}, a list of \code{estimate_type}s and their corresponding outcome variables for each value of \code{estimate_type}.} } \value{ -A nested dataframe with all columns of object parsed to arg \code{MA_data}, but with additional columns for the results of each analysis: \code{MA_mod}, \code{sorensen_glm}, \code{box_cox_ratings_cont}, \code{box_cox_ratings_cat}, \code{box_cox_rating_cat_no_int}, \code{uni_mixed_effects} +A nested dataframe with all columns of object parsed to arg \code{data}, but with additional columns for the results of each analysis: \code{MA_mod}, \code{sorensen_glm}, \code{box_cox_ratings_cont}, \code{box_cox_ratings_cat}, \code{box_cox_rating_cat_no_int}, \code{uni_mixed_effects} } \description{ Runs all meta-analyses and regression models for the ManyEcoEvo project analysis, including: @@ -25,8 +31,21 @@ Runs all meta-analyses and regression models for the ManyEcoEvo project analysis \item A univariate GLM regression of the transformed deviation scores on the categorical peer-review ratings \item A univariate GLM regression of the transformed deviation scores on a binary variable corresponding to whether the analysis was a mixed-effects model (i.e. GLM with random-effects) or not. \item To be implemented: a multivariate regression #TODO -\item The deviation scores on transformed categorical ratings but with no intercept (for nice plotting / ecploration). +\item The deviation scores on transformed categorical ratings but with no intercept (for nice plotting / exploration). +} } +\details{ +When \code{filter_vars} are supplied the function will filter the \code{data} dataframe by the expressions in the list, any data subsets excluded by filtering will not have multivariate met-analysis models fitted with \code{\link[=fit_multivar_MA]{fit_multivar_MA()}}. + +When the arguments \code{outcome_variable} and/or \code{outcome_variable} are not supplied, the function defaults to: +\itemize{ +\item using \code{"Zr"} as the standardised effect size and \code{"VZr"} as the standard error when \code{estimate_type} is \code{"Zr"}. +\item using \code{"Z"} as the standardised out-of-sample estimate and \code{"VZ" }as the standardised out-of-sample estimate error when \code{estimate_type} is one of \code{c("yi", "y25", "y50", "y75")}. +} + +The function will check if the \code{data} dataframe contains the required columns for meta-analysis, including any variable names specified in calls to the \code{filter_vars} argument. If the required functions do not exist then the function will stop with an error. + +Function assumes that if argument \code{outcome_variable} is supplied, then \code{outcome_SE} is also supplied, and conversely, if \code{outcome_SE} is not supplied, then neither is \code{outcome_variable} (\emph{TODO} not yet checked in function). } \examples{ filter_vars <- rlang::exprs( diff --git a/man/named_group_split.Rd b/man/named_group_split.Rd index 9d383d0..089ac2e 100644 --- a/man/named_group_split.Rd +++ b/man/named_group_split.Rd @@ -26,3 +26,12 @@ data(blue_tit_data) named_group_split(euc_data, Property) named_group_split(blue_tit_data, hatch_Area) } +\seealso{ +Other Utility functions: +\code{\link{\%nin\%}()}, +\code{\link{capwords}()}, +\code{\link{rm_inf_na}()}, +\code{\link{subset_fns_Zr}()}, +\code{\link{subset_fns_yi}()} +} +\concept{Utility functions} diff --git a/man/plot_cont_rating_effects.Rd b/man/plot_cont_rating_effects.Rd index d16de21..7022379 100644 --- a/man/plot_cont_rating_effects.Rd +++ b/man/plot_cont_rating_effects.Rd @@ -45,3 +45,12 @@ Plot Marginal Effects for Numeric Rating Model # ggplot2::xlab("Rating") + # ggplot2::ylab("Deviation In Effect Size from Analytic Mean") } +\seealso{ +Other Plotting functions: +\code{\link{get_forest_plot_data}()}, +\code{\link{plot_effects_diversity}()}, +\code{\link{plot_forest}()}, +\code{\link{plot_model_means_box_cox_cat}()}, +\code{\link{plot_model_means_orchard}()} +} +\concept{Plotting functions} diff --git a/man/plot_effects_diversity.Rd b/man/plot_effects_diversity.Rd index c2ca417..a280263 100644 --- a/man/plot_effects_diversity.Rd +++ b/man/plot_effects_diversity.Rd @@ -30,3 +30,12 @@ Marginal Effects Plot of Diversity Index Model # lambda), # back_transform = TRUE) } +\seealso{ +Other Plotting functions: +\code{\link{get_forest_plot_data}()}, +\code{\link{plot_cont_rating_effects}()}, +\code{\link{plot_forest}()}, +\code{\link{plot_model_means_box_cox_cat}()}, +\code{\link{plot_model_means_orchard}()} +} +\concept{Plotting functions} diff --git a/man/plot_forest.Rd b/man/plot_forest.Rd index 3f5c8b4..d230b8b 100644 --- a/man/plot_forest.Rd +++ b/man/plot_forest.Rd @@ -20,6 +20,7 @@ A ggplot object Plot a forest plot using the data from \code{get_forest_plot_data} } \examples{ +data(ManyEcoEvo_results) model <- ManyEcoEvo_results \%>\% pluck("MA_mod", 1) plot_data <- get_forest_plot_data(model) plot_forest(plot_data) @@ -28,7 +29,11 @@ plot_forest(plot_data, MA_mean = FALSE) plot_forest(plot_data, intercept = FALSE, MA_mean = FALSE) } \seealso{ -Other Forest Plot Functions: -\code{\link{get_forest_plot_data}()} +Other Plotting functions: +\code{\link{get_forest_plot_data}()}, +\code{\link{plot_cont_rating_effects}()}, +\code{\link{plot_effects_diversity}()}, +\code{\link{plot_model_means_box_cox_cat}()}, +\code{\link{plot_model_means_orchard}()} } -\concept{Forest Plot Functions} +\concept{Plotting functions} diff --git a/man/plot_model_means_box_cox_cat.Rd b/man/plot_model_means_box_cox_cat.Rd index d62c64c..4d069d7 100644 --- a/man/plot_model_means_box_cox_cat.Rd +++ b/man/plot_model_means_box_cox_cat.Rd @@ -35,3 +35,12 @@ A ggplot object \description{ Plot model means for box-cox transformed deviation scores as a function of categorical ratings } +\seealso{ +Other Plotting functions: +\code{\link{get_forest_plot_data}()}, +\code{\link{plot_cont_rating_effects}()}, +\code{\link{plot_effects_diversity}()}, +\code{\link{plot_forest}()}, +\code{\link{plot_model_means_orchard}()} +} +\concept{Plotting functions} diff --git a/man/plot_model_means_orchard.Rd b/man/plot_model_means_orchard.Rd index b1bb65b..0b79c95 100644 --- a/man/plot_model_means_orchard.Rd +++ b/man/plot_model_means_orchard.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/plot_model_means_orchard.R \name{plot_model_means_orchard} \alias{plot_model_means_orchard} -\title{plot_model_means_orchard} +\title{Plot orchard-plot style model means} \usage{ plot_model_means_orchard(dat, variable, predictor_means, new_order, title) } @@ -23,3 +23,12 @@ A ggplot object \description{ Plot the means of a model with a predictor variable } +\seealso{ +Other Plotting functions: +\code{\link{get_forest_plot_data}()}, +\code{\link{plot_cont_rating_effects}()}, +\code{\link{plot_effects_diversity}()}, +\code{\link{plot_forest}()}, +\code{\link{plot_model_means_box_cox_cat}()} +} +\concept{Plotting functions} diff --git a/man/poss_fit_boxcox_ratings_cat.Rd b/man/poss_fit_boxcox_ratings_cat.Rd new file mode 100644 index 0000000..e5717e8 --- /dev/null +++ b/man/poss_fit_boxcox_ratings_cat.Rd @@ -0,0 +1,30 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fit_boxcox_ratings_cat.R +\name{poss_fit_boxcox_ratings_cat} +\alias{poss_fit_boxcox_ratings_cat} +\title{Possibly \code{\link[=fit_boxcox_ratings_cat]{fit_boxcox_ratings_cat()}}} +\usage{ +poss_fit_boxcox_ratings_cat(...) +} +\description{ +Wrapper for \code{\link[=fit_boxcox_ratings_cat]{fit_boxcox_ratings_cat()}} that returns \code{NA} if an error is encountered +} +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} +} +\concept{Model fitting and meta-analysis} +\keyword{internal} diff --git a/man/poss_fit_boxcox_ratings_cont.Rd b/man/poss_fit_boxcox_ratings_cont.Rd new file mode 100644 index 0000000..9a8b1eb --- /dev/null +++ b/man/poss_fit_boxcox_ratings_cont.Rd @@ -0,0 +1,30 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fit_boxcox_ratings_cont.R +\name{poss_fit_boxcox_ratings_cont} +\alias{poss_fit_boxcox_ratings_cont} +\title{Possibly fit \code{\link[=fit_boxcox_ratings_cont]{fit_boxcox_ratings_cont()}} model} +\usage{ +poss_fit_boxcox_ratings_cont(...) +} +\description{ +Wrapper for \code{\link[=fit_boxcox_ratings_cont]{fit_boxcox_ratings_cont()}} that returns \code{NA} if an error is thrown +} +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} +} +\concept{Model fitting and meta-analysis} +\keyword{internal} diff --git a/man/poss_fit_boxcox_ratings_ord.Rd b/man/poss_fit_boxcox_ratings_ord.Rd new file mode 100644 index 0000000..c9b2e93 --- /dev/null +++ b/man/poss_fit_boxcox_ratings_ord.Rd @@ -0,0 +1,30 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fit_boxcox_ratings_ord.R +\name{poss_fit_boxcox_ratings_ord} +\alias{poss_fit_boxcox_ratings_ord} +\title{Possibly \code{\link[=fit_box_cox_ratings]{fit_box_cox_ratings()}}} +\usage{ +poss_fit_boxcox_ratings_ord(...) +} +\description{ +A wrapper for \code{\link[=fit_box_cox_ratings]{fit_box_cox_ratings()}} that returns \code{NA} if an error is thrown +} +\seealso{ +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_metafor_mv}()}, +\code{\link{poss_fit_uni_mixed_effects}()} +} +\concept{Model fitting and meta-analysis} +\keyword{internal} diff --git a/man/poss_fit_metafor_mv.Rd b/man/poss_fit_metafor_mv.Rd new file mode 100644 index 0000000..0838fb2 --- /dev/null +++ b/man/poss_fit_metafor_mv.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fit_metafor_mv.R +\name{poss_fit_metafor_mv} +\alias{poss_fit_metafor_mv} +\title{Possibly \code{\link[=fit_metafor_mv]{fit_metafor_mv()}}} +\usage{ +poss_fit_metafor_mv(...) +} +\description{ +Wrapper for \code{\link[=fit_metafor_mv]{fit_metafor_mv()}} that returns \code{NA} if an error is thrown +} +\seealso{ +\code{\link[=fit_metafor_mv]{fit_metafor_mv()}} + +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_uni_mixed_effects}()} +} +\concept{Model fitting and meta-analysis} +\keyword{internal} diff --git a/man/poss_fit_sorensen_glm.Rd b/man/poss_fit_sorensen_glm.Rd new file mode 100644 index 0000000..9a22a99 --- /dev/null +++ b/man/poss_fit_sorensen_glm.Rd @@ -0,0 +1,12 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fit_sorensen_glm.R +\name{poss_fit_sorensen_glm} +\alias{poss_fit_sorensen_glm} +\title{Possibly \code{\link[=fit_sorensen_glm]{fit_sorensen_glm()}}} +\usage{ +poss_fit_sorensen_glm(...) +} +\description{ +A version of \code{\link[=fit_sorensen_glm]{fit_sorensen_glm()}} that returns \code{NA} if an error is encountered +} +\keyword{internal} diff --git a/man/poss_fit_uni_mixed_effects.Rd b/man/poss_fit_uni_mixed_effects.Rd new file mode 100644 index 0000000..9b8c62e --- /dev/null +++ b/man/poss_fit_uni_mixed_effects.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fit_uni_mixed_effects.R +\name{poss_fit_uni_mixed_effects} +\alias{poss_fit_uni_mixed_effects} +\title{Possibly \code{\link[=fit_uni_mixed_effects]{fit_uni_mixed_effects()}}} +\usage{ +poss_fit_uni_mixed_effects(...) +} +\description{ +Wrapper for \code{\link[=fit_uni_mixed_effects]{fit_uni_mixed_effects()}} that returns \code{NA} if an error is thrown. +} +\seealso{ +\code{\link[=fit_uni_mixed_effects]{fit_uni_mixed_effects()}} + +Other Model fitting and meta-analysis: +\code{\link{fit_MA_mv}()}, +\code{\link{fit_boxcox_ratings_cat}()}, +\code{\link{fit_boxcox_ratings_cont}()}, +\code{\link{fit_boxcox_ratings_ord}()}, +\code{\link{fit_metafor_mv}()}, +\code{\link{fit_metafor_mv_reduced}()}, +\code{\link{fit_metafor_uni}()}, +\code{\link{fit_multivar_MA}()}, +\code{\link{fit_sorensen_glm}()}, +\code{\link{fit_uni_mixed_effects}()}, +\code{\link{poss_fit_boxcox_ratings_cat}()}, +\code{\link{poss_fit_boxcox_ratings_cont}()}, +\code{\link{poss_fit_boxcox_ratings_ord}()}, +\code{\link{poss_fit_metafor_mv}()} +} +\concept{Model fitting and meta-analysis} +\keyword{internal} diff --git a/man/pred_to_Z.Rd b/man/pred_to_Z.Rd index 92ccea2..5583095 100644 --- a/man/pred_to_Z.Rd +++ b/man/pred_to_Z.Rd @@ -2,18 +2,26 @@ % Please edit documentation in R/pred_to_Z.R \name{pred_to_Z} \alias{pred_to_Z} -\title{Standardize Out-Of-Sample Predictions} +\title{Z-standardise a dataframe of back-transformed Out-Of-Sample Predictions} \usage{ -pred_to_Z(back_transformed_data, params, dataset) +pred_to_Z(back_transformed_data, params) } \arguments{ \item{back_transformed_data}{a dataframe or tibble with the columns "estimate" and "se.fit", containing yi and SE\(yi\) values respectively} \item{response_variable_name}{a character vector} } +\value{ +A tibble of standardised-out-of-sample predictions on the Z-scale, with columns \code{Z}, \code{VZ}, \code{lower} and \code{upper}, and the original columns fro \code{back_transformed_data} that were not used / updated in the transformation. +} \description{ Standardizes out-of-sample predictions by computing the Fisher's Z transformed Correlation Coefficient from analysts' out-of-sample prediction estimates and corresponding standard error. } -\note{ -\code{pred_to_Z} expects estimates to be on the response scale, not the link scale. +\details{ +This function is used to standardize out-of-sample predictions on the response scale to the Z-scale. \code{\link[=pred_to_Z]{pred_to_Z()}} expects estimates to be on the response scale, not the link scale. + +The function computes the Z-score and VZ-score for each out-of-sample prediction estimate and its corresponding standard error using \code{\link[=Z_VZ_preds]{Z_VZ_preds()}}. +} +\seealso{ +Equivalent to\code{\link[=log_transform_yi]{log_transform_yi()}} in terms of workflow data hierarchy. } diff --git a/man/prepare_ManyEcoEvo.Rd b/man/prepare_ManyEcoEvo.Rd index 53df51b..af5bddc 100644 --- a/man/prepare_ManyEcoEvo.Rd +++ b/man/prepare_ManyEcoEvo.Rd @@ -40,9 +40,7 @@ Other Multi-dataset Wrapper Functions: \code{\link{summarise_variable_counts}()} Other targets-pipeline functions: -\code{\link{generate_outlier_subsets}()}, \code{\link{generate_rating_subsets}()}, -\code{\link{make_viz}()}, \code{\link{prepare_ManyEcoEvo_yi}()}, \code{\link{prepare_response_variables_yi}()}, \code{\link{prepare_review_data}()} diff --git a/man/prepare_ManyEcoEvo_yi.Rd b/man/prepare_ManyEcoEvo_yi.Rd index cab65a7..c70e8ff 100644 --- a/man/prepare_ManyEcoEvo_yi.Rd +++ b/man/prepare_ManyEcoEvo_yi.Rd @@ -29,9 +29,7 @@ Prepare ManyEcoEvo raw dataset for out-of-sample predictions } \seealso{ Other targets-pipeline functions: -\code{\link{generate_outlier_subsets}()}, \code{\link{generate_rating_subsets}()}, -\code{\link{make_viz}()}, \code{\link{prepare_ManyEcoEvo}()}, \code{\link{prepare_response_variables_yi}()}, \code{\link{prepare_review_data}()} diff --git a/man/prepare_response_variables.Rd b/man/prepare_response_variables.Rd index cb7bb2f..20a1e2e 100644 --- a/man/prepare_response_variables.Rd +++ b/man/prepare_response_variables.Rd @@ -8,7 +8,9 @@ prepare_response_variables( ManyEcoEvo, estimate_type = character(1L), param_table = NULL, - dataset_standardise = NULL + dataset_standardise = NULL, + dataset_log_transform = NULL, + ... ) } \arguments{ @@ -19,6 +21,8 @@ prepare_response_variables( \item{param_table}{A table of parameters \(mean, sd\) for \emph{most} response variables used by analysts. This tibble is pulled from the named object exported by \verb{ManyEcoEvo::}. but can be overwritten with the users's own \code{param_table} dataset.} \item{dataset_standardise}{A character string of length 1, equal to the name of the dataset to standardise the response variables to. If \code{NULL} (default), no datasets are standardised.} + +\item{dataset_log_transform}{A character string of length 1, equal to the name of the dataset to log-transform the response variables to. If \code{NULL} (default), no datasets are log-transformed.} } \value{ A tibble of nested list-columns @@ -28,6 +32,12 @@ Prepare response variable data for nested ManyEcoEvo dataset } \details{ Operates on nested list-columns of dataframes, where each dataframe contains the response variable data for a single analysis. The function standardises the response variable data for each analysis, and returns the modified dataset to the \code{data} list-column. + +Note that if \code{ManyEcoEvo} does not have an \code{estimate_type} column, it will be added with the value of \code{estimate_type}. This is because some transformation functions require the \code{estimate_type} column to be present in the dataset. +} +\examples{ +data(ManyEcoEvo) +ManyEcoEvo \%>\% prepare_response_variables(estimate_type = "Zr") } \seealso{ Other Multi-dataset Wrapper Functions: diff --git a/man/prepare_response_variables_yi.Rd b/man/prepare_response_variables_yi.Rd index 634cd10..bf2d385 100644 --- a/man/prepare_response_variables_yi.Rd +++ b/man/prepare_response_variables_yi.Rd @@ -25,12 +25,13 @@ Prepare response variable data for nested ManyEcoEvo dataset - out of sample pre } \details{ Operates on nested list-columns of data. The function back-transforms the response variables from the link to the response scale for each dataset in the ManyEcoEvo dataset. The back-transformed data is stored in a list-column called \code{back_transformed_data}. It is useful for when wanting to conduct a meta-analysis on the response scale, e.g. for the \emph{Eucalyptus} count data. +\code{estimate_type} is used to specify the type of estimate to be standardised and parsed to \code{\link[=back_transform_response_vars_yi]{back_transform_response_vars_yi()}} } \seealso{ +\code{\link[=back_transform_response_vars_yi]{back_transform_response_vars_yi()}}. To be called prior to \code{\link[=generate_yi_subsets]{generate_yi_subsets()}}. + Other targets-pipeline functions: -\code{\link{generate_outlier_subsets}()}, \code{\link{generate_rating_subsets}()}, -\code{\link{make_viz}()}, \code{\link{prepare_ManyEcoEvo}()}, \code{\link{prepare_ManyEcoEvo_yi}()}, \code{\link{prepare_review_data}()} diff --git a/man/prepare_review_data.Rd b/man/prepare_review_data.Rd index f4b8535..44edbf8 100644 --- a/man/prepare_review_data.Rd +++ b/man/prepare_review_data.Rd @@ -19,9 +19,7 @@ Prepare peer-review data from Qualtrics } \seealso{ Other targets-pipeline functions: -\code{\link{generate_outlier_subsets}()}, \code{\link{generate_rating_subsets}()}, -\code{\link{make_viz}()}, \code{\link{prepare_ManyEcoEvo}()}, \code{\link{prepare_ManyEcoEvo_yi}()}, \code{\link{prepare_response_variables_yi}()} diff --git a/man/process_analyst_data.Rd b/man/process_analyst_data.Rd index 3c3346e..cc36358 100644 --- a/man/process_analyst_data.Rd +++ b/man/process_analyst_data.Rd @@ -1,28 +1,40 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/standardise_response.R -\name{process_analyst_data} +% Please edit documentation in R/prepare_response_variables.R, +% R/standardise_response.R +\name{pmap_wrap} +\alias{pmap_wrap} \alias{process_analyst_data} \alias{standardise_response} \alias{process_response} -\title{Process Response Data for Meta-Analysis} +\alias{log_transform_response} +\title{Wrapper function to standardise response variables} \usage{ +pmap_wrap(..., fns, env = caller_env()) + standardise_response( - dat, + data, estimate_type = character(1L), param_table = NULL, - dataset = character(1L) + dataset = character(1L), + ... ) -process_response(dat, ...) +process_response(data, ...) + +log_transform_response(data, sim = 10000L, ...) } \arguments{ -\item{dat}{A tibble of analyst data with a list-column called} +\item{...}{Ignored} + +\item{data}{A tibble of analyst data with a list-column called} \item{estimate_type}{The type of estimate to be standardised. Character vector of length 1, whose value may be "Zr", "yi", "y25", "y50", "y75".} \item{param_table}{A table of estimated 'population' parameters for each variable in the analysis datasets.} -\item{dataset}{One of either "blue tit" or "eucalyptus"} +\item{dataset}{Character vector of length 1. The name of the dataset being processed, e.g. \verb{blue tit} or \code{eucalyptus}.} + +\item{sim}{a numeric vector of length 1L with the number of simulations that should be passed to \code{\link[=log_transform]{log_transform()}}} } \value{ A tibble of analyst data with standardised values contained in a list-column called 'back_transformed_data' @@ -36,6 +48,8 @@ This function generates the response data for meta-analysis without standardisin \item \code{process_response()}: Process response data for meta-analysis but do not standardise effect-sizes +\item \code{log_transform_response()}: Standardise response data for meta-analysis + }} \section{\code{standardise_response()}}{ When the \code{estimate_type} is \code{"Zr"}, \code{\link[=standardise_response]{standardise_response()}} standardises @@ -59,15 +73,58 @@ variable will not be standardised, and NA will be returned for that entry in \co \section{\code{process_response()}}{ Formats tibbles in the list-column \code{back_transformed_data} to ensure that the correct columns are present for meta-analysis, matching the outputs of -\code{\link[=standardise_response]{standardise_response()}}. For blue tit data \code{dat$back_transformed_data$fit} -and for eucalyptus data, \code{dat$back_transformed_data$estimate} is renamed \code{Z}. +\code{\link[=standardise_response]{standardise_response()}}. For blue tit data \code{data$back_transformed_data$fit} +and for eucalyptus data, \code{data$back_transformed_data$estimate} is renamed \code{Z}. \code{se.fit} is renamed \code{VZ}. } +\section{\code{\link[=log_transform_response]{log_transform_response()}}}{ +maps \code{\link[=log_transform_yi]{log_transform_yi()}} onto back-transformed data stored in list-columns within \link{data} +} + +\examples{ +# Standardise effect-sizes for eucalyptus dataset + +data(ManyEcoEvo) +ManyEcoEvo \%>\% + filter(dataset == "eucalyptus") \%>\% + pluck("data", 1) \%>\% + standardise_response(estimate_type = "Zr", + param_table = NULL, + dataset = "eucalyptus") +data(ManyEcoEvo_yi) +ManyEcoEvo_yi \%>\% +filter(dataset == "eucalyptus") \%>\% + pluck("data", 1) \%>\% + back_transform_response_vars_yi("yi", "eucalyptus") \%>\% + log_transform_response() +} \seealso{ -\code{\link[=est_to_zr]{est_to_zr()}}, \code{\link[=assign_transformation_type]{assign_transformation_type()}} +This internal helper function is called by \code{\link[=prepare_response_variables]{prepare_response_variables()}} + +\code{\link[=est_to_zr]{est_to_zr()}},\code{\link[=assign_transformation_type]{assign_transformation_type()}}, \code{\link[=pred_to_Z]{pred_to_Z()}} + +Other Analysis-level functions: +\code{\link{Z_VZ_preds}()}, +\code{\link{apply_sorensen_calc}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{box_cox_transform}()}, +\code{\link{convert_predictions}()}, +\code{\link{est_to_zr}()}, +\code{\link{folded_params}()}, +\code{\link{rename_prediction_cols}()}, +\code{\link{variance_box_cox}()} -Other analyst-data: -\code{\link{back_transform_response_vars_yi}()} +Other Analysis-level functions: +\code{\link{Z_VZ_preds}()}, +\code{\link{apply_sorensen_calc}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{box_cox_transform}()}, +\code{\link{convert_predictions}()}, +\code{\link{est_to_zr}()}, +\code{\link{folded_params}()}, +\code{\link{rename_prediction_cols}()}, +\code{\link{variance_box_cox}()} } -\concept{analyst-data} +\concept{Analysis-level functions} +\keyword{internal} diff --git a/man/rename_prediction_cols.Rd b/man/rename_prediction_cols.Rd new file mode 100644 index 0000000..ddb9f06 --- /dev/null +++ b/man/rename_prediction_cols.Rd @@ -0,0 +1,44 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/convert_predictions.R +\name{rename_prediction_cols} +\alias{rename_prediction_cols} +\title{Rename Prediction Columns} +\usage{ +rename_prediction_cols(.data, key_var, .old_data) +} +\arguments{ +\item{.data}{A tibble of out of sample predictions on the response variable scale} + +\item{key_var}{A tibble of the key variables used in the conversion} + +\item{.old_data}{A tibble of the original data used in the conversion} +} +\value{ +A tibble of out of sample predictions on the response variable scale with the correct column names +} +\description{ +Renames the prediction columns in the output of convert_predictions +} +\seealso{ +Other Analysis-level functions: +\code{\link{Z_VZ_preds}()}, +\code{\link{apply_sorensen_calc}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{box_cox_transform}()}, +\code{\link{convert_predictions}()}, +\code{\link{est_to_zr}()}, +\code{\link{folded_params}()}, +\code{\link{pmap_wrap}()}, +\code{\link{variance_box_cox}()} + +Other Back-transformation: +\code{\link{assign_transformation_type}()}, +\code{\link{back}}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{clean_response_transformation}()}, +\code{\link{conversion}()}, +\code{\link{conversion_2}()}, +\code{\link{convert_predictions}()} +} +\concept{Analysis-level functions} +\concept{Back-transformation} diff --git a/man/rm_inf_na.Rd b/man/rm_inf_na.Rd index 32d3fe8..76e2560 100644 --- a/man/rm_inf_na.Rd +++ b/man/rm_inf_na.Rd @@ -25,3 +25,12 @@ ManyEcoEvo_results \%>\% pluck("effects_analysis", 1) \%>\% rm_inf_na(beta_estimate, beta_SE) } +\seealso{ +Other Utility functions: +\code{\link{\%nin\%}()}, +\code{\link{capwords}()}, +\code{\link{named_group_split}()}, +\code{\link{subset_fns_Zr}()}, +\code{\link{subset_fns_yi}()} +} +\concept{Utility functions} diff --git a/man/slice_conditionally.Rd b/man/slice_conditionally.Rd new file mode 100644 index 0000000..2369fda --- /dev/null +++ b/man/slice_conditionally.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/generate_outlier_subsets.R +\name{slice_conditionally} +\alias{slice_conditionally} +\title{Slice Conditionally} +\usage{ +slice_conditionally(data, n_min, n_max, outcome_variable) +} +\arguments{ +\item{data}{A tibble} + +\item{n_min}{integer, the number of bottom outliers to remove} + +\item{n_max}{integer, the number of top outliers to remove} + +\item{outcome_variable}{character string, the name of the outcome variable} +} +\description{ +Slice Conditionally +} +\keyword{internal} diff --git a/man/split_yi_subsets.Rd b/man/split_yi_subsets.Rd new file mode 100644 index 0000000..5c9ec8b --- /dev/null +++ b/man/split_yi_subsets.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/generate_yi_subsets.R +\name{split_yi_subsets} +\alias{split_yi_subsets} +\title{Split a dataset of out-of-sample predictions by \code{estimate_type}} +\usage{ +split_yi_subsets(.data) +} +\arguments{ +\item{.data}{A dataset containing out-of-sample predictions} +} +\value{ +A tibble of out-of-sample predictions subset by \code{estimate_type} and stored in the list-column \code{data}. +} +\description{ +Reorganises the data from nesting based on individual analysis submissions, to nesting based on the type of estimate. +} +\details{ +This function is used to split a dataset of out-of-sample predictions by \code{estimate_type}, where out-of-sample predictions are stored in a list-column called \code{back_transformed_data}, with one data frame of data per analysis submission. + +The \code{estimate_type} is derived from either the \code{scenario} and \code{SurveyID} columns in each \code{back_transformed_data} dataset. +The \code{estimate_type} is then used to nest the data by \code{estimate_type} in the list-column \code{data}. + +Removes unnecessary data in \code{.data}: \code{augmented_data} and \code{checks}. +} +\seealso{ +This function is called in the wrapper function \code{\link[=generate_yi_subsets]{generate_yi_subsets()}} to split out-of-sample predictions by \code{estimate_type} across multiple ManyAnalyst datasets. +} +\author{ +Elliot Gould +} diff --git a/man/subset_fns_Zr.Rd b/man/subset_fns_Zr.Rd index 53a95a6..ab39a51 100644 --- a/man/subset_fns_Zr.Rd +++ b/man/subset_fns_Zr.Rd @@ -12,3 +12,12 @@ A named list of \code{lambda} functions \description{ Generates a list of functions that are used to subset the processed \link{ManyEcoEvo} dataset } +\seealso{ +Other Utility functions: +\code{\link{\%nin\%}()}, +\code{\link{capwords}()}, +\code{\link{named_group_split}()}, +\code{\link{rm_inf_na}()}, +\code{\link{subset_fns_yi}()} +} +\concept{Utility functions} diff --git a/man/subset_fns_yi.Rd b/man/subset_fns_yi.Rd index 684befd..8e17486 100644 --- a/man/subset_fns_yi.Rd +++ b/man/subset_fns_yi.Rd @@ -18,3 +18,12 @@ out-of-sample predictions $y_i$. The subset functions are used to filter out predictions that are not to be included in the meta-analysis. } +\seealso{ +Other Utility functions: +\code{\link{\%nin\%}()}, +\code{\link{capwords}()}, +\code{\link{named_group_split}()}, +\code{\link{rm_inf_na}()}, +\code{\link{subset_fns_Zr}()} +} +\concept{Utility functions} diff --git a/man/validate.Rd b/man/validate.Rd new file mode 100644 index 0000000..e245544 --- /dev/null +++ b/man/validate.Rd @@ -0,0 +1,41 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/validate_predictions.R +\name{validate} +\alias{validate} +\alias{validate_predictions_df_blue_tit} +\alias{validate_predictions_df_euc} +\alias{validate_predictions} +\title{Validating analyst-submitted predictions} +\usage{ +validate_predictions_df_blue_tit(input, type = "filepath") + +validate_predictions_df_euc(input, type = "filepath") + +validate_predictions(data_set, input, type = "filepath") +} +\arguments{ +\item{input}{Either a filepath or a dataframe, corresponding to the \code{type} argument specification} + +\item{type}{character string of length 1, equal to either "filepath" or "df". Defaults to "filepath"} + +\item{data_set}{the dataset being analysed, either "blue tit" or "eucalyptus"} +} +\value{ +A pointblank agent, class \code{ptblank_agent}, yet to be interrogated +} +\description{ +Validates the structure of the analyst-submitted predictions, ensuring that the required columns are present and in the correct format. +} +\section{Functions}{ +\itemize{ +\item \code{validate_predictions_df_blue_tit()}: Validate Blue tit predictions data + +\item \code{validate_predictions_df_euc()}: Validate \emph{Eucalyptus} predictions data + +\item \code{validate_predictions()}: Wrapper-function for \code{\link[=validate_predictions_df_euc]{validate_predictions_df_euc()}} and \code{\link[=validate_predictions_df_blue_tit]{validate_predictions_df_blue_tit()}} + +}} +\seealso{ +\code{\link[pointblank:create_agent]{pointblank::create_agent()}} +} +\concept{Out-of-Sample Prediction Validation} diff --git a/man/validate_predictions.Rd b/man/validate_predictions.Rd deleted file mode 100644 index 2651c55..0000000 --- a/man/validate_predictions.Rd +++ /dev/null @@ -1,21 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/validate_predictions.R -\name{validate_predictions} -\alias{validate_predictions} -\title{Validate predictions conditioned on dataset} -\usage{ -validate_predictions(data_set, input, type = "filepath") -} -\arguments{ -\item{data_set}{the dataset being analysed, either "blue tit" or "eucalyptus"} - -\item{input}{a tibble of out of sample predictions that has been augmented, i.e. checked and updated} - -\item{type}{character string of length 1, equal to either "filepath" or "df". Defaults to "filepath"} -} -\value{ -An object of class "pointblank_agent", yet to be interrogated. -} -\description{ -Validate predictions conditioned on dataset -} diff --git a/man/validate_predictions_df_blue_tit.Rd b/man/validate_predictions_df_blue_tit.Rd deleted file mode 100644 index dfa6021..0000000 --- a/man/validate_predictions_df_blue_tit.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/validate_predictions.R -\name{validate_predictions_df_blue_tit} -\alias{validate_predictions_df_blue_tit} -\title{Validate out of sample predictions for blue tit dataset with pointblank package} -\usage{ -validate_predictions_df_blue_tit(input, type = "filepath") -} -\arguments{ -\item{input}{Either a filepath or a dataframe, corresponding to the \code{type} argument specification} - -\item{type}{character string of length 1, equal to either "filepath" or "df". Defaults to "filepath"} -} -\value{ -A pointblank agent, class "ptblank_agent", yet to be interrogated -} -\description{ -Validate out of sample predictions for blue tit dataset with pointblank package -} diff --git a/man/validate_predictions_df_euc.Rd b/man/validate_predictions_df_euc.Rd deleted file mode 100644 index dbbe389..0000000 --- a/man/validate_predictions_df_euc.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/validate_predictions.R -\name{validate_predictions_df_euc} -\alias{validate_predictions_df_euc} -\title{Validate out of sample predictions for eucalytpus dataset with pointblank package} -\usage{ -validate_predictions_df_euc(input, type = "filepath") -} -\arguments{ -\item{input}{Either a filepath or a dataframe, corresponding to the \code{type} argument specification} - -\item{type}{character string of length 1, equal to either "filepath" or "df". Defaults to "filepath"} -} -\value{ -A pointblank agent, class "ptblank_agent", yet to be interrogated -} -\description{ -Validate out of sample predictions for eucalytpus dataset with pointblank package -} diff --git a/man/variance_box_cox.Rd b/man/variance_box_cox.Rd new file mode 100644 index 0000000..7761fa6 --- /dev/null +++ b/man/variance_box_cox.Rd @@ -0,0 +1,39 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/box_cox_transform.R +\name{variance_box_cox} +\alias{variance_box_cox} +\title{Calculate the variance of the Box-Cox transformed absolute deviation scores} +\usage{ +variance_box_cox(folded_mu, folded_v, lambda) +} +\arguments{ +\item{folded_mu}{The mean of the folded absolute deviation scores} + +\item{folded_v}{The variance of the folded VZr} + +\item{lambda}{The lambda value used in the Box-Cox transformation} +} +\value{ +The variance of the Box-Cox transformed absolute deviation scores +} +\description{ +Calculate the variance of the Box-Cox transformed absolute deviation scores +} +\seealso{ +Other Box-Cox transformation: +\code{\link{box_cox_transform}()}, +\code{\link{folded_params}()} + +Other Analysis-level functions: +\code{\link{Z_VZ_preds}()}, +\code{\link{apply_sorensen_calc}()}, +\code{\link{back_transform_response_vars_yi}()}, +\code{\link{box_cox_transform}()}, +\code{\link{convert_predictions}()}, +\code{\link{est_to_zr}()}, +\code{\link{folded_params}()}, +\code{\link{pmap_wrap}()}, +\code{\link{rename_prediction_cols}()} +} +\concept{Analysis-level functions} +\concept{Box-Cox transformation} diff --git a/renv.lock b/renv.lock index 1a4e311..c341acf 100644 --- a/renv.lock +++ b/renv.lock @@ -536,26 +536,6 @@ ], "Hash": "a4652c36d1f8abfc3ddf4774f768c934" }, - "broom.mixed": { - "Package": "broom.mixed", - "Version": "0.2.9.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "broom", - "coda", - "dplyr", - "forcats", - "furrr", - "methods", - "nlme", - "purrr", - "stringr", - "tibble", - "tidyr" - ], - "Hash": "c4e6c14e4d92d7b2d29ab0758184774a" - }, "bslib": { "Package": "bslib", "Version": "0.8.0", @@ -712,17 +692,6 @@ ], "Hash": "0aaa05204035dc43ea0004b9c76611dd" }, - "coda": { - "Package": "coda", - "Version": "0.19-4.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "lattice" - ], - "Hash": "af436915c590afc6fffc3ce3a5be1569" - }, "codetools": { "Package": "codetools", "Version": "0.2-20",