


library (dplyr) mtcars > summariseall (list (mean mean (.), median median (.), n n ())) However, getting the n () for each column is not making much sense as it would be the same. count () is paired with tally (), a lower-level helper that is equivalent to df > summarise (n n ()). For this, I turn to none other than dplyr s across function. Here, we can use the if we want to have finer control, i.e. very useful summary is n(), which returns the number of rows in each group. Dail圜ompeted is the sum of boolean Finished, and total is giving the total count for that day in that region. Well start with functions that operate on rows and then columns of a data. Library ( dplyr ) starwars %>% filter ( species = "Droid" ) #> # A tibble: 6 × 14 #> name height mass hair_color skin_color eye_color birth_year sex gender #> #> 1 C-3PO 167 75 gold yellow 112 none masculi… #> 2 R2-D2 96 32 white, blue red 33 none masculi… #> 3 R5-D4 97 32 white, red red NA none masculi… #> 4 IG-88 200 140 none metal red 15 none masculi… #> 5 R4-P17 96 NA none silver, red red, blue NA none feminine #> # ℹ 1 more row #> # ℹ 5 more variables: homeworld, species, films, #> # vehicles, starships starwars %>% select ( name, ends_with ( "color" ) ) #> # A tibble: 87 × 4 #> name hair_color skin_color eye_color #> #> 1 Luke Skywalker blond fair blue #> 2 C-3PO gold yellow #> 3 R2-D2 white, blue red #> 4 Darth Vader none white yellow #> 5 Leia Organa brown light brown #> # ℹ 82 more rows starwars %>% mutate ( name, bmi = mass / ( ( height / 100 ) ^ 2 ) ) %>% select ( name : mass, bmi ) #> # A tibble: 87 × 4 #> name height mass bmi #> #> 1 Luke Skywalker 172 77 26.0 #> 2 C-3PO 167 75 26.9 #> 3 R2-D2 96 32 34.7 #> 4 Darth Vader 202 136 33.3 #> 5 Leia Organa 150 49 21.8 #> # ℹ 82 more rows starwars %>% arrange ( desc ( mass ) ) #> # A tibble: 87 × 14 #> name height mass hair_color skin_color eye_color birth_year sex gender #> #> 1 Jabba De… 175 1358 green-tan… orange 600 herm… mascu… #> 2 Grievous 216 159 none brown, wh… green, y… NA male mascu… #> 3 IG-88 200 140 none metal red 15 none mascu… #> 4 Darth Va… 202 136 none white yellow 41.9 male mascu… #> 5 Tarfful 234 136 brown brown blue NA male mascu… #> # ℹ 82 more rows #> # ℹ 5 more variables: homeworld, species, films, #> # vehicles, starships starwars %>% group_by ( species ) %>% summarise ( n = n ( ), mass = mean ( mass, na.rm = TRUE ) ) %>% filter ( n > 1, mass > 50 ) #> # A tibble: 8 × 3 #> species n mass #> #> 1 Droid 6 69.8 #> 2 Gungan 3 74 #> 3 Human 35 82.8 #> 4 Kaminoan 2 88 #> 5 Mirialan 2 53. count () lets you quickly count the unique values of one or more variables: df > count (a, b) is roughly equivalent to df > groupby (a, b) > summarise (n n ()). Is my approach the only way, or is it possible to use dplyr methods to remove a grouping level when calculating n() Example below.
