dplyr-ggvis | R Documentation |
Applying a dplyr verb to a ggvis object creates a reactive transformation: whenever the underlying data changes the transformation will be recomputed.
## S3 method for class 'ggvis'
groups(x)
## S3 method for class 'ggvis'
group_by(.data, ..., .add = FALSE)
## S3 method for class 'ggvis'
ungroup(x, ...)
## S3 method for class 'ggvis'
summarise(.data, ...)
## S3 method for class 'ggvis'
mutate(.data, ...)
## S3 method for class 'ggvis'
arrange(.data, ...)
## S3 method for class 'ggvis'
select(.data, ...)
filter.ggvis(.data, ...)
## S3 method for class 'ggvis'
distinct(.data, ...)
## S3 method for class 'ggvis'
slice(.data, ...)
## S3 method for class 'ggvis'
rename(.data, ...)
## S3 method for class 'ggvis'
transmute(.data, ...)
## S3 method for class 'reactive'
groups(x)
## S3 method for class 'reactive'
ungroup(x, ...)
## S3 method for class 'reactive'
group_by(.data, ..., add = FALSE)
## S3 method for class 'reactive'
summarise(.data, ...)
## S3 method for class 'reactive'
mutate(.data, ...)
## S3 method for class 'reactive'
arrange(.data, ...)
## S3 method for class 'reactive'
select(.data, ...)
filter.reactive(.data, ...)
## S3 method for class 'reactive'
distinct(.data, ...)
## S3 method for class 'reactive'
slice(.data, ...)
## S3 method for class 'reactive'
rename(.data, ...)
## S3 method for class 'reactive'
transmute(.data, ...)
Both dplyr and shiny do non-standard evaluation, so to help each package
figure out when it should evaluate its code, reactive components in
these functions must be wrapped in eval()
.
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")
## Not run:
# 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()
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.