Nothing
test_that("stat_summary(_bin) work with lambda expressions", {
# note: stat_summary and stat_summary_bin both use
# make_summary_fun, so this tests both
dat <- data_frame(
x = c(1, 1, 2, 2, 3, 3),
y = c(0, 2, 1, 3, 2, 4)
)
p1 <- ggplot(dat, aes(x, y)) +
stat_summary(fun.data = mean_se)
# test fun.data
p2 <- ggplot(dat, aes(x, y)) +
stat_summary(fun.data = ~ {
mean <- mean(.x)
se <- sqrt(stats::var(.x) / length(.x))
data_frame(y = mean, ymin = mean - se, ymax = mean + se)
})
expect_equal(
layer_data(p1),
layer_data(p2)
)
# fun, fun.min, fun.max
p3 <- ggplot(dat, aes(x, y)) +
stat_summary(
fun = ~ mean(.x),
fun.min = ~ mean(.x) - sqrt(stats::var(.x) / length(.x)),
fun.max = ~ mean(.x) + sqrt(stats::var(.x) / length(.x))
)
expect_equal(
layer_data(p1),
layer_data(p3)
)
})
test_that("stat_summary_(2d|hex) work with lambda expressions", {
dat <- data_frame(
x = c(0, 0, 0, 0, 1, 1, 1, 1),
y = c(0, 0, 1, 1, 0, 0, 1, 1),
z = c(1, 1, 2, 2, 2, 2, 3, 3)
)
# stat_summary_2d
p1 <- ggplot(dat, aes(x, y, z = z)) +
stat_summary_2d(fun = function(x) mean(x))
p2 <- ggplot(dat, aes(x, y, z = z)) +
stat_summary_2d(fun = ~ mean(.x))
expect_equal(
layer_data(p1),
layer_data(p2)
)
# stat_summary_hex
# this plot is a bit funky, but easy to reason through
skip_if_not_installed("hexbin")
p1 <- ggplot(dat, aes(x, y, z = z)) +
stat_summary_hex(fun = function(x) mean(x))
p2 <- ggplot(dat, aes(x, y, z = z)) +
stat_summary_hex(fun = ~ mean(.x))
expect_equal(
layer_data(p1),
layer_data(p2)
)
})
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.