library(bayesplot)
context("PPC: pp_check generic and default method")
test_that("default pp_check method works", {
y <- example_y_data()
yrep <- example_yrep_draws()
g <- example_group_data()
expect_equal(
pp_check(y, yrep[1:50, ], ppc_dens_overlay),
ppc_dens_overlay(y, yrep[1:50, ]),
check.environment = FALSE
)
expect_equal(
pp_check(y, yrep, fun = "stat_grouped", group = g, stat = "median"),
ppc_stat_grouped(y, yrep, group = g, stat = "median"),
check.environment = FALSE
)
})
test_that("pp_check method can be defined", {
pp_check.foo <- function(object, ..., type = c("multiple", "overlaid")) {
y <- object[["y"]]
yrep <- object[["yrep"]]
switch(match.arg(type),
multiple = ppc_hist(y, yrep[1:min(8, nrow(yrep)),, drop = FALSE]),
overlaid = ppc_dens_overlay(y, yrep)
)
}
x <- structure(
list(y = rnorm(50), yrep = matrix(rnorm(500), ncol = 50)),
class = "foo"
)
expect_gg(pp_check(x))
expect_gg(pp_check(x, type = "overlaid"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.