Nothing
test_that("Different combinations of formula operations work", {
# Grouped by which should be equivalent
formulae <-
list(
# Tests for individual parameters
f1 = 1 ~ sum_code,
f2 = 1 ~ sum_code + 3,
f3 = 1 ~ sum_code * 4,
f4 = 1 ~ sum_code - 5:6,
# Tests for combinations of parameters
f5 = 1 ~ sum_code + 3 * 4,
f6 = 1 ~ sum_code * 4 + 3,
f7 = 1 ~ sum_code + 3 - 5:6,
f8 = 1 ~ sum_code - 5:6 + 3,
f9 = 1 ~ contr.poly * 4 - 5:6,
f10 = 1 ~ contr.poly - 5:6 * 4,
# Tests for combinations of all parameters
f11 = 1 ~ contr.poly + 3 * 4 - 5:6,
f12 = 1 ~ contr.poly + 3 - 5:6 * 4,
f12 = 1 ~ contr.poly * 4 + 3 - 5:6,
f13 = 1 ~ contr.poly * 4 - 5:6 + 3,
f14 = 1 ~ contr.poly - 5:6 + 3 * 4,
f15 = 1 ~ contr.poly - 5:6 * 4 + 3,
# Ensure as_is_works correctly
f16 = 1 ~ I(sum_code) - 5:6 * 4 + 3,
f17 = 1 ~ I(sum_code)
)
params <- suppressWarnings(lapply(formulae, .make_parameters))
expect_true(params$f1$factor_col == 1 &
identical(params$f2$code_by, sym("sum_code")))
expect_true(params$f2$factor_col == 1 &
identical(params$f2$code_by, sym("sum_code")) &
params$f2$reference_level == 3)
expect_true(params$f3$factor_col == 1 &
identical(params$f3$code_by, sym("sum_code")) &
params$f3$intercept_level == 4)
expect_true(params$f4$factor_col == 1 &
identical(params$f4$code_by, sym("sum_code")) &
identical(params$f4$drop_trends, NA))
expect_true(params$f5$factor_col == 1 &
identical(params$f5$code_by, sym("sum_code")) &
params$f5$reference_level == 3 &
params$f5$intercept_level == 4)
expect_equal(params$f5, params$f6)
expect_true(params$f7$factor_col == 1 &
identical(params$f7$code_by, sym("sum_code")) &
params$f7$reference_level == 3 &
identical(params$f7$drop_trends, NA))
expect_equal(params$f7, params$f8)
expect_true(params$f9$factor_col == 1 &
identical(params$f9$code_by, sym("contr.poly")) &
params$f9$intercept_level == 4 &
identical(params$f9$drop_trends, expr(5:6)))
expect_equal(params$f9, params$f10)
expect_true(params$f11$factor_col == 1 &
identical(params$f11$code_by, sym("contr.poly")) &
params$f11$reference_level == 3 &
params$f11$intercept_level == 4 &
identical(params$f11$drop_trends, expr(5:6)))
purrr::walk(
params[12:16],
function(ps) {
expect_equal(ps, params$f11)
}
)
expect_true(params$f16$as_is)
expect_true(params$f17$as_is)
})
test_that("Operator checking works", {
expect_true(.is_reserved_operator(sym("+")))
expect_false(.is_reserved_operator(sym("a")))
})
test_that("Multiple operator usage disallowed", {
expect_error(
enlist_contrasts(mtcars, cyl ~ sum_code + 4 + 4, verbose = FALSE),
regex = "You may only use"
)
})
test_that("Error on illformed expression", {
expect_error(.make_parameters(cyl ~ +1 + stats::contr.sum),
regexp = "\\+1 \\+ sum_code")
})
test_that("Backtransforming contrasts works", {
expect_equal(contr.sum(2), .convert_matrix(.convert_matrix(contr.sum(2))),
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.