From c94bb00bbf9c40258c018d965bafaf28633fa259 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 8 Oct 2024 16:38:55 +0200 Subject: [PATCH] undo everything, add check.duplicates = FALSE to read.snapshot --- DESCRIPTION | 1 - NAMESPACE | 1 - R/read.snapshot.R | 23 ++++++++--------------- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index a113b30..a16d192 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -24,7 +24,6 @@ Depends: Imports: cli, countrycode, - data.table, dplyr (>= 1.1.1), forcats (>= 1.0.0), ggplot2, diff --git a/NAMESPACE b/NAMESPACE index 5bb2dd0..77869d6 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -94,7 +94,6 @@ import(dplyr) import(utils) importFrom(cli,cli_abort) importFrom(countrycode,countrycode) -importFrom(data.table,fread) importFrom(dplyr,"%>%") importFrom(dplyr,across) importFrom(dplyr,anti_join) diff --git a/R/read.snapshot.R b/R/read.snapshot.R index 61aba31..3aa0bf5 100644 --- a/R/read.snapshot.R +++ b/R/read.snapshot.R @@ -20,11 +20,8 @@ #' read.filter.snapshot("snapshot.csv", list(scenario = c("CurPol", "NDC"), region = "World")) #' } #' -#' @importFrom data.table fread #' @importFrom dplyr filter #' @importFrom stats setNames -#' @importFrom tidyr pivot_longer -#' @importFrom readxl read_excel excel_sheets #' #' @export @@ -79,17 +76,13 @@ read.snapshot <- function(file, keep = list(), filter.function = identity) { data <- filter.function(data) return(data) } - if (grepl("\\.rds$", tmpfile)) { - data <- as.quitte(readRDS(tmpfile), na.rm = TRUE) - } else if (grepl("\\.xlsx?$", tmpfile)) { - data <- read_excel(path = tmpfile, sheet = if ("data" %in% excel_sheets(tmpfile)) "data" else 1, guess_max = 21474836) %>% - pivot_longer(matches("[0-9]+"), names_to = "period", values_drop_na = TRUE) - } else { - sep <- if (grepl(",", read_lines(file = tmpfile, n_max = 1), fixed = TRUE)) "," else ";" - data <- fread(tmpfile, sep = sep, header = TRUE, na.strings = c("UNDF", "NA", "N/A", "n_a", "")) %>% - as_tibble() %>% - pivot_longer(matches("[0-9]+"), names_to = "period", values_drop_na = TRUE) - } + # read file and do correct filtering + data <- read.quitte(tmpfile, + na.strings = c("UNDF", "NA", "N/A", "n_a", ""), + quote = '"', + drop.na = TRUE, + check.duplicates = FALSE, + filter.function = joinedfilter) unlink(tmpfile) - return(joinedfilter(as.quitte(data))) + return(data) }