Nothing
context("stat_multcomp")
library(tibble)
# versioning of snaps
ggplot2_version <- packageVersion("ggplot2")
if (grepl("^3\\.5\\.2\\.9|^4\\.0\\.[0-1]", ggplot2_version)) {
ggplot2_version <- "gg-4.0.x"
} else if (grepl("^3\\.5\\.[0-2]", ggplot2_version)) {
ggplot2_version <- "gg-3.5.x"
} else {
ggplot2_version <- paste("gg", ggplot2_version, sep = "-")
}
R_version <- paste("R",
substr(as.character(getRversion()), start = 1, stop = 3),
sep = "-")
snap_version <- paste(R_version, ggplot2_version, sep = "_")
old.out.dec <- options(OutDec = ".")
on.exit(options(old.out.dec), add = TRUE, after = FALSE)
set.seed(4321)
# generate artificial data
x <- 1:100
y <- x + rnorm(length(x), mean = 0)
my.data <- data.frame(x,
y,
group = factor(LETTERS[1:5]),
group.rev = factor(LETTERS[1:5], levels = LETTERS[5:1]),
group.mixed = factor(LETTERS[1:5], levels = LETTERS[c(3,5,4,1,2)]),
group10 = factor(LETTERS[1:10]),
y2 = y + 0:4 * rnorm(length(x), mean = 20, sd = 2),
y10 = y + 0:9 * rnorm(length(x), mean = 20, sd = 4),
wt = sqrt(x))
formula <- y ~ 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("multcomp_noload", {
vdiffr::expect_doppelganger("smltc_noload",
ggplot2::ggplot(my.data, ggplot2::aes(group, y2)) +
ggplot2::geom_boxplot() +
ggpmisc::stat_multcomp(),
variant = snap_version
)
skip_on_os(c("mac", "linux", "solaris"))
vdiffr::expect_doppelganger("smltc_noload_more",
ggplot2::ggplot(my.data, ggplot2::aes(group, y2)) +
ggplot2::stat_summary(fun.data = "mean_se") +
ggpmisc::stat_multcomp(mapping = ggpmisc::use_label(c("delta", "P")),
size = 2.5),
variant = snap_version
)
})
library(ggpmisc)
test_that("smltc_contrast_type", {
set.seed(4321)
vdiffr::expect_doppelganger("smltc_bars_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_bars_dunnet",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Dunnet"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_letters_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.type = "letters"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_letters_tukey_rev",
ggplot(my.data, aes(group.rev, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.type = "letters"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_letters_tukey_mixed",
ggplot(my.data, aes(group.mixed, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.type = "letters"),
variant = snap_version
)
testthat::expect_error(ggplot(my.data, aes(group.mixed, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Dunnet",
label.type = "letters"),
variant = snap_version
)
})
test_that("smltc_many_levels", {
set.seed(4321)
vdiffr::expect_doppelganger("smltc_bars_tukey2",
ggplot(subset(my.data, group10 %in% LETTERS[1:6]), aes(group10, y10)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.type = "letters") +
expand_limits(x = -1),
variant = snap_version
)
# warning is suppressed during test!!
# expect_warning(ggplot(subset(my.data, group10 %in% LETTERS[1:6]), aes(group10, y10)) +
# stat_boxplot() +
# stat_multcomp(contrasts = "Tukey")
# )
vdiffr::expect_doppelganger("smltc_bars_dunnet_many_levels",
ggplot(my.data, aes(group10, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Dunnet", p.digits = 2),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_letters_tukey_many_levels",
ggplot(subset(my.data, group10 %in% LETTERS[1:6]), aes(group10, y10)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.type = "letters",
adj.method.tag = 0),
variant = snap_version
)
})
test_that("smltc_geoms", {
set.seed(4321)
vdiffr::expect_doppelganger("smltc_text_pairwise_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
geom = "text_pairwise",
label.y = "bottom",
p.digits = 2),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_text_pairwise_dunnet",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Dunnet",
geom = "text_pairwise",
label.y = "bottom"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_letters_label_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.type = "letters",
geom = "label"),
variant = snap_version
)
})
test_that("smltc_label.y", {
set.seed(4321)
vdiffr::expect_doppelganger("smltc_y_top_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.y = "top"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_y_top_dunnet",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Dunnet",
label.y = "top"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_y.bottom_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.type = "letters",
label.y = "bottom",
p.digits = 2),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_y_top_num_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.y = 150,
p.digits = 2),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_y_top_num_dunnet",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Dunnet",
label.y = 150),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_y.top_num_letters_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.type = "letters",
label.y = 200),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_y_bottom_num_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.y = -25,
p.digits = 2),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_y_bottom_num_dunnet",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Dunnet",
label.y = -25),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_y.bottom_num_letters_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
label.type = "letters",
label.y = -50),
variant = snap_version
)
})
test_that("smltc_adjusted", {
set.seed(4321)
vdiffr::expect_doppelganger("smltc_bonferroni_tukey",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
p.adjust.method = "bonferroni"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_bonferroni_dunnet",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Dunnet",
p.adjust.method = "bonferroni"),
variant = snap_version
)
})
test_that("smltc_digits", {
set.seed(4321)
vdiffr::expect_doppelganger("smltc_p.digits2",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "Tukey",
p.digits = 2),
variant = snap_version
)
# # p-value unstable in least significant digit
# vdiffr::expect_doppelganger("smltc_p.digits6",
# ggplot(my.data, aes(group, y2)) +
# stat_boxplot() +
# stat_multcomp(contrasts = "Tukey",
# p.digits = 6)
# )
#
# # p-value unstable in least significant digit
# vdiffr::expect_doppelganger("smltc_p.digits_Inf",
# ggplot(my.data, aes(group, y2)) +
# stat_boxplot() +
# stat_multcomp(contrasts = "Tukey",
# p.digits = Inf)
# )
# warning is silenced under testthat!!
# testthat::expect_warning(ggplot(my.data, aes(group, y2)) +
# stat_boxplot() +
# stat_multcomp(contrasts = "Tukey",
# p.digits = 1))
testthat::expect_error(ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(contrasts = "zzzz"))
testthat::expect_error(ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(label.type = "zzzz"))
})
test_that("smltc_methods", {
set.seed(4321)
vdiffr::expect_doppelganger("smltc_lm.char2",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(method = "lm"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_lm.fun",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(method = stats::lm,
p.digits = 2),
variant = snap_version
)
# inconsistent across OSs
vdiffr::expect_doppelganger("smltc_lm.char",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(method = "aov"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_lm.fun2",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(method = stats::aov),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_rlm.char",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(method = "rlm"),
variant = snap_version
)
vdiffr::expect_doppelganger("smltc_rlm.fun",
ggplot(my.data, aes(group, y2)) +
stat_boxplot() +
stat_multcomp(method = MASS::rlm),
variant = snap_version
)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.