Carry out data manipulation within specified groups.
group_dt(.data, by = NULL, ...) rowwise_dt(.data, ...)
Variables to group by,unquoted name of grouping variable of list of unquoted names of grouping variables.
Any data manipulation arguments that could be implemented on a data.frame.
If you want to use
group_dt, it is better to use the "by" parameter in those functions,
that would be much faster because you don't have to use
.SD (which takes
extra time to copy).
iris %>% group_dt(by = Species,slice_dt(1:2)) iris %>% group_dt(Species,filter_dt(Sepal.Length == max(Sepal.Length))) iris %>% group_dt(Species,summarise_dt(new = max(Sepal.Length))) # you can pipe in the `group_dt` iris %>% group_dt(Species, mutate_dt(max= max(Sepal.Length)) %>% summarise_dt(sum=sum(Sepal.Length))) # for users familiar with data.table, you can work on .SD directly # following codes get the first and last row from each group iris %>% group_dt( by = Species, rbind(.SD,.SD[.N]) ) #' # for summarise_dt, you can use "by" to calculate within the group mtcars %>% summarise_dt( disp = mean(disp), hp = mean(hp), by = cyl ) # but you could also, of course, use group_dt mtcars %>% group_dt(by =.(vs,am), summarise_dt(avg = mean(mpg))) # and list of variables could also be used mtcars %>% group_dt(by =list(vs,am), summarise_dt(avg = mean(mpg))) # examples for `rowwise_dt` df <- data.table(x = 1:2, y = 3:4, z = 4:5) df %>% mutate_dt(m = mean(c(x, y, z))) df %>% rowwise_dt( mutate_dt(m = mean(c(x, y, z))) )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.