Nothing
library(ggplot2)
library(ggpp)
context("stat_apply_group")
test_that("stat_apply_group", {
my.df.unsorted <- data.frame(X = rep(1:20,2),
Y = runif(40)*10,
category = rep(c("A","B"), each = 20))
my.df <- my.df.unsorted[order(my.df.unsorted[["X"]]), ]
result <- ggplot(my.df, aes(x = X, y = Y, colour = category)) +
geom_point() +
stat_apply_group(geom = "rug", .fun.y = quantile, .fun.x = quantile)
result <- ggplot2::layer_data(result,2)
result <- result[result$group == 1,]$x %>% as.data.frame()
expected <- quantile(my.df[my.df$category == "A",]$X)[1:5] %>%
as.data.frame()
rownames(result) <- NULL
rownames(expected) <- NULL
expect_identical(result, expected)
result <- ggplot(my.df, aes(x = X, y = Y, colour = category)) +
geom_point() +
stat_apply_group(geom = "rug", .fun.y = quantile, .fun.x = quantile)
result <- ggplot2::layer_data(result,2)
result <- result[result$group == 1,]$y %>% as.data.frame()
expected <- quantile(my.df[my.df$category == "A",]$Y)[1:5] %>%
as.data.frame()
rownames(result) <- NULL
rownames(expected) <- NULL
expect_identical(result, expected)
expect_silent(result <- ggplot(my.df, aes(x = X, y = Y)) +
geom_point() +
stat_apply_group(geom = "rug", sides = "lr", color = "darkred",
.fun.y = quantile) +
stat_apply_group(geom = "text", hjust = "right", color = "darkred",
.fun.y = quantile,
.fun.x = function(x) {rep(22, 5)}, # set x to 22
mapping = aes(label = after_stat(y.names))) +
expand_limits(x = 21))
expect_s3_class(result, "ggplot")
my.probs <- c(0.25, 0.5, 0.75)
result <- ggplot(my.df, aes(x = X, y = Y, colour = category)) +
geom_point() +
stat_apply_group(geom = "hline",
aes(yintercept = after_stat(y)),
.fun.y = quantile,
.fun.y.args = list(probs = my.probs))
result <- ggplot2::layer_data(result,2)
result <- result[result$group == 1,]$y %>% as.data.frame()
expected <- quantile(my.df[my.df$category == "A",]$Y, probs = my.probs) %>%
as.data.frame()
rownames(result) <- NULL
rownames(expected) <- NULL
expect_identical(result, expected)
# cummulative summaries
result <- ggplot(my.df.unsorted, aes(x = X, y = Y, colour = category)) +
stat_apply_group(.fun.x = function(x) {x},
.fun.y = cummax)
result <- ggplot2::layer_data(result)
result <- result[result$group == 1,]$y
expected <- cummax(my.df.unsorted[my.df.unsorted$category == "A",]$Y)
expect_identical(result, expected)
result <- ggplot(my.df, aes(x = X, y = Y, colour = category)) +
stat_apply_group(.fun.x = cumsum, .fun.y = cumsum)
result <- ggplot2::layer_data(result)
result <- result[result$group == 1,]$x %>% as.numeric()
expected <- cumsum(my.df[my.df$category == "A",]$X) %>% as.numeric()
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.