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)
.data | data.frame |
---|---|
... | List of variables or name-value pairs of summary/modifications
functions for |
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. |
data.table
summarise_vars
could complete summarise on specific columns.
#> avg #> <num> #> 1: 5.843333#> Species avg #> <fctr> <num> #> 1: setosa 5.006 #> 2: versicolor 5.936 #> 3: virginica 6.588#> 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 1iris %>% summarise_vars(is.numeric,min)#> Sepal.Length Sepal.Width Petal.Length Petal.Width #> <num> <num> <num> <num> #> 1: 4.3 2 1 0.1iris %>% summarise_vars(-is.factor,min)#> Sepal.Length Sepal.Width Petal.Length Petal.Width #> <num> <num> <num> <num> #> 1: 4.3 2 1 0.1iris %>% summarise_vars(1:4,min)#> Sepal.Length Sepal.Width Petal.Length Petal.Width #> <num> <num> <num> <num> #> 1: 4.3 2 1 0.1iris %>% 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 virginicairis %>% 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.4mtcars %>% 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