skip_if_not_installed("withr") skip_if(getRversion() < "4.0.0") withr::with_options( list(parameters_interaction = "*"), { lm1 <- lm(Sepal.Length ~ Species, data = iris) lm2 <- lm(Sepal.Length ~ Species + Petal.Length, data = iris) lm3 <- lm(Sepal.Length ~ Species * Petal.Length, data = iris) # Basic ------- out <- compare_parameters(lm1, lm2, lm3) test_that("multiple model", { expect_snapshot(print(out)) }) # templates -------------- out <- compare_parameters(lm1, lm2, lm3, select = "se_p") test_that("templates", { expect_snapshot(print(out)) }) out <- compare_parameters(lm1, lm2, lm3, select = "{estimate}{stars} ({se})") test_that("templates, glue-1", { expect_snapshot(print(out)) }) out <- compare_parameters(lm1, lm2, lm3, select = "{estimate} ({ci_low}, {ci_high}), p={p}{stars}") test_that("templates, glue-2", { expect_snapshot(print(out)) }) out <- compare_parameters(lm1, lm2, lm3, select = "{estimate} ({se})|{p}") test_that("templates, glue-3, separate columnns", { expect_snapshot(print(out)) }) # grouping parameters -------------- lm1 <- lm(Sepal.Length ~ Species + Petal.Length, data = iris) lm2 <- lm(Sepal.Width ~ Species * Petal.Length, data = iris) # remove intercept out <- compare_parameters(lm1, lm2, drop = "^\\(Intercept") test_that("templates, glue-3, separate columnns", { expect_snapshot( print(out, groups = list( Species = c( "Species [versicolor]", "Species [virginica]" ), Interactions = c( "Species [versicolor] * Petal Length", "Species [virginica] * Petal Length" ), Controls = "Petal Length" )) ) expect_snapshot( print(out, groups = list( Species = c( "Species [versicolor]", "Species [virginica]" ), Interactions = c( "Species [versicolor] * Petal Length", # note the unicode char! "Species [virginica] * Petal Length" ), Controls = "Petal Length" ), select = "{estimate}{stars}") ) expect_snapshot( print(out, groups = list( Species = c( "Species [versicolor]", "Species [virginica]" ), Interactions = c( "Species [versicolor] * Petal Length", # note the unicode char! "Species [virginica] * Petal Length" ), Controls = "Petal Length" ), select = "{estimate}|{p}") ) }) test_that("combination of different models", { skip_on_cran() skip_if_not_installed("glmmTMB") data("fish") m0 <- glm(count ~ child + camper, data = fish, family = poisson()) m1 <- glmmTMB::glmmTMB( count ~ child + camper + (1 | persons) + (1 | ID), data = fish, family = poisson() ) m2 <- glmmTMB::glmmTMB( count ~ child + camper + zg + (1 | ID), ziformula = ~ child + (1 | persons), data = fish, family = glmmTMB::truncated_poisson() ) cp <- compare_parameters(m0, m1, m2, effects = "all", component = "all") expect_snapshot(print(cp)) }) } )