From 7e8cac7992f87c32561431525b800ec3aff0bae9 Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@inrae.fr> Date: Wed, 30 Mar 2022 17:01:19 +0200 Subject: [PATCH] fix: wrong type in reach and section numbers - fix ids to integers - add class to result objects Refs #18 --- R/tidy_result.R | 12 +++++++++++- tests/testthat/test-get_result.R | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/R/tidy_result.R b/R/tidy_result.R index e8a333c..4115729 100644 --- a/R/tidy_result.R +++ b/R/tidy_result.R @@ -46,6 +46,13 @@ tidy_result <- function(res) { l <- lapply(strsplit(x, ":", fixed = TRUE), function(obj) { df <- data.frame(x = obj[2]) + if (obj[1] != "var") { + if (obj[1] == "t") { + df$x <- as.numeric(df$x) + } else { + df$x <- as.integer(df$x) + } + } names(df) <- obj[1] return(df) }) @@ -53,7 +60,9 @@ tidy_result <- function(res) { }) df_obj <- do.call(rbind, l) df$key <- NULL - cbind(df_obj, df) + df <- cbind(df_obj, df) + class(df) <- c("SicResultTidy", class(df)) + df } #' @rdname tidy_result @@ -71,5 +80,6 @@ compact_tidy_result <- function(res) { attr(df, "t") <- res[, 1] df$t <- NULL df$value <- NULL + class(df) <- c("SicResultCompact", class(df)) df } diff --git a/tests/testthat/test-get_result.R b/tests/testthat/test-get_result.R index 9821cb2..3739dfd 100644 --- a/tests/testthat/test-get_result.R +++ b/tests/testthat/test-get_result.R @@ -25,4 +25,5 @@ test_that("get_result with tidy return a tidy result", { expect_s3_class(result, "data.frame") expect_equal(names(result), c("bf", "sn", "var", "values")) expect_equal(attr(result, "t"), seq(0, 86400, by = 60)) + expect_type(result$bf, "integer") }) -- GitLab