context("stat_quant_band")
library(tibble)
set.seed(4321)
# generate artificial data
x <- 1:100
y <- x + rnorm(length(x), mean = 0, sd = 10)
my.data <- data.frame(x,
y,
group = c("A", "B"),
y2 = y * c(0.5,2),
block = c("a", "a", "b", "b"),
wt = sqrt(x))
if (isNamespaceLoaded(name = "package:ggpmisc")) detach(package:ggpmisc, unload = TRUE)
if (isNamespaceLoaded(name = "package:ggpp")) detach(package:ggpp, unload = TRUE)
if (isNamespaceLoaded(name = "package:ggplot2")) detach(package:ggplot2, unload = TRUE)
test_that("quant_band_noload", {
withCallingHandlers({
vdiffr::expect_doppelganger("stat_quant_band_noload",
ggplot2::ggplot(my.data, ggplot2::aes(x, y)) +
ggplot2::geom_point() +
ggpmisc::stat_quant_band(formula = y ~ 1)
)
}, warning=function(w) {
if (grepl("Solution may be nonunique|2 non-positive fis", conditionMessage(w)))
invokeRestart("muffleWarning")
}) })
library(ggpmisc)
test_that("quant_formulas", {
withCallingHandlers({
vdiffr::expect_doppelganger("stat_quant_band_formula_missing",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band()
)
vdiffr::expect_doppelganger("stat_quant_band_formula_missing_orientationy",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(orientation = "y")
)
vdiffr::expect_doppelganger("stat_quant_band_formula_missing_orientationx",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(orientation = "x")
)
vdiffr::expect_doppelganger("stat_quant_band_formula_missing_rqss",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(method = "rqss")
)
expect_error(ggplot(my.data, aes(x, y)) +
stat_quant_band(method = "lm"))
expect_error(ggplot(my.data, aes(x, y)) +
stat_quant_band(method = "lmodel2"))
vdiffr::expect_doppelganger("stat_quant_line_fm_NA",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(method = function(...) {NA})
)
vdiffr::expect_doppelganger("stat_quant_line_fm_NULL",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(method = function(...) {NULL})
)
vdiffr::expect_doppelganger("stat_quant_line_fm_missing",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(method = function(...) {list()})
)
vdiffr::expect_doppelganger("stat_quant_band_formula_1",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = y ~ 1)
)
vdiffr::expect_doppelganger("stat_quant_band_formula_x",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = y ~ x)
)
vdiffr::expect_doppelganger("stat_quant_band_formula_x_Iy",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = I(y) ~ x)
)
vdiffr::expect_doppelganger("stat_quant_band_formula_x_Ix",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = y ~ I(x))
)
vdiffr::expect_doppelganger("stat_quant_band_formula_xminus1",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = y ~ x - 1)
)
vdiffr::expect_doppelganger("stat_quant_band_formula_xplus0",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = y ~ x + 0)
)
vdiffr::expect_doppelganger("stat_quant_band_formula_poly1",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = y ~ poly(x, 1, raw = TRUE))
)
vdiffr::expect_doppelganger("stat_quant_band_formula_poly3",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = y ~ poly(x, 3, raw = TRUE))
)
###
vdiffr::expect_doppelganger("stat_quant_band_formula_x1",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = x ~ 1)
)
vdiffr::expect_doppelganger("stat_quant_band_formula_y",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = x ~ y)
)
vdiffr::expect_doppelganger("stat_quant_band_formula_y_Ix",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = I(x) ~ y)
)
vdiffr::expect_doppelganger("stat_quant_band_formula_y_Iy",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = x ~ I(y))
)
vdiffr::expect_doppelganger("stat_quant_band_formula_yminus1",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = x ~ y - 1)
)
vdiffr::expect_doppelganger("stat_quant_band_formula_yplus0",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = x ~ y + 0)
)
vdiffr::expect_doppelganger("stat_quant_band_formula_ypoly1",
ggplot(my.data, aes(x, y)) +
geom_point() +
stat_quant_band(formula = x ~ poly(y, 1, raw = TRUE))
)
}, warning=function(w) {
if (grepl("Solution may be nonunique|2 non-positive fis", conditionMessage(w)))
invokeRestart("muffleWarning")
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.