tests/testthat/test-univar_rowtext.R

test_that("rowtext works as expected for univar tables", {

  expected <- tibble::tribble(
    ~label,              ~X3,              ~X4,              ~X5, ~row_type, ~group_level,
    "Miles per Gal",               "",               "",               "",  "HEADER",            0,
    "N",             "15",             "12",              "5",       "N",            0,
    "Mean (SD)",  "16.11 (3.372)",  "24.53 (5.277)",  "21.38 (6.659)",   "VALUE",            0,
    "Median",          "15.50",          "22.80",          "19.70",   "VALUE",            0,
    "Range",   "(10.4; 21.5)",   "(17.8; 33.9)",   "(15.0; 30.4)",   "VALUE",            0,
    "IQ range", "(14.30; 18.70)", "(21.00; 28.85)", "(15.80; 26.00)",   "VALUE",            0
  )

  expect_equal(
      mtcars %>%
        univar(
          colvar = "gear",
          rowvar = "mpg",
          row_header = "Miles per Gal"
        ),
      expected,
      ignore_attr = TRUE
  )

  expected <- tibble::tribble(
    ~label,     ~X3,     ~X4,     ~X5, ~row_type, ~group_level,
    "Mean label", "16.11", "24.53", "21.38",   "VALUE",            0
  )

  expect_equal(
      mtcars %>%
        univar(
          colvar = "gear",
          rowvar = "mpg",
          rowtext = "Mean label",
          statlist = statlist("MEAN")
        ),
      expected,
      ignore_attr = TRUE
  )

  expected <- tibble::tribble(
    ~cyl,                 ~label,     ~X3,     ~X4,     ~X5, ~row_type, ~group_level,
    "4", "Multiple Mean Labels", "21.50", "26.93", "28.20",   "VALUE",            0,
    "6", "Multiple Mean Labels", "19.75", "19.75", "19.70",   "VALUE",            0,
    "8", "Multiple Mean Labels", "15.05",     "-", "15.40",   "VALUE",            0
  )

  expect_equal(
      mtcars %>%
        univar(
          colvar = "gear",
          rowvar = "mpg",
          rowtext = "Multiple Mean Labels",
          tablebyvar = "cyl",
          statlist = statlist("MEAN")
        ),
      expected,
      ignore_attr = TRUE
  )

})

Try the tidytlg package in your browser

Any scripts or data that you put into this service are public.

tidytlg documentation built on June 22, 2024, 10:43 a.m.