diff --git a/R/tidy_result.R b/R/tidy_result.R index e8a333c88f3ba63d4d0bb86998c754d93beec6e6..4115729aaeb7e596a3aa3714f73daab1327e3050 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 9821cb2c574a4e0297c7e4d7838f30a668297f6b..3739dfd72dbd2c886cf6182a37c089b9ded18bc1 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") })