Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set.seed(123)
- d <- data.frame(y = c(rnorm(100), rnorm(100)+.5, rnorm(100)-1),
- x = rep(c("A", "B", "C"), each = 100))
- ggplot(d, aes(x, y)) + geom_boxplot()
- library(dplyr)
- d %>% group_by(x) %>%
- summarize(middle = median(y),
- mean = mean(y),
- sd = sd(y),
- lower = quantile(y, probs = .25),
- upper = quantile(y, probs = .75),
- ymin = max(mean - 2*sd, min(y)),
- ymax = min(mean + 2*sd, max(y)),
- outliers = list(y[y<ymin | y > ymax])) %>%
- ggplot(aes(x, ymin = ymin, lower = lower,
- middle = middle, upper = upper, ymax = ymax,
- outliers = outliers)) +
- geom_boxplot(stat = "identity")
Add Comment
Please, Sign In to add comment