From c1d9c3547697d13e2cd7c452e636d3b479d6a609 Mon Sep 17 00:00:00 2001 From: laresbernardo Date: Thu, 1 Sep 2022 14:11:05 -0500 Subject: [PATCH] feat: export/save raw data for reproducibility (raw_data.csv) --- R/R/checks.R | 2 +- R/R/outputs.R | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/R/R/checks.R b/R/R/checks.R index 7345ec082..eadf28c7c 100644 --- a/R/R/checks.R +++ b/R/R/checks.R @@ -278,7 +278,7 @@ check_factorvars <- function(dt_input, factor_vars, context_vars, organic_vars) temp <- select(dt_input, all_of(c(context_vars, organic_vars))) are_not_numeric <- !sapply(temp, is.numeric) if (any(are_not_numeric)) { - these <- are_not_numeric[!are_not_numeric %in% factor_vars] + these <- are_not_numeric[!names(are_not_numeric) %in% factor_vars] these <- these[these] if (length(these) > 0) { message("Automatically set these variables as 'factor_vars': ", v2t(names(these))) diff --git a/R/R/outputs.R b/R/R/outputs.R index 5c24add7b..e0830e691 100644 --- a/R/R/outputs.R +++ b/R/R/outputs.R @@ -134,7 +134,7 @@ robyn_outputs <- function(InputCollect, OutputModels, if (csv_out %in% c("all", "pareto")) { if (!quiet) message(paste(">> Exporting", csv_out, "results as CSVs into directory...")) - robyn_csv(OutputCollect, csv_out, export = export) + robyn_csv(InputCollect, OutputCollect, csv_out, export = export) } if (!quiet) message(">> Exporting general plots into directory...") @@ -205,11 +205,12 @@ Pareto-front ({x$pareto_fronts}) All solutions ({nSols}): {paste(x$allSolutions, #################################################################### #' Output results into local files: CSV files #' +#' @param InputCollect \code{robyn_inputs()} output. #' @param OutputCollect \code{robyn_run(..., export = FALSE)} output. #' @rdname robyn_outputs #' @return Invisible \code{NULL}. #' @export -robyn_csv <- function(OutputCollect, csv_out = NULL, export = TRUE) { +robyn_csv <- function(InputCollect, OutputCollect, csv_out = NULL, export = TRUE) { if (export) { check_class("robyn_outputs", OutputCollect) temp_all <- OutputCollect$allPareto @@ -222,6 +223,7 @@ robyn_csv <- function(OutputCollect, csv_out = NULL, export = TRUE) { write.csv(temp_all$xDecompAgg, paste0(OutputCollect$plot_folder, "all_aggregated.csv")) } if (!is.null(csv_out)) { + write.csv(InputCollect$dt_input, paste0(OutputCollect$plot_folder, "raw_data.csv")) write.csv(OutputCollect$mediaVecCollect, paste0(OutputCollect$plot_folder, "pareto_media_transform_matrix.csv")) write.csv(OutputCollect$xDecompVecCollect, paste0(OutputCollect$plot_folder, "pareto_alldecomp_matrix.csv")) }