Nothing
context("stat_summary_xy")
library(ggplot2)
test_that("stat_summary_xy", {
tst.df <- data.frame(
x = c(2.2, -0.2, -0.2, -2.5, -0.6, -0.1),
y = c(1.1, -0.6, -0.9, -1.6, 0.3, 1.6),
group = c("A", "A", "A", "B", "B", "B")
)
tst.df.na <- data.frame(
x = c(2.2, -0.2, -0.2, -2.5, -0.6, 1.1, 0.1),
y = c(1.1, -0.6, -0.9, -1.6, 0.3, 1.6, 1.6),
group = c("A", "A", "A", "B", "B", "B", "B")
)
result <- ggplot(tst.df, aes(x, y)) +
stat_summary_xy(.fun.x = mean)
result <- ggplot2::layer_data(result)
result <- result$x
expected <- mean(tst.df$x)
expect_identical(result, expected)
result <- ggplot(tst.df, aes(x, y)) +
stat_summary_xy(.fun.y = mean_se)
result <- ggplot2::layer_data(result)
result <- result[, c("y", "ymin", "ymax")]
expected <- mean_se(tst.df$y)
expect_identical(result, expected)
result <- ggplot(tst.df, aes(x, y)) +
stat_summary_xy(.fun.x = min)
result <- ggplot2::layer_data(result)
result <- result$x
expected <- min(tst.df$x)
expect_identical(result, expected)
result <- ggplot(tst.df.na, aes(x, y)) +
stat_summary_xy(
.fun.y = mean,
.fun.x = mean,
.fun.y.args = list(na.rm = TRUE),
.fun.x.args = list(na.rm = TRUE)
)
result <- ggplot2::layer_data(result)
result <- result[, c("x", "y")]
expected <- as.data.frame(lapply(na.omit(tst.df.na[, c("x", "y")]), mean, na.rm = TRUE))
expect_identical(result, expected)
function_passed <- "mean_se"
result <- ggplot(tst.df, aes(x, y)) +
stat_summary_xy(.fun.y = function_passed)
result <- ggplot2::layer_data(result)
result <- result[, c("y", "ymin", "ymax")]
expected <- mean_se(tst.df$y)
expect_identical(result, expected)
result <- ggplot(tst.df, aes(x, y)) +
stat_summary_xy(.fun.y = function(x) mean(x))
result <- ggplot2::layer_data(result)
result <- result$y
expected <- mean(tst.df$y)
expect_identical(result, expected)
})
# could do with additional tests
test_that("stat_apply_group", {
tst.df <- data.frame(
x = c(2.2, -0.2, -0.2, -2.5, -0.6, -0.1),
y = c(1.1, -0.6, -0.9, -1.6, 0.3, 1.6),
group = c("A", "A", "A", "B", "B", "B")
)
result <- ggplot(tst.df, aes(x, y, group = group)) +
stat_apply_group(.fun.x = mean)
result <- ggplot2::layer_data(result)
result <- result$x
expected <- c(mean(tst.df$x[1:3]), mean(tst.df$x[4:6]))
expect_identical(result, expected)
result <- ggplot(tst.df, aes(x, y, group = group)) +
stat_apply_group(.fun.x = min)
result <- ggplot2::layer_data(result)
result <- result$x
expected <- c(min(tst.df$x[1:3]), min(tst.df$x[4:6]))
expect_identical(result, expected)
})
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.