Nothing
testthat::test_that("s_count_occurrences functions as expected with valid input and default arguments", {
df <- data.frame(
USUBJID = as.character(c(1, 1, 2, 4, 4, 4)),
MHDECOD = c("MH1", "MH2", "MH1", "MH1", "MH1", "MH3")
)
result <- s_count_occurrences(df = df, .N_col = 4L, .df_row = df)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("s_count_occurrences drops non appearing levels by default", {
df <- data.frame(
USUBJID = as.character(c(1, 1, 2, 4, 4, 4)),
MHDECOD = factor(
c("MH1", "MH2", "MH1", "MH1", "MH1", "MH3"),
levels = c("MH1", "MH2", "MH3", "MHX")
)
)
result <- s_count_occurrences(df = df, .N_col = 4L, .df_row = df)
testthat::expect_false("MHX" %in% c(names(result$count), names(result$count_fraction), names(result$fraction)))
})
testthat::test_that("s_count_occurrences keeps non appearing levels if requested", {
df <- data.frame(
USUBJID = as.character(c(1, 1, 2, 4, 4, 4)),
MHDECOD = factor(
c("MH1", "MH2", "MH1", "MH1", "MH1", "MH3"),
levels = c("MH1", "MH2", "MH3", "MHX")
)
)
result <- s_count_occurrences(df = df, .N_col = 4L, .df_row = df, drop = FALSE)
testthat::expect_true("MHX" %in% names(result$count))
testthat::expect_true("MHX" %in% names(result$count_fraction))
testthat::expect_true("MHX" %in% names(result$fraction))
})
testthat::test_that("s_count_occurrences fails when it receives empty .df_row and drop = TRUE", {
df <- data.frame(
USUBJID = as.character(c(1, 1, 2, 4, 4, 4)),
MHDECOD = factor(
c("MH1", "MH2", "MH1", "MH1", "MH1", "MH3"),
levels = c("MH1", "MH2", "MH3", "MHX")
)
)
df_sub <- df[df$USUBJID == "5", ]
testthat::expect_error(s_count_occurrences(
df = df_sub,
.N_col = 4L,
.df_row = df_sub,
drop = TRUE
))
})
testthat::test_that("s_count_occurrences functions as expected when requesting different denominator", {
df <- data.frame(
USUBJID = as.character(c(1, 1, 2, 4, 4, 4)),
MHDECOD = c("MH1", "MH2", "MH1", "MH1", "MH1", "MH3")
)
result <- s_count_occurrences(df = df, denom = "n", .N_col = 4L, .df_row = df)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("a_count_occurrences works with healthy input.", {
options("width" = 100)
# factor input
df <- data.frame(
id = factor(1:5),
x = factor(c("a", "a", "b", "c", "a"))
)
result <- a_count_occurrences(
df = df, .N_col = 10, .stats = get_stats("count_occurrences"), .var = "x", id = "id", .df_row = df
)
res_out <- testthat::expect_silent(result)
# character input
df <- data.frame(
id = factor(1:5),
x = c("a", "a", "b", "c", "a")
)
result <- a_count_occurrences(
df = df, .N_col = 10, .stats = get_stats("count_occurrences"), .var = "x", id = "id", .df_row = df
)
res_out <- testthat::expect_silent(result)
})
testthat::test_that("a_count_occurrences works with custom input.", {
options("width" = 100)
df <- data.frame(
id = factor(1:5),
x = factor(c("a", "a", "b", "c", "a"), levels = c("a", "b", "c", "d"))
)
result <- a_count_occurrences(
df = df, .df_row = df, .var = "x", id = "id", .N_col = 5,
.stats = c("count", "count_fraction"), drop = FALSE,
.formats = c(count_fraction = "xx (xx%)"),
.labels = c(a = "Level: a", b = "LVL B", count.c = "Count of c", d = "Missing D"),
.indent_mods = list(a = 1L, b = 2L, count.d = 3L)
)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("count_occurrences functions as expected with valid input and default arguments", {
df <- data.frame(
USUBJID = as.character(c(1, 1, 2, 4, 4, 4, 6, 6, 6, 7, 7, 8)),
MHDECOD = factor(
c("MH1", "MH2", "MH1", "MH1", "MH1", "MH3", "MH2", "MH2", "MH3", "MH1", "MH2", "MH4"),
levels = c("MH1", "MH2", "MH3", "MH4", "MHX")
),
ARM = rep(c("A", "B"), each = 6)
)
df_adsl <- data.frame(
USUBJID = 1:9,
ARM = rep(c("A", "B"), c(5, 4))
)
lyt <- basic_table() %>%
split_cols_by("ARM") %>%
add_colcounts() %>%
count_occurrences(vars = "MHDECOD")
result <- lyt %>%
build_table(df, alt_counts_df = df_adsl)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("count_occurrences functions as expected with label row specified", {
df <- data.frame(
USUBJID = as.character(c(1, 4, 4, 6, 6, 6, 7, 7, 8)),
MHDECOD = factor(
c("MH1", "MH2", "MH1", "MH1", "MH1", "MH1", "MH2", "MH1", "MH2"),
levels = c("MH1", "MH2")
)
)
df_adsl <- data.frame(
USUBJID = 1:9
)
lyt <- basic_table() %>%
count_occurrences(
vars = "MHDECOD",
var_labels = "MH Term",
show_labels = "visible"
)
result <- lyt %>%
build_table(df, alt_counts_df = df_adsl)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("count_occurrences works as expected with risk difference column", {
# One statistic
result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARM", split_fun = add_riskdiff("A: Drug X", "B: Placebo")) %>%
count_occurrences(
vars = "AEDECOD",
riskdiff = TRUE
) %>%
build_table(tern_ex_adae)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
# Multiple statistics, different id var
result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARM", split_fun = add_riskdiff("A: Drug X", "B: Placebo")) %>%
count_occurrences(
vars = "AEDECOD",
riskdiff = TRUE,
.stats = c("count", "count_fraction_fixed_dp", "fraction"),
id = "SITEID"
) %>%
build_table(tern_ex_adae)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
# Nested column splits
result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("SEX") %>%
split_cols_by("ARM", split_fun = add_riskdiff("A: Drug X", "B: Placebo")) %>%
count_occurrences(
vars = "AEDECOD",
riskdiff = TRUE
) %>%
build_table(tern_ex_adae)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("summarize_occurrences functions as expected with valid input and default arguments", {
df <- data.frame(
USUBJID = as.character(c(1, 1, 2, 4, 4, 4, 6, 6, 6, 7, 7, 8)),
MHDECOD = factor(
c("MH1", "MH2", "MH1", "MH1", "MH1", "MH3", "MH2", "MH2", "MH3", "MH1", "MH2", "MH4"),
levels = c("MH1", "MH2", "MH3", "MH4", "MHX")
),
ARM = rep(c("A", "B"), each = 6),
SEX = c("F", "F", "M", "M", "M", "M", "F", "F", "F", "M", "M", "F")
)
df_adsl <- data.frame(
USUBJID = 1:9,
ARM = rep(c("A", "B"), c(5, 4))
)
lyt <- basic_table() %>%
split_cols_by("ARM") %>%
split_rows_by("SEX", child_labels = "visible") %>%
add_colcounts() %>%
summarize_occurrences(var = "MHDECOD")
result <- lyt %>%
build_table(df, alt_counts_df = df_adsl)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
})
testthat::test_that("summarize_occurrences works as expected with risk difference column", {
# One statistic
result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARM", split_fun = add_riskdiff("A: Drug X", "B: Placebo")) %>%
split_rows_by("SEX", child_labels = "visible") %>%
summarize_occurrences(
var = "BMRKR2",
riskdiff = TRUE
) %>%
build_table(tern_ex_adae)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
# Multiple statistics, different id var
result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARM", split_fun = add_riskdiff("A: Drug X", "B: Placebo")) %>%
split_rows_by("SEX", child_labels = "visible") %>%
summarize_occurrences(
var = "BMRKR2",
riskdiff = TRUE,
.stats = c("count", "count_fraction_fixed_dp", "fraction"),
id = "SITEID"
) %>%
build_table(tern_ex_adae)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
# Nested column splits
result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("STRATA1") %>%
split_cols_by("ARM", split_fun = add_riskdiff("A: Drug X", "B: Placebo")) %>%
split_rows_by("SEX", child_labels = "visible") %>%
summarize_occurrences(
var = "BMRKR2",
riskdiff = TRUE
) %>%
build_table(tern_ex_adae)
res <- testthat::expect_silent(result)
testthat::expect_snapshot(res)
# Multiple comparison groups
result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARM", split_fun = add_riskdiff("A: Drug X", c("B: Placebo", "C: Combination"))) %>%
split_rows_by("SEX", child_labels = "visible") %>%
summarize_occurrences(
var = "BMRKR2",
riskdiff = TRUE
) %>%
build_table(tern_ex_adae)
res <- testthat::expect_silent(result)
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.