Nothing
testthat::test_that("crosstable", {
library(saros)
testthat::expect_no_error(object = {
x <-
ex_survey |>
saros:::crosstable.data.frame(
dep = paste0("b_", 1:3),
indep = NULL, showNA = "ifany"
)
})
testthat::expect_equal(dim(x), c(9, 14))
testthat::expect_equal(
object =
x |>
dplyr::filter(.variable_name == "b_1", .category == "A bit") |>
dplyr::pull(.proportion),
expected = 0.4766667,
tolerance = .00001
)
testthat::expect_no_error(object = {
x <-
ex_survey |>
saros:::crosstable.data.frame(
dep = paste0("b_", 1:3),
indep = "x1_sex",
showNA = "ifany"
)
})
testthat::expect_equal(dim(x), c(18, 15))
testthat::expect_equal(
object =
x |>
dplyr::filter(
.variable_name == "b_1",
.category == "A lot",
x1_sex == "Males"
) |>
dplyr::pull(.proportion),
expected = 0.1059603,
tolerance = .0001
)
})
testthat::test_that("crosstable works with explicit NA level", {
library(saros)
testthat::expect_no_error(object = {
x <-
ex_survey |>
dplyr::mutate(dplyr::across(p_1:p_4, ~ forcats::fct_na_value_to_level(.x))) |>
saros:::crosstable.data.frame(
dep = paste0("p_", 1:4),
indep = "x1_sex", showNA = "ifany"
)
})
testthat::expect_equal(dim(x), c(34, 15))
})
testthat::test_that("crosstable works with dep and indep having nothing in common and showNA='never'", {
library(saros)
testthat::expect_no_error(object = {
x <-
tibble::tibble(.rows = 100) |>
dplyr::mutate(
A = factor(sample(c(letters[1:5], NA), replace = T, size = 100)),
B = factor(ifelse(!is.na(A), NA, sample(letters[1:2], replace = TRUE, size = 100)))
) |>
saros:::crosstable.data.frame(
dep = "A",
indep = "B", showNA = "never"
)
})
testthat::expect_equal(dim(x), c(1, 15))
})
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.