library(dplyr)
base <- mtcars %>% ggvis(~mpg, ~cyl) %>% layer_points()
base %>% group_by(cyl) %>% summarise(mpg = mean(mpg)) %>%
layer_points(fill := "red", size := 100)
base %>% filter(mpg > 25) %>% layer_points(fill := "red")
base %>% mutate(cyl = jitter(cyl)) %>% layer_points(fill := "red")
if (FALSE) {
# Dynamically restrict range using filter
mtcars %>% ggvis(~disp, ~mpg) %>%
filter(cyl > eval(input_slider(0, 10))) %>%
layer_points()
# Dynamically compute box-cox transformation with mutate
bc <- function(x, lambda) {
if (abs(lambda) < 1e-6) log(x) else (x ^ lambda - 1) / lambda
}
bc_slider <- input_slider(-2, 2, 1, step = 0.1)
mtcars %>%
ggvis(~disp, ~mpg) %>%
mutate(disp = bc(disp, eval(bc_slider))) %>%
layer_points()
}
Run the code above in your browser using DataLab