Nothing
testthat::test_that("s_summary return NA for x length 0L", {
x <- numeric()
result <- s_summary(x)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary handles NA", {
x <- c(NA_real_, 1)
# With `na.rm = TRUE`.
result <- s_summary(x)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
# With `na.rm = FALSE`.
result <- s_summary(x, na.rm = FALSE)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary returns right results for n = 2", {
x <- c(NA_real_, 1, 2)
result <- s_summary(x)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary returns right results for n = 8", {
x <- c(NA_real_, 1, 2, 5, 6, 7, 8, 9, 10)
result <- s_summary(x)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary works with factors", {
x <- factor(c("Female", "Male", "Female", "Male", "Male", "Unknown", "Unknown", "Unknown", "Unknown"))
result <- s_summary(x)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary fails with factors that have no levels or have empty string levels", {
x <- factor(c("Female", "Male", "Female", "Male", "Male", "Unknown", "Unknown", "Unknown", "Unknown", ""))
testthat::expect_error(s_summary(x))
testthat::expect_error(s_summary(factor()))
})
testthat::test_that("s_summary works when factors have NA levels", {
x <- factor(c("Female", "Male", "Female", "Male", "Unknown", "Unknown", NA))
result <- s_summary(x, na.rm = FALSE)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary works with factors with NA values handled and correctly removes them by default", {
x <- factor(c("Female", "Male", "Female", "Male", "Male", "Unknown", "Unknown", "Unknown", "Unknown", NA))
x <- explicit_na(x)
result <- s_summary(x)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary works with length 0 factors that have levels", {
x <- factor(levels = c("a", "b", "c"))
result <- s_summary(x)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary works with factors and different denominator choices", {
x <- factor(c("Female", "Male", "Female", "Male", "Male", "Unknown", "Unknown", "Unknown", "Unknown"))
result <- s_summary(x, denom = "N_row", .N_row = 20)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
result <- s_summary(x, denom = "N_col", .N_col = 30)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary works with characters by converting to character", {
x <- c("Female", "Male", "Female", "Male", "Male", "Unknown", "Unknown", "Unknown", "Unknown")
testthat::expect_warning(result <- s_summary(x, denom = "N_row", .N_row = 20, .var = "SEX"))
expected <- s_summary(factor(x), denom = "N_row", .N_row = 20)
testthat::expect_identical(result, expected)
})
testthat::test_that("s_summary works with characters by converting to character and handling empty strings", {
x <- c("Female", "Male", "Female", "Male", "Male", "", "Unknown", "Unknown", "Unknown", "Unknown")
testthat::expect_warning(result <- s_summary(x, .var = "foo", na.rm = FALSE, denom = "N_row", .N_row = 10))
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary does not work for length 0 character vectors", {
x <- character()
suppressWarnings(testthat::expect_error(s_summary(x, denom = "n", .var = "foo")))
})
testthat::test_that("s_summary works with logical vectors", {
x <- c(TRUE, FALSE, TRUE, FALSE, TRUE, TRUE)
result <- s_summary(x)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary works with length 0 logical vectors", {
result <- s_summary(as.logical(c()))
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary works with logical vectors and by default removes NA", {
x <- c(TRUE, FALSE, TRUE, FALSE, TRUE, TRUE, NA, NA)
result <- s_summary(x)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_summary works with logical vectors and by if requested does not remove NA from n", {
x <- c(TRUE, FALSE, TRUE, FALSE, TRUE, TRUE, NA, NA)
result <- s_summary(x, na.rm = FALSE)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("a_summary work with healthy input.", {
options("width" = 100)
# numeric input - a_summary
set.seed(1)
x <- rnorm(10)
result <- a_summary(
x = x, .N_col = 10, .N_row = 20, .var = "bla", .df_row = NULL, .ref_group = NULL, .in_ref_col = FALSE,
compare = FALSE, .stats = get_stats("analyze_vars_numeric"), na.rm = TRUE, na_str = default_na_str()
)
res_out <- testthat::expect_silent(result)
# numeric input - a_summary
result <- a_summary(x = x, .N_col = 10, .N_row = 20, .var = "bla")
res <- testthat::expect_silent(result)
testthat::expect_identical(res_out, res)
testthat::expect_snapshot(res)
# factor input - a_summary
x <- factor(c("a", "a", "b", "c", "a"))
result <- a_summary(
x = x, .N_col = 10, .N_row = 10, .var = "bla", .df_row = NULL, .ref_group = NULL, .in_ref_col = FALSE,
compare = FALSE, .stats = get_stats("analyze_vars_counts"),
na.rm = TRUE, na_str = default_na_str()
)
res_out <- testthat::expect_silent(result)
# factor input - a_summary
result <- a_summary(x = x, .N_row = 10, .N_col = 10)
res <- testthat::expect_silent(result)
testthat::expect_identical(res_out, res)
testthat::expect_snapshot(res)
# character input - a_summary
x <- c("A", "B", "A", "C")
result <- a_summary(
x = x, .N_col = 10, .N_row = 10, .var = "x", .df_row = NULL, .ref_group = NULL, .in_ref_col = FALSE,
compare = FALSE, .stats = get_stats("analyze_vars_counts"),
na.rm = TRUE, na_str = default_na_str(),
verbose = FALSE
)
res_out <- testthat::expect_silent(result)
# character input - a_summary
result <- a_summary(x = x, .var = "x", .N_col = 10, .N_row = 10, verbose = FALSE)
res <- testthat::expect_silent(result)
testthat::expect_identical(res_out, res)
testthat::expect_snapshot(res)
# logical input - a_summary
x <- c(TRUE, FALSE, FALSE, TRUE, TRUE)
result <- a_summary(
x = x, .N_col = 10, .N_row = 10, .var = NULL, .df_row = NULL, .ref_group = NULL, .in_ref_col = FALSE,
compare = FALSE, .stats = get_stats("analyze_vars_counts"),
na.rm = TRUE, na_str = default_na_str()
)
res_out <- testthat::expect_silent(result)
# logical input - a_summary
result <- a_summary(x = x, .N_row = 10, .N_col = 10)
res <- testthat::expect_silent(result)
testthat::expect_identical(res_out, res)
testthat::expect_snapshot(res)
})
testthat::test_that("a_summary works with custom input.", {
options("width" = 100)
result <- a_summary(
rnorm(10),
.N_col = 10, .N_row = 20, control_analyze_vars(conf_level = 0.90), .stats = c("sd", "median_ci"),
.formats = c(sd = "xx.", median_ci = "xx.xx - xx.xx"), .labels = c(sd = "std. dev"), .indent_mods = 3L
)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
result <- a_summary(
factor(c("a", "a", "b", "c", NA)),
.N_row = 10, .N_col = 10, .formats = c(n = "xx.xx"),
.labels = c(n = "number of records"), .indent_mods = c(n = -1L, count = 5L), na.rm = FALSE
)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("a_summary works with healthy input when compare = TRUE.", {
options("width" = 100)
# numeric input
set.seed(1)
result <- a_summary(rnorm(10, 5, 1), .ref_group = rnorm(20, -5, 1), .var = "bla", compare = TRUE)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
# factor input
result <- a_summary(
factor(c("a", "a", "b", "c", "a")),
.ref_group = factor(c("a", "a", "b", "c")), compare = TRUE
)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
# character input
result <- a_summary(c("A", "B", "A", "C"), .ref_group = c("B", "A", "C"), .var = "x", compare = TRUE, verbose = FALSE)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
# logical input
result <- a_summary(c(TRUE, FALSE, FALSE, TRUE, TRUE), .ref_group = c(TRUE, FALSE), compare = TRUE)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("a_summary works with custom input when compare = TRUE.", {
options("width" = 100)
result <- a_summary(
rnorm(10),
.ref_group = rnorm(20, -5, 1), .N_col = 10, .N_row = 20, control_analyze_vars(conf_level = 0.90),
.stats = c("pval", "median_ci"), .formats = c(median_ci = "xx.xx - xx.xx"), .labels = c(pval = "pvalue"),
.indent_mods = 3L, compare = TRUE
)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
result <- a_summary(
factor(c("a", "a", "b", "c", NA)),
.ref_group = factor(c("a", "a", "b", "c")), .N_row = 10, .N_col = 10,
.formats = c(n = "xx.xx"), .labels = c(n = "number of records"), .indent_mods = c(n = -1L, count = 5L),
na.rm = FALSE, compare = TRUE
)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("`analyze_vars` works with healthy input, default `na.rm = TRUE`.", {
dta_test <- data.frame(AVAL = c(1:4, NA, NA))
l <- basic_table() %>%
analyze_vars(vars = "AVAL")
result <- build_table(l, df = dta_test)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("`analyze_vars` works with healthy input, and control function.", {
dta_test <- data.frame(AVAL = c(1:9))
l <- basic_table() %>%
analyze_vars(
vars = "AVAL",
control = control_analyze_vars(quantiles = c(0.1, 0.9), conf_level = 0.9),
.stats = c("n", "mean_sd", "mean_se", "mean_ci", "quantiles")
)
result <- build_table(l, df = dta_test)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("`analyze_vars` works with healthy input, alternative `na.rm = FALSE`", {
dta_test <- data.frame(AVAL = c(1:4, NA, NA))
l <- basic_table() %>%
analyze_vars(vars = "AVAL", na.rm = FALSE)
result <- build_table(l, df = dta_test)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("`analyze_vars` works with healthy factor input", {
dta <- data.frame(foo = factor(c("a", "b", "a")))
result <- basic_table() %>%
analyze_vars(vars = "foo") %>%
build_table(dta)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("`analyze_vars` works with healthy factor input, alternative `na.rm = FALSE`", {
dta <- data.frame(foo = factor(c("a", NA, "b", "a", NA)))
result <- basic_table() %>%
analyze_vars(vars = "foo", na.rm = FALSE) %>%
build_table(dta)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
dta <- df_explicit_na(dta)
result <- basic_table() %>%
analyze_vars(vars = "foo", na.rm = FALSE) %>%
build_table(dta)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("`analyze_vars` works with factors and different denominators", {
start <- basic_table() %>%
split_cols_by("ARM") %>%
add_colcounts() %>%
split_rows_by("SEX", split_fun = drop_split_levels) %>%
add_rowcounts()
result_n <- start %>%
analyze_vars("RACE", denom = "n") %>%
build_table(DM)
result_ncol <- start %>%
analyze_vars("RACE", denom = "N_col") %>%
build_table(DM)
result <- start %>%
analyze_vars("RACE", denom = "N_row") %>%
build_table(DM)
testthat::expect_false(identical(result_n, result_ncol))
testthat::expect_false(identical(result_n, result))
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("analyze_vars works in demographic table example", {
result <- basic_table() %>%
split_cols_by("ARM") %>%
split_rows_by("RACE") %>%
analyze_vars("COUNTRY", .stats = "count_fraction") %>%
build_table(DM)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("`analyze_vars` works with character input and gives the same result as with factor", {
dta <- data.frame(
foo = c("a", "b", "a"),
stringsAsFactors = FALSE
)
l <- basic_table() %>%
analyze_vars(vars = "foo")
testthat::expect_warning(result <- build_table(l, dta))
dta_factor <- dta %>%
dplyr::mutate(foo = factor(foo))
expected <- build_table(l, dta_factor)
testthat::expect_identical(result, expected)
})
testthat::test_that("`analyze_vars` does not work with sparse character input due to missing statistics", {
dta <- data.frame(
foo = c("a", "b", "a"),
boo = c("e", "e", "f"),
stringsAsFactors = FALSE
)
l <- basic_table() %>%
split_cols_by("boo") %>%
analyze_vars(vars = "foo")
suppressWarnings(testthat::expect_error(testthat::expect_warning(build_table(l, dta))))
# But when converting to factor, it works because we keep the levels information across columns.
dta_factor <- dta %>%
dplyr::mutate(foo = factor(foo))
testthat::expect_silent(build_table(l, dta_factor))
})
testthat::test_that("`analyze_vars` works with logical input", {
dta <- data.frame(
boo = c(TRUE, FALSE, FALSE, TRUE, TRUE)
)
result <- basic_table() %>%
analyze_vars(vars = "boo") %>%
build_table(dta)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("`analyze_vars` works with healthy logical input, alternative `na.rm = FALSE`", {
dta <- data.frame(foo = factor(c(TRUE, NA, FALSE, TRUE, NA)))
result <- basic_table() %>%
analyze_vars(vars = "foo", na.rm = FALSE) %>%
build_table(dta)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
dta <- df_explicit_na(dta)
result <- basic_table() %>%
analyze_vars(vars = "foo", na.rm = FALSE) %>%
build_table(dta)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("`analyze_vars` works with empty named numeric variables", {
dta <- tibble::tibble(
foo = factor(c("a", "a", "b", "b", "c", "c"), levels = c("a", "b", "c")),
boo = 1:6
)
dta <- dta %>% dplyr::filter(foo != "a")
names(dta$boo) <- dta$foo
result <- basic_table() %>%
split_cols_by("foo") %>%
analyze_vars(vars = "boo") %>%
build_table(dta)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("analyze_vars 'na_str' argument works as expected", {
dta <- data.frame(
USUBJID = rep(1:6, each = 3),
AVISIT = rep(paste0("V", 1:3), 6),
ARM = rep(LETTERS[1:3], rep(6, 3)),
AVAL = c(9:1, rep(NA, 9))
)
result <- basic_table() %>%
split_cols_by(var = "ARM") %>%
split_rows_by(var = "AVISIT") %>%
analyze_vars(vars = "AVAL", na_str = "-") %>%
build_table(dta)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("control_analyze_vars works with customized parameters", {
result <- control_analyze_vars(
conf_level = 0.9,
quantiles = c(0.1, 0.9)
)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("control_analyze_vars fails wrong inputs", {
testthat::expect_error(control_analyze_vars(quantiles = c(25, 75)))
testthat::expect_error(control_analyze_vars(conf_level = 95))
})
testthat::test_that("analyze_vars works correctly with auto formats", {
dt <- data.frame("VAR" = c(0.001, 0.2, 0.0011000, 3, 4))
res <- basic_table() %>%
analyze_vars(
vars = "VAR",
.stats = c("n", "mean", "mean_sd", "range"),
.formats = c("mean_sd" = "auto", "range" = "auto")
) %>%
build_table(dt)
result <- testthat::expect_silent(res)
testthat::expect_snapshot(res)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.