Nothing
data(efc)
test_that("data_tabulate factor", {
x <- data_tabulate(efc$e42dep)
expect_identical(as.vector(x$Value), as.vector(sort(unique(
addNA(efc$e42dep)
))))
expect_identical(x$N, as.vector(table(addNA(efc$e42dep))))
expect_identical(x$`Valid %`,
as.vector(c(
100 * table(efc$e42dep) / sum(!is.na(efc$e42dep)), NA
)),
ignore_attr = TRUE,
tolerance = 1e-3
)
})
test_that("data_tabulate numeric", {
x <- data_tabulate(efc$neg_c_7)
expect_identical(as.vector(x$Value), as.vector(sort(unique(
addNA(efc$neg_c_7)
))))
expect_identical(x$N, as.vector(table(addNA(efc$neg_c_7))))
expect_identical(x$`Valid %`,
as.vector(c(
100 * table(efc$neg_c_7) / sum(!is.na(efc$neg_c_7)), NA
)),
ignore_attr = TRUE,
tolerance = 1e-3
)
})
test_that("data_tabulate data.frame", {
x <- data_tabulate(efc, c("e16sex", "c172code"))
expect_s3_class(x, "list")
expect_length(x, 2L)
expect_identical(
attributes(x[[1]]),
list(
names = c(
"Variable", "Value", "N", "Raw %", "Valid %",
"Cumulative %"
),
class = c("dw_data_tabulate", "data.frame"),
row.names = 1:3,
type = "numeric",
varname = "e16sex",
label = "elder's gender",
object = "e16sex",
duplicate_varnames = c(FALSE, TRUE, TRUE),
total_n = 100L,
valid_n = 100L
)
)
expect_identical(
attributes(x[[2]]),
list(
names = c(
"Variable", "Value", "N", "Raw %", "Valid %",
"Cumulative %"
),
class = c("dw_data_tabulate", "data.frame"),
row.names = 1:4,
type = "numeric",
varname = "c172code",
label = "carer's level of education",
object = "c172code",
duplicate_varnames = c(FALSE, TRUE, TRUE, TRUE),
total_n = 100L,
valid_n = 90L
)
)
table1 <- x[[1]]
expect_identical(as.vector(table1$Value), as.character(c(sort(
unique(efc$e16sex)
), NA)))
expect_identical(table1$N, as.vector(table(addNA(efc$e16sex))))
expect_identical(table1$`Valid %`,
as.vector(c(
100 * table(efc$e16sex) / sum(!is.na(efc$e16sex)), NA
)),
ignore_attr = TRUE,
tolerance = 1e-3
)
})
test_that("data_tabulate print", {
set.seed(123)
x <- sample(1:3, 1e6, TRUE)
out <- data_tabulate(x, name = "Large Number")
expect_identical(
attributes(out),
list(
names = c("Variable", "Value", "N", "Raw %", "Valid %", "Cumulative %"),
class = c("dw_data_tabulate", "data.frame"),
row.names = 1:4,
type = "integer",
varname = "Large Number",
object = "x",
duplicate_varnames = c(FALSE, TRUE, TRUE, TRUE),
total_n = 1000000L,
valid_n = 1000000L
)
)
})
test_that("data_tabulate print", {
expect_snapshot(data_tabulate(efc$e42dep))
})
test_that("data_tabulate print multiple", {
expect_snapshot(data_tabulate(efc, c("c172code", "e16sex")))
})
test_that("data_tabulate big numbers", {
set.seed(123)
x <- sample(1:5, size = 1e7, TRUE)
expect_snapshot(data_tabulate(x))
expect_snapshot(print(data_tabulate(x), big_mark = "-"))
})
test_that("data_tabulate print multiple, collapse", {
skip_if_not(packageVersion("insight") > "0.17.0", "insight must be >= 0.17.0")
expect_snapshot(data_tabulate(efc, c("c172code", "e16sex"), collapse = TRUE))
})
test_that("data_tabulate grouped data.frame", {
skip_if_not_installed("poorman")
x <- data_tabulate(poorman::group_by(efc, e16sex), "c172code")
expect_s3_class(x, "list")
expect_length(x, 2L)
expect_identical(
attributes(x[[1]]),
list(
names = c(
"Variable",
"Group",
"Value",
"N",
"Raw %",
"Valid %",
"Cumulative %"
),
class = c("dw_data_tabulate", "data.frame"),
row.names = 1:4,
type = "numeric",
varname = "c172code",
label = "carer's level of education",
object = "c172code",
group_variable = structure(
list(e16sex = 1),
.drop = TRUE,
row.names = 1L,
class = "data.frame"
),
duplicate_varnames = c(FALSE, TRUE, TRUE, TRUE),
total_n = 46L,
valid_n = 41L
)
)
table1 <- x[[1]]
expect_identical(as.vector(table1$Value), as.character(c(sort(
unique(efc$c172code)
), NA)))
expect_identical(table1$N, as.vector(table(addNA(efc$c172code[efc$e16sex == 1]))))
expect_identical(table1$`Valid %`,
as.vector(c(
100 * table(efc$c172code[efc$e16sex == 1]) / sum(!is.na(efc$c172code[efc$e16sex == 1])), NA
)),
ignore_attr = TRUE,
tolerance = 1e-3
)
})
test_that("data_tabulate print grouped data", {
skip_if_not_installed("poorman")
expect_snapshot(data_tabulate(poorman::group_by(efc, e16sex), "c172code"))
})
test_that("data_tabulate print, collapse groups", {
skip_if_not_installed("poorman")
expect_snapshot(
data_tabulate(poorman::group_by(efc, e16sex), "c172code", collapse = TRUE)
)
})
test_that("data_tabulate print, collapse groups, drop levels", {
skip_if_not_installed("poorman")
expect_snapshot(
data_tabulate(
poorman::group_by(efc, e16sex),
"e42dep",
collapse = TRUE,
drop_levels = TRUE
)
)
})
# select helpers ------------------------------
test_that("data_tabulate regex", {
expect_identical(
data_tabulate(mtcars, select = "arb", regex = TRUE),
data_tabulate(mtcars, select = "carb")
)
})
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.