Nothing
test_that("handles grouping correctly", {
d <- diamonds[1:1000, ]
all_ones <- function(x) all.equal(mean(x), 1)
base <- ggplot(d, aes(cut, clarity))
ret <- layer_data(base + stat_sum())
expect_equal(nrow(ret), 38)
expect_equal(sum(ret$n), nrow(d))
expect_true(all_ones(ret$prop))
ret <- layer_data(base + stat_sum(aes(group = 1)))
expect_equal(nrow(ret), 38)
expect_equal(sum(ret$n), nrow(d))
expect_equal(sum(ret$prop), 1)
ret <- layer_data(base + stat_sum(aes(group = cut)))
expect_equal(nrow(ret), 38)
expect_equal(sum(ret$n), nrow(d))
expect_true(all_ones(tapply(ret$prop, ret$x, FUN = sum)))
ret <- layer_data(base + stat_sum(aes(group = cut, colour = cut)))
expect_equal(nrow(ret), 38)
expect_equal(sum(ret$n), nrow(d))
expect_true(all_ones(tapply(ret$prop, ret$x, FUN = sum)))
ret <- layer_data(base + stat_sum(aes(group = clarity)))
expect_equal(nrow(ret), 38)
expect_equal(sum(ret$n), nrow(d))
expect_true(all_ones(tapply(ret$prop, ret$y, FUN = sum)))
ret <- layer_data(base + stat_sum(aes(group = clarity, colour = cut)))
expect_equal(nrow(ret), 38)
expect_equal(sum(ret$n), nrow(d))
expect_true(all_ones(tapply(ret$prop, ret$y, FUN = sum)))
ret <- layer_data(base + stat_sum(aes(group = 1, weight = price)))
expect_equal(nrow(ret), 38)
expect_equal(sum(ret$n), sum(d$price))
expect_equal(sum(ret$prop), 1)
})
# Visual tests ------------------------------------------------------------
test_that("summaries are drawn correctly", {
expect_doppelganger("summary with color and lines",
ggplot(mtcars, aes(x = cyl, y = mpg, colour = factor(vs))) +
geom_point() +
stat_summary(fun = mean, geom = "line", linewidth = 2)
)
expect_doppelganger("summary with crossbars, no grouping",
ggplot(mtcars, aes(x = cyl, y = mpg)) +
geom_point() +
stat_summary(
fun.data = mean_se,
colour = "red",
geom = "crossbar",
width = 0.2
)
)
expect_doppelganger("summary with crossbars, manual grouping",
ggplot(mtcars, aes(x = cyl, y = mpg, group = cyl)) +
geom_point() +
stat_summary(
fun.data = mean_se,
colour = "red",
geom = "crossbar",
width = 0.2
)
)
})
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.