Analogous function for summarise in dplyr.

summarise_dt(.data, ..., by = NULL)

summarize_dt(.data, ..., by = NULL)

summarise_when(.data, when, ..., by = NULL)

summarize_when(.data, when, ..., by = NULL)

summarise_vars(.data, .cols = NULL, .func, ..., by)

summarize_vars(.data, .cols = NULL, .func, ..., by)

Arguments

.data

data.frame

...

List of variables or name-value pairs of summary/modifications functions for summarise_dt.Additional parameters to be passed to parameter '.func' in summarise_vars.

by

unquoted name of grouping variable of list of unquoted names of grouping variables. For details see data.table

when

An object which can be coerced to logical mode

.cols

Columns to be summarised.

.func

Function to be run within each column, should return a value or vectors with same length.

Value

data.table

Details

summarise_vars could complete summarise on specific columns.

See also

Examples

iris %>% summarise_dt(avg = mean(Sepal.Length))
#> avg #> <num> #> 1: 5.843333
iris %>% summarise_dt(avg = mean(Sepal.Length),by = Species)
#> Species avg #> <fctr> <num> #> 1: setosa 5.006 #> 2: versicolor 5.936 #> 3: virginica 6.588
mtcars %>% summarise_dt(avg = mean(hp),by = .(cyl,vs))
#> cyl vs avg #> <num> <num> <num> #> 1: 6 0 131.6667 #> 2: 4 1 81.8000 #> 3: 6 1 115.2500 #> 4: 8 0 209.2143 #> 5: 4 0 91.0000
# the data.table way mtcars %>% summarise_dt(cyl_n = .N, by = .(cyl, vs)) # `.`` is short for list
#> cyl vs cyl_n #> <num> <num> <int> #> 1: 6 0 3 #> 2: 4 1 10 #> 3: 6 1 4 #> 4: 8 0 14 #> 5: 4 0 1
iris %>% summarise_vars(is.numeric,min)
#> Sepal.Length Sepal.Width Petal.Length Petal.Width #> <num> <num> <num> <num> #> 1: 4.3 2 1 0.1
iris %>% summarise_vars(-is.factor,min)
#> Sepal.Length Sepal.Width Petal.Length Petal.Width #> <num> <num> <num> <num> #> 1: 4.3 2 1 0.1
iris %>% summarise_vars(1:4,min)
#> Sepal.Length Sepal.Width Petal.Length Petal.Width #> <num> <num> <num> <num> #> 1: 4.3 2 1 0.1
iris %>% summarise_vars(.func = as.character)
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species #> <char> <char> <char> <char> <char> #> 1: 5.1 3.5 1.4 0.2 setosa #> 2: 4.9 3 1.4 0.2 setosa #> 3: 4.7 3.2 1.3 0.2 setosa #> 4: 4.6 3.1 1.5 0.2 setosa #> 5: 5 3.6 1.4 0.2 setosa #> --- #> 146: 6.7 3 5.2 2.3 virginica #> 147: 6.3 2.5 5 1.9 virginica #> 148: 6.5 3 5.2 2 virginica #> 149: 6.2 3.4 5.4 2.3 virginica #> 150: 5.9 3 5.1 1.8 virginica
iris %>% summarise_vars(is.numeric,min,by ="Species")
#> Species Sepal.Length Sepal.Width Petal.Length Petal.Width #> <fctr> <num> <num> <num> <num> #> 1: setosa 4.3 2.3 1.0 0.1 #> 2: versicolor 4.9 2.0 3.0 1.0 #> 3: virginica 4.9 2.2 4.5 1.4
mtcars %>% summarise_vars(is.numeric,mean,by = "vs,am")
#> vs am mpg cyl disp hp drat wt qsec #> <num> <num> <num> <num> <num> <num> <num> <num> <num> #> 1: 0 1 19.75000 6.333333 206.2167 180.83333 3.935000 2.857500 15.79667 #> 2: 1 1 28.37143 4.000000 89.8000 80.57143 4.148571 2.028286 18.70000 #> 3: 1 0 20.74286 5.142857 175.1143 102.14286 3.570000 3.194286 19.96714 #> 4: 0 0 15.05000 8.000000 357.6167 194.16667 3.120833 4.104083 17.14250 #> gear carb #> <num> <num> #> 1: 4.666667 4.666667 #> 2: 4.142857 1.428571 #> 3: 3.571429 2.142857 #> 4: 3.000000 3.083333