context("S3 - emmeans")
test_that("emmeans can work with lm_robust objects", {
skip_if_not_installed("emmeans")
library(emmeans)
lmr <- lm_robust(mpg ~ factor(cyl) * hp + wt, data = mtcars)
rg <- emmeans::ref_grid(lmr)
expect_equal(class(rg)[1], "emmGrid")
grid <- rg@grid
expect_equal(nrow(grid), 3)
expect_equal(sum(grid$.wgt.), 32)
expect_equal(predict(rg)[1], 17.424, tolerance = .01)
})
test_that("lm_robust multivariate model works with emmeans", {
skip_if_not_installed("emmeans")
library(emmeans)
lmr <- lm_robust(yield ~ Block + Variety, data = emmeans::MOats)
emm <- emmeans(lmr, "rep.meas")
expect_equal(summary(emm)$emmean[4], 123.4, tolerance = 0.1)
})
test_that("lm_robust model with rank deficiency works with emmeans", {
skip_if_not_installed("emmeans")
library(emmeans)
lmr <- lm_robust(log(breaks) ~ wool * tension, data = warpbreaks, subset = -(19:30))
pred <- predict(ref_grid(lmr))
expect_true(is.na(pred[5]))
expect_equal(length(pred), 6)
expect_equal(sum(is.na(pred)), 1)
})
# Not testing emmeans package capabilities themselves. If we can construct the
# reference grid correctly, we are basically OK.
# Pretty much anything else that could fail would happen in the emmeans package,
# not in the support methods in this package.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.