Nothing
test_that("ard_stack() works", {
# with by variable
expect_error(
ard1 <- ard_stack(
data = mtcars,
.by = "cyl",
ard_continuous(variables = "mpg"),
ard_dichotomous(variables = "vs")
),
NA
)
expect_equal(
ard1,
bind_ard(
ard_continuous(data = mtcars, by = "cyl", variables = "mpg"),
ard_dichotomous(data = mtcars, by = "cyl", variables = "vs"),
ard_categorical(data = mtcars, variables = "cyl"),
.order = TRUE
),
ignore_function_env = TRUE
)
# check equivalency NSE
expect_equal(
ard1,
ard_stack(
data = mtcars,
.by = cyl,
ard_continuous(variables = mpg),
ard_dichotomous(variables = vs)
),
ignore_function_env = TRUE
)
# check equivalency tidyselect
mtcars2 <- mtcars
by <- "cyl"
var_cont <- "mpg"
var_cat <- "vs"
expect_equal(
ard1,
ard_stack(
data = mtcars2,
.by = all_of(by),
ard_continuous(variables = all_of(var_cont)),
ard_dichotomous(variables = all_of(var_cat))
)
)
# without by variable
expect_error(
ard2 <- ard_stack(
data = mtcars,
.by = NULL,
ard_continuous(variables = "mpg"),
ard_dichotomous(variables = "vs")
),
NA
)
expect_equal(
ard2,
bind_ard(
ard_continuous(data = mtcars, variables = "mpg"),
ard_dichotomous(data = mtcars, variables = "vs"),
.order = TRUE
),
ignore_function_env = TRUE
)
expect_equal(
ard2,
ard_stack(
data = mtcars2,
ard_continuous(variables = all_of(var_cont)),
ard_dichotomous(variables = all_of(var_cat))
)
)
})
test_that("ard_stack() adding overalls", {
expect_error(
ard_test <- ard_stack(
data = mtcars,
.by = "cyl",
ard_continuous(variables = "mpg"),
ard_dichotomous(variables = "vs"),
.overall = TRUE
),
NA
)
expect_equal(
ard_test,
bind_ard(
ard_continuous(data = mtcars, by = "cyl", variables = "mpg"),
ard_dichotomous(data = mtcars, by = "cyl", variables = "vs"),
ard_categorical(data = mtcars, variables = "cyl"),
ard_continuous(data = mtcars, variables = "mpg"),
ard_dichotomous(data = mtcars, variables = "vs"),
.update = TRUE,
.order = TRUE
)
)
})
test_that("ard_stack() adding missing/attributes", {
expect_error(
ard_test <- ard_stack(
data = mtcars,
.by = "cyl",
ard_continuous(variables = "mpg"),
ard_dichotomous(variables = "vs"),
.missing = TRUE,
.attributes = TRUE
),
NA
)
expect_equal(
ard_test,
bind_ard(
ard_continuous(data = mtcars, by = "cyl", variables = "mpg"),
ard_dichotomous(data = mtcars, by = "cyl", variables = "vs"),
ard_categorical(data = mtcars, variables = "cyl"),
ard_missing(data = mtcars, by = "cyl", variables = c("mpg", "vs")),
ard_attributes(mtcars, variables = c("cyl", "mpg", "vs")),
.update = TRUE,
.order = TRUE
)
)
# including `.overall=TRUE`
expect_error(
ard_test_overall <- ard_stack(
data = mtcars,
.by = "cyl",
ard_continuous(variables = "mpg"),
ard_dichotomous(variables = "vs"),
.missing = TRUE,
.overall = TRUE,
.attributes = TRUE
),
NA
)
expect_equal(
ard_test_overall,
bind_ard(
ard_continuous(data = mtcars, by = "cyl", variables = "mpg"),
ard_dichotomous(data = mtcars, by = "cyl", variables = "vs"),
ard_missing(data = mtcars, by = "cyl", variables = c("mpg", "vs")),
ard_continuous(data = mtcars, variables = "mpg"),
ard_dichotomous(data = mtcars, variables = "vs"),
ard_missing(data = mtcars, variables = c("mpg", "vs")),
ard_categorical(data = mtcars, variables = "cyl"),
ard_attributes(mtcars, variables = c("cyl", "mpg", "vs")),
.update = TRUE,
.order = TRUE
)
)
})
test_that("ard_stack() .shuffle argument", {
expect_error(
ard_test <- ard_stack(
data = mtcars,
.by = "cyl",
ard_continuous(variables = "mpg"),
ard_dichotomous(variables = "vs"),
.shuffle = TRUE
),
NA
)
expect_equal(
ard_test,
bind_ard(
ard_continuous(data = mtcars, by = "cyl", variables = "mpg"),
ard_dichotomous(data = mtcars, by = "cyl", variables = "vs"),
ard_categorical(data = mtcars, variables = "cyl"),
.order = TRUE
) |>
shuffle_ard()
)
# with overalls
expect_error(
ard_test <- ard_stack(
data = mtcars,
.by = "cyl",
ard_continuous(variables = "mpg"),
ard_dichotomous(variables = "vs"),
.shuffle = TRUE,
.overall = TRUE
),
NA
)
expect_equal(
ard_test,
bind_ard(
ard_continuous(data = mtcars, by = "cyl", variables = "mpg"),
ard_dichotomous(data = mtcars, by = "cyl", variables = "vs"),
ard_categorical(data = mtcars, variables = "cyl"),
ard_continuous(data = mtcars, variables = "mpg"),
ard_dichotomous(data = mtcars, variables = "vs"),
.order = TRUE
) |>
shuffle_ard()
)
})
test_that("ard_stack() adding total N", {
expect_equal(
ard_stack(
mtcars,
.by = am,
ard_continuous(variables = mpg),
.total_n = TRUE
) |>
tail(n = 1) |>
dplyr::select(-all_ard_groups(), -all_ard_variables("levels")),
ard_total_n(mtcars)
)
})
test_that("ard_stack() works with namespaced functions", {
expect_equal(
ard_stack(
data = mtcars,
cards::ard_continuous(variables = "mpg")
),
ard_stack(
data = mtcars,
ard_continuous(variables = "mpg")
)
)
})
test_that("ard_stack() messaging", {
withr::local_options(list(width = 150))
expect_snapshot(
ard_stack(
data = mtcars,
ard_continuous(variables = "mpg"),
.overall = TRUE
) |>
head(1L)
)
# by argument doesn't include period in front
expect_snapshot(
error = TRUE,
ard_stack(ADSL, by = "ARM", ard_continuous(variables = AGE))
)
})
test_that("ard_stack() complex call error", {
withr::local_options(list(width = 150))
expect_snapshot(
{
complex_call <- list()
complex_call$ard_continuous <- ard_continuous
ard_stack(
data = mtcars,
.by = am,
complex_call$ard_continuous(variables = "mpg"),
)
},
error = TRUE
)
})
test_that("ard_stack() follows ard structure", {
expect_silent(
ard_stack(
data = mtcars,
.by = "cyl",
ard_continuous(variables = "mpg"),
ard_dichotomous(variables = "vs")
) |>
check_ard_structure(method = FALSE)
)
})
test_that("ard_stack(.by) messaging", {
withr::local_options(list(width = 150))
mtcars2 <- mtcars
mtcars2$am[1] <- NA
mtcars2$vs[1] <- NA
expect_snapshot(
mtcars2 |>
ard_stack(
ard_continuous(variables = "mpg", statistic = ~ continuous_summary_fns("N")),
.by = c(am, vs),
.total_n = TRUE,
.overall = TRUE
) |>
dplyr::filter(stat_name %in% "N")
)
mtcars3 <- mtcars
mtcars3$am[1] <- NA
mtcars3$vs[2] <- NaN
expect_snapshot(
mtcars3 |>
ard_stack(
ard_continuous(variables = "mpg", statistic = ~ continuous_summary_fns("N")),
.by = c(am, vs),
.total_n = TRUE,
.overall = TRUE
) |>
dplyr::filter(stat_name %in% "N")
)
})
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.