Nothing
t1 <- univar(mtcars,
colvar = "gear",
rowvar = "wt")
t2 <- univar(mtcars,
colvar = "gear",
rowvar = "wt",
decimal = 1,
precisionon = "wt",
statlist = statlist(c("N","SUM","MEAN","GeoMEAN","SD","SE","CV","GSD","GSE",
"MEANSD","MEANSE","MEDIAN","MIN","MAX","RANGE","Q1","Q3",
"IQRANGE","MEDRANGE","MEDIQRANGE","MEAN_CI","GeoMEAN_CI")))
t3 <- univar(mtcars,
colvar = "gear",
rowvar = "wt",
tablebyvar = "vs",
statlist = statlist(c("N","SUM","MEAN","GeoMEAN","SD","SE","CV","GSD","GSE",
"MEANSD","MEANSE","MEDIAN","MIN","MAX","RANGE","Q1","Q3",
"IQRANGE","MEDRANGE","MEDIQRANGE","MEAN_CI","GeoMEAN_CI")),
precisionby = c("vs"),
decimal = 3)
t4 <- univar(mtcars,
colvar = "gear",
rowvar = "wt",
rowbyvar = "am",
statlist = statlist(c("N","SUM","MEAN","GeoMEAN","SD","SE","CV","GSD","GSE",
"MEANSD","MEANSE","MEDIAN","MIN","MAX","RANGE","Q1","Q3",
"IQRANGE","MEDRANGE","MEDIQRANGE","MEAN_CI","GeoMEAN_CI")))
t5 <- univar(mtcars,
colvar = "gear",
rowvar = "wt",
rowbyvar = "am",
tablebyvar = "vs",
statlist = statlist(c("N","SUM","MEAN","GeoMEAN","SD","SE","CV","GSD","GSE",
"MEANSD","MEANSE","MEDIAN","MIN","MAX","RANGE","Q1","Q3",
"IQRANGE","MEDRANGE","MEDIQRANGE","MEAN_CI","GeoMEAN_CI")))
t6 <- univar(mtcars,
colvar = "gear",
rowvar = "wt",
wide = TRUE)
t7 <- univar(mtcars,
colvar = "gear",
rowvar = "wt",
statlist = statlist(c("N","SUM","MEAN")),
wide = TRUE)
t8 <- univar(mtcars,
colvar = "gear",
rowvar = "wt",
tablebyvar = "vs",
wide = TRUE)
t9 <- univar(mtcars,
colvar = "gear",
rowvar = "wt",
rowbyvar = "am",
wide = TRUE)
t10 <- univar(mtcars,
colvar = "gear",
rowvar = "wt",
rowbyvar = "am",
tablebyvar = "vs",
wide = TRUE)
test_that("univar outputs are named as expected",{
expect_setequal(names(t1), c("label","row_type","3","4","5", "group_level"))
expect_setequal(names(t2), c("label","row_type","3","4","5", "group_level"))
expect_setequal(names(t3), c("vs","label","row_type","3","4","5", "group_level"))
expect_setequal(names(t4), c("label","3","4","5","row_type", "am", "group_level"))
expect_setequal(names(t5), c("vs","label","row_type","3","4","5", "am", "group_level"))
expect_setequal(names(t6), c("gear","Mean (SD)","Range","IQ range","Median","N","row_type", "group_level"))
expect_setequal(names(t7), c("gear","Mean","N","Sum","row_type", "group_level"))
expect_setequal(names(t8), c("gear", "vs", "Mean (SD)","Range","IQ range","Median","N","row_type", "group_level"))
expect_setequal(names(t9), c("gear","am","Mean (SD)","Range","IQ range","Median","N","row_type", "group_level"))
expect_setequal(names(t10), c("vs", "gear","am","Mean (SD)","Range","IQ range","Median","N","row_type", "group_level"))
})
test_that("univar computes statistics as expected",{
expect_equal(t2, tibble::tribble(
~label, ~`3`, ~`4`, ~`5`, ~row_type, ~group_level,
"N", "15", "12", "5", "N", 0,
"Sum", "58.4", "31.4", "13.2", "VALUE", 0,
"Mean", "3.89", "2.62", "2.63", "VALUE", 0,
"Geometric Mean", "3.81", "2.54", "2.52", "VALUE", 0,
"Std. Dev.", "0.833", "0.633", "0.819", "VALUE", 0,
"Std. Error", "0.215", "0.183", "0.366", "VALUE", 0,
"CV (%)", "21.40", "24.18", "31.11", "VALUE", 0,
"Geometric Std. Dev.", "1.231", "1.292", "1.409", "VALUE", 0,
"Geometric Std. Error", "1.055", "1.077", "1.166", "VALUE", 0,
"Mean (SD)", "3.89 (0.833)", "2.62 (0.633)", "2.63 (0.819)", "VALUE", 0,
"Mean (SE)", "3.89 (0.215)", "2.62 (0.183)", "2.63 (0.366)", "VALUE", 0,
"Median", "3.73", "2.70", "2.77", "VALUE", 0,
"Minimum", "2.5", "1.6", "1.5", "VALUE", 0,
"Maximum", "5.4", "3.4", "3.6", "VALUE", 0,
"Range", "(2.5; 5.4)", "(1.6; 3.4)", "(1.5; 3.6)", "VALUE", 0,
"First quartile", "3.44", "2.07", "2.14", "VALUE", 0,
"Third quartile", "4.07", "3.17", "3.17", "VALUE", 0,
"IQ range", "(3.44; 4.07)", "(2.07; 3.17)", "(2.14; 3.17)", "VALUE", 0,
"Median (Range)", "3.73 (2.5; 5.4)", "2.70 (1.6; 3.4)", "2.77 (1.5; 3.6)", "VALUE", 0,
"Median (Q1; Q3)", "3.73 (3.44; 4.07)", "2.70 (2.07; 3.17)", "2.77 (2.14; 3.17)", "VALUE", 0,
"Mean (95% C.I.)", "3.89 (3.431; 4.354)", "2.62 (2.215; 3.019)", "2.63 (1.616; 3.649)", "VALUE", 0,
"Geometric Mean (95% C.I.)", "3.81 (3.399; 4.280)", "2.54 (2.161; 2.991)", "2.52 (1.646; 3.856)", "VALUE", 0,
), ignore_attr = TRUE)
})
test_that("rowtext works as expected with univar", {
expected <- tibble::tribble(
~label, ~X3, ~X4, ~X5, ~row_type, ~group_level,
"Mpg Details", "", "", "", "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",
row_header = "Mpg Details",
rowvar = "mpg"
),
expected,
ignore_attr = TRUE
)
expected <- tibble::tribble(
~am, ~label, ~X3, ~X4, ~X5, ~row_type, ~group_level,
"0", "0", "", "", "", "BY_HEADER1", 0,
"0", "Mpg Details", "", "", "", "HEADER", 0,
"0", "N", "15", "4", "0", "N", 0,
"0", "Mean (SD)", "16.11 (3.372)", "21.05 (3.070)", "-", "VALUE", 0,
"0", "Median", "15.50", "21.00", "-", "VALUE", 0,
"0", "Range", "(10.4; 21.5)", "(17.8; 24.4)", "(-; -)", "VALUE", 0,
"0", "IQ range", "(14.30; 18.70)", "(18.50; 23.60)", "(-; -)", "VALUE", 0,
"1", "1", "", "", "", "BY_HEADER1", 0,
"1", "Mpg Details", "", "", "", "HEADER", 0,
"1", "N", "0", "8", "5", "N", 0,
"1", "Mean (SD)", "-", "26.28 (5.414)", "21.38 (6.659)", "VALUE", 0,
"1", "Median", "-", "25.05", "19.70", "VALUE", 0,
"1", "Range", "(-; -)", "(21.0; 33.9)", "(15.0; 30.4)", "VALUE", 0,
"1", "IQ range", "(-; -)", "(21.20; 31.40)", "(15.80; 26.00)", "VALUE", 0
)
expect_equal(
mtcars %>%
univar(
colvar = "gear",
row_header = "Mpg Details",
rowvar = "mpg",
rowbyvar = "am"
),
expected,
ignore_attr = TRUE
)
expected <- tibble::tribble(
~label, ~X3, ~X4, ~X5, ~row_type, ~group_level,
"Mpg mean", "16.11", "24.53", "21.38", "VALUE", 0
)
expect_equal(
mtcars %>%
univar(
colvar = "gear",
rowtext = "Mpg mean",
rowvar = "mpg",
statlist = statlist("MEAN")
),
expected,
ignore_attr = TRUE
)
})
test_that("univar can handle sparse data as expected", {
mtcars2 <- mtcars %>%
rownames_to_column(var = "USUBJID") %>%
mutate(across(.col = -any_of("mpg"), .fns = as.factor)) %>%
filter(FALSE)
expected <- tibble::tribble(
~label, ~X4, ~X6, ~X8, ~row_type, ~group_level,
"N", "0", "0", "0", "N", 0,
"Mean (SD)", "-", "-", "-", "VALUE", 0,
"Median", "-", "-", "-", "VALUE", 0,
"Range", "(-; -)", "(-; -)", "(-; -)", "VALUE", 0,
"IQ range", "(-; -)", "(-; -)", "(-; -)", "VALUE", 0
)
expect_equal(
univar(
mtcars2,
colvar = "cyl",
rowvar = "mpg"
),
expected,
ignore_attr = TRUE
)
})
test_that("MEANSE statlist works as expected", {
t1 <- mtcars %>%
univar(
colvar = "cyl",
rowvar = "mpg",
statlist = statlist(c("MEANSE"))
)
expected <- tibble::tribble(
~label, ~X4, ~X6, ~X8, ~row_type, ~group_level,
"Mean (SE)", "26.66 (1.360)", "19.74 (0.549)", "15.10 (0.684)", "VALUE", 0
)
expect_equal(t1,expected,ignore_attr = TRUE)
})
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.