library(tibble) test_that("pad argument works as expected", { mtcars2 <- mtcars %>% rownames_to_column(var = "USUBJID") %>% mutate(cyl = as.factor(cyl)) mtcars2 <- mtcars2 %>% filter(cyl != 8) t1 <- freq( mtcars2, colvar = "gear", rowvar = "cyl" ) t2 <- freq( mtcars2, colvar = "gear", rowvar = "cyl", pad = FALSE ) t3 <- freq( mtcars2, colvar = "gear", rowvar = "cyl", rowbyvar = "am", pad = FALSE ) expected <- tibble::tribble( ~label, ~X3, ~X4, ~X5, ~row_type, ~group_level, "4", "1 (33.3)", "8 (66.7)", "2 (66.7)", "VALUE", 0, "6", "2 (66.7)", "4 (33.3)", "1 (33.3)", "VALUE", 0, "8", "0", "0", "0", "VALUE", 0 ) expect_equal(t1, expected, ignore_attr = TRUE) expected <- tibble::tribble( ~label, ~X3, ~X4, ~X5, ~row_type, ~group_level, "4", "1 (33.3)", "8 (66.7)", "2 (66.7)", "VALUE", 0, "6", "2 (66.7)", "4 (33.3)", "1 (33.3)", "VALUE", 0 ) expect_equal(t2, expected, ignore_attr = TRUE) expected <- tibble::tribble( ~label, ~X3, ~X4, ~X5, ~row_type, ~group_level, ~am, "0", "", "", "", "BY_HEADER1", 0, "0", "4", "1 (33.3)", "2 (50.0)", "-", "VALUE", 0, "0", "6", "2 (66.7)", "2 (50.0)", "-", "VALUE", 0, "0", "1", "", "", "", "BY_HEADER1", 0, "1", "4", "-", "6 (75.0)", "2 (66.7)", "VALUE", 0, "1", "6", "-", "2 (25.0)", "1 (33.3)", "VALUE", 0, "1" ) expected$am <- factor(expected$am) expect_equal(t3, expected, ignore_attr = TRUE) })