morley_new <- dplyr::mutate(
morley,
Expt = dplyr::case_when(
Expt == 1L ~ "1st",
Expt == 2L ~ "2nd",
Expt == 3L ~ "3rd",
Expt == 4L ~ "4th",
Expt == 5L ~ "5th"
)
) %>%
tibble::as_tibble()
morley_new[3L, 3L] <- NA_integer_
morley_new[23L, 3L] <- NA_integer_
morley_new[87L, 3L] <- NA_integer_
# checking default outputs -----------------------------------------
test_that(
"checking default outputs",
{
set.seed(123)
expect_doppelganger(
title = "parametric - without NA",
fig = ggdotplotstats(ggplot2::mpg, cty, cyl, test.value = 16, type = "p")
)
set.seed(123)
expect_doppelganger(
title = "robust - with NA",
fig = ggdotplotstats(morley_new, Speed, Expt, test.value = 800, type = "r")
)
}
)
# modification with ggplot2 ----------------------------------------------
test_that(
"modification with ggplot2 works as expected",
{
set.seed(123)
expect_doppelganger(
title = "modification with ggplot2 ",
fig = suppressMessages(ggdotplotstats(
data = morley_new,
x = Speed,
y = Expt,
results.subtitle = FALSE,
title = "Michelson-Morley experiment",
xlab = substitute(paste("Speed of light (", italic("c"), ")")),
ylab = "Experimental run",
ggplot.component = ggplot2::scale_x_continuous(
breaks = seq(800, 900, 10),
sec.axis = ggplot2::dup_axis()
)
))
)
}
)
# subtitle output -------------------------------------------------------
test_that(
"subtitle output",
{
set.seed(123)
p_sub_ggdot <- ggdotplotstats(
data = morley,
x = Speed,
y = Expt,
test.value = 800,
type = "np"
) %>%
extract_subtitle()
set.seed(123)
p_sub_gghist <-
morley %>%
dplyr::group_by(Expt) %>%
dplyr::summarise(mean = mean(Speed), .groups = "drop") %>%
gghistostats(
x = mean,
test.value = 800,
type = "np"
) %>%
extract_subtitle()
set.seed(123)
expect_identical(p_sub_ggdot, p_sub_gghist)
}
)
# grouped_ggdotplotstats works -----------------------------------------------
test_that(
"grouped_ggdotplotstats works",
{
# removing factor level with very few no. of observations
df <- dplyr::filter(ggplot2::mpg, cyl %in% c("4", "6", "8"))
set.seed(123)
expect_doppelganger(
title = "defaults work as expected",
fig = grouped_ggdotplotstats(
data = df,
x = cty,
y = manufacturer,
xlab = "city miles per gallon",
ylab = "car manufacturer",
grouping.var = cyl,
test.value = 15.5,
point.args = list(color = "red", size = 5, shape = 13),
results.subtitle = FALSE,
ggtheme = ggplot2::theme_classic()
)
)
set.seed(123)
expect_doppelganger(
title = "further modification with ggplot works",
fig = grouped_ggdotplotstats(
data = df,
x = cty,
y = manufacturer,
grouping.var = cyl,
test.value = 15.5,
results.subtitle = FALSE,
effsize.type = "d",
ggplot.component = ggplot2::scale_y_continuous(
sec.axis = ggplot2::dup_axis(name = "percentile score"),
breaks = seq(0, 12, 2)
)
)
)
}
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.