context("interplay with emmeans")
test_that("ANOVA functions work with emmeans, univariate & multivariate", {
skip_if_not_installed("emmeans")
data(sk2011.1)
a1 <- aov_ez("id", "response", sk2011.1, between = "instruction",
within = c("inference", "plausibility"), fun_aggregate = mean,
include_aov = TRUE)
em1 <- emmeans::emmeans(a1, ~ inference, model = "univariate")
em2 <- emmeans::emmeans(a1, ~ inference, model = "multivariate")
expect_is(em1, "emmGrid")
expect_is(em2, "emmGrid")
expect_equal(as.data.frame(summary(em2))$emmean,
as.data.frame(summary(em1))$emmean)
expect_false(isTRUE(all.equal(
as.data.frame(summary(em2))$SE,
as.data.frame(summary(em1))$SE)))
em1 <- emmeans::emmeans(a1, ~ inference*plausibility, model = "univariate")
em2 <- emmeans::emmeans(a1, ~ inference*plausibility, model = "multivariate")
expect_is(em1, "emmGrid")
expect_is(em2, "emmGrid")
expect_equal(as.data.frame(summary(em2))$emmean,
as.data.frame(summary(em1))$emmean)
expect_false(isTRUE(all.equal(
as.data.frame(summary(em2))$SE,
as.data.frame(summary(em1))$SE)))
a1b <- aov_ez("id", "response", sk2011.1, between = "instruction",
within = c("plausibility", "inference"), fun_aggregate = mean,
include_aov = TRUE)
em1 <- emmeans::emmeans(a1b, ~ inference, model = "univariate")
em2 <- emmeans::emmeans(a1b, ~ inference, model = "multivariate")
expect_is(em1, "emmGrid")
expect_is(em2, "emmGrid")
expect_equal(as.data.frame(summary(em2))$emmean,
as.data.frame(summary(em1))$emmean)
expect_false(isTRUE(all.equal(
as.data.frame(summary(em2))$SE,
as.data.frame(summary(em1))$SE)))
a2 <- aov_ez("id", "response", sk2011.1, between = "instruction",
within = c("inference"), fun_aggregate = mean,
include_aov = TRUE)
em1 <- emmeans::emmeans(a2, ~ inference, model = "univariate")
em2 <- emmeans::emmeans(a2, ~ inference, model = "multivariate")
expect_is(em1, "emmGrid")
expect_is(em2, "emmGrid")
expect_equal(as.data.frame(summary(em2))$emmean,
as.data.frame(summary(em1))$emmean)
expect_false(isTRUE(all.equal(
as.data.frame(summary(em2))$SE,
as.data.frame(summary(em1))$SE)))
a3 <- aov_ez("id", "response", sk2011.1, within = c("inference"),
fun_aggregate = mean, include_aov = TRUE)
em1 <- emmeans::emmeans(a3, ~ inference, model = "univariate")
em2 <- emmeans::emmeans(a3, ~ inference, model = "multivariate")
expect_is(em1, "emmGrid")
expect_is(em2, "emmGrid")
expect_equal(as.data.frame(summary(em2))$emmean,
as.data.frame(summary(em1))$emmean)
expect_false(isTRUE(all.equal(
as.data.frame(summary(em2))$SE,
as.data.frame(summary(em1))$SE)))
a4 <- aov_ez("id", "response", sk2011.1, between = "instruction",
fun_aggregate = mean, include_aov = TRUE)
em1 <- emmeans::emmeans(a4, ~ instruction, model = "univariate")
em2 <- emmeans::emmeans(a4, ~ instruction, model = "multivariate")
expect_is(em1, "emmGrid")
expect_is(em2, "emmGrid")
expect_equal(as.data.frame(summary(em2))$emmean,
as.data.frame(summary(em1))$emmean)
expect_true(isTRUE(all.equal(
as.data.frame(summary(em2))$SE,
as.data.frame(summary(em1))$SE)))
####
data("sk2011.2")
ab1 <- aov_ez("id", "response", sk2011.2, between = "instruction",
within = c("what", "validity", "type"), fun_aggregate = mean,
include_aov = TRUE)
em1 <- emmeans::emmeans(ab1, ~ what*validity*type, model = "univariate")
em2 <- emmeans::emmeans(ab1, ~ what*validity*type, model = "multivariate")
expect_is(em1, "emmGrid")
expect_is(em2, "emmGrid")
expect_equal(as.data.frame(summary(em2))$emmean,
as.data.frame(summary(em1))$emmean, tolerance = 0.1)
expect_false(isTRUE(all.equal(
as.data.frame(summary(em2))$SE,
as.data.frame(summary(em1))$SE)))
em1 <- emmeans::emmeans(ab1, ~ validity*what*type, model = "univariate")
em2 <- emmeans::emmeans(ab1, ~ validity*what*type, model = "multivariate")
expect_is(em1, "emmGrid")
expect_is(em2, "emmGrid")
expect_equal(as.data.frame(summary(em2))$emmean,
as.data.frame(summary(em1))$emmean, tolerance = 0.1)
expect_false(isTRUE(all.equal(
as.data.frame(summary(em2))$SE,
as.data.frame(summary(em1))$SE)))
em1 <- emmeans::emmeans(ab1, ~ type, model = "univariate")
em2 <- emmeans::emmeans(ab1, ~ type, model = "multivariate")
expect_is(em1, "emmGrid")
expect_is(em2, "emmGrid")
expect_equal(as.data.frame(summary(em2))$emmean,
as.data.frame(summary(em1))$emmean, tolerance = 0.1)
expect_false(isTRUE(all.equal(
as.data.frame(summary(em2))$SE,
as.data.frame(summary(em1))$SE)))
})
test_that("ANCOVA with emmeans is correct for univariate & multivariate", {
skip_if_not_installed("emmeans")
data(sk2011.1)
# a1 <- aov_ez("id", "value", obk.long, between = c("treatment", "gender"),
# within = c("phase", "hour"), covariate = "age",
# observed = c("gender", "age"), factorize = FALSE)
# emmeans(a1, ~ phase, model = "multivariate")
# emmeans(a1, ~ phase, model = "univariate")
#
# emmeans(a1, ~ treatment, model = "multivariate")
# emmeans(a1, ~ treatment, model = "univariate")
# deactivated, see: https://github.com/rvlenth/emmeans/issues/32
a2 <- aov_ez("id", "value", obk.long, between = c("treatment", "gender"),
covariate = "age", fun_aggregate = mean,
observed = c("gender", "age"), factorize = FALSE,
include_aov = TRUE)
em1 <- emmeans::emmeans(a2, ~ treatment, model = "univariate")
em2 <- emmeans::emmeans(a2, ~ treatment, model = "multivariate")
expect_equal(summary(em1)$emmean, summary(em2)$emmean)
})
test_that("mixed works with emmeans", {
skip_if_not_installed("emmeans")
skip_on_cran()
data(sk2011.1)
emmeans::emm_options(lmer.df = "asymptotic")
m1 <- mixed(response ~ instruction*inference*plausibility +(1|id), sk2011.1, progress = FALSE)
expect_is(emmeans::emmeans(m1, ~ inference), "emmGrid")
m2 <- mixed(response ~ inference +(inference|id), sk2011.1, progress = FALSE)
expect_is(emmeans::emmeans(m2, ~ inference), "emmGrid")
m3 <- mixed(response ~ instruction +(inference|id), sk2011.1, progress = FALSE)
expect_is(emmeans::emmeans(m3, ~ instruction), "emmGrid")
})
test_that("mixed works with type=2 and all methods", {
skip_if_not_installed("emmeans")
emmeans::emm_options(lmer.df = "asymptotic")
## in all tests, data needs to be passed because of nested evaluation.
data("sk2011.2")
sk2_aff <- droplevels(sk2011.2[sk2011.2$what == "affirmation",])
mixed_kr <- mixed(response ~ inference*type+(1|id), sk2_aff, type=2,
method="KR", progress = FALSE)
expect_is(emmeans::emmeans(mixed_kr, specs = c("type")), "emmGrid")
mixed_s <- mixed(response ~ inference*type+(1|id), sk2_aff, type=2,
method="S", progress = FALSE)
expect_is(emmeans::emmeans(mixed_s, specs = c("type")), "emmGrid")
mixed_lrt <- mixed(response ~ type+(1|id), sk2_aff, type=2,
method="LRT", progress = FALSE)
expect_is(emmeans::emmeans(mixed_lrt, specs = c("type")), "emmGrid")
mixed_pb <- suppressWarnings(mixed(response ~ type+(1|id), sk2_aff,
type=2, method="PB", progress = FALSE,
args_test = list(nsim = 10)))
expect_is(emmeans::emmeans(mixed_pb, specs = c("type")), "emmGrid")
mixed_oldkr <- mixed(response ~ type+(1|id), sk2_aff, type=2,
method="nested-KR", progress = FALSE)
expect_is(emmeans::emmeans(mixed_oldkr, specs = c("type")), "emmGrid")
})
test_that("emmeans works with mixed and expand_er = TRUE", {
skip_if_not_installed("emmeans")
skip_if_not_installed("MEMSS")
data("Machines", package = "MEMSS")
m2 <- mixed(score ~ Machine + (Machine||Worker), data=Machines,
expand_re = TRUE, progress = FALSE)
t1 <- emmeans::emmeans(m2, "Machine", lmer.df = "asymptotic")
t2 <- emmeans::emmeans(m2, "Machine", lmer.df = "Satterthwaite")
t3 <- emmeans::emmeans(m2, "Machine", lmer.df = "kenward-roger")
expect_is(t1, "emmGrid")
expect_is(t2, "emmGrid")
expect_is(t3, "emmGrid")
expect_is(summary(t1), "data.frame")
expect_is(summary(t2), "data.frame")
expect_is(summary(t3), "data.frame")
})
test_that("emmeans with mixed & expand_re = TRUE with pre 3.0 lmerTest objects", {
skip_if_not_installed("emmeans")
skip_on_cran()
load("m_machines_lmerTest-pre3.0.rda")
# load("tests/testthat/m_machines_lmerTest-pre3.0.rda")
t1 <- emmeans::emmeans(m_machines, "Machine", lmer.df = "asymptotic")
t2 <- emmeans::emmeans(m_machines, "Machine", lmer.df = "Satterthwaite")
t3 <- emmeans::emmeans(m_machines, "Machine", lmer.df = "kenward-roger")
expect_is(t1, "emmGrid")
expect_is(t2, "emmGrid")
expect_is(t3, "emmGrid")
expect_is(summary(t1), "data.frame")
expect_is(summary(t2), "data.frame")
expect_is(summary(t3), "data.frame")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.