Anytime you see code including the sequence group_by then summarize(n = n()), you can use count() instead. It helpfully does the this sequence for you, has a built in argument named sort which does the arrange() step for you, and it also does the ungroup() step, which you don't show but would need to do any further operations on this tibble.
library(tidyverse)
#> Warning: package 'tibble' was built under R version 3.5.2
#> Warning: package 'purrr' was built under R version 3.5.2
set.seed(9782)
test.df <-data.frame(A = sample(LETTERS, 10000, T),
B = sample(letters, 10000, T),
C = sample(1:5, 10000, T))
test.df %>%
count(A, B, C, sort = TRUE)
#> # A tibble: 3,206 x 4
#> A B C n
#> <fct> <fct> <int> <int>
#> 1 J g 2 11
#> 2 V z 3 10
#> 3 A o 2 9
#> 4 A q 2 9
#> 5 C v 3 9
#> 6 E e 5 9
#> 7 F j 5 9
#> 8 J w 4 9
#> 9 M k 3 9
#> 10 P o 1 9
#> # … with 3,196 more rows
# the name argument currently is only possible in the development version of dplyr
# devtools::install_github("tidyverse/dplyr@rc_0.8.0")
test.df %>%
count(A, B, C, sort = TRUE, name = "unique_count")
#> # A tibble: 3,206 x 4
#> A B C unique_count
#> <fct> <fct> <int> <int>
#> 1 J g 2 11
#> 2 V z 3 10
#> 3 A o 2 9
#> 4 A q 2 9
#> 5 C v 3 9
#> 6 E e 5 9
#> 7 F j 5 9
#> 8 J w 4 9
#> 9 M k 3 9
#> 10 P o 1 9
#> # … with 3,196 more rows
Created on 2019-02-11 by the reprex package (v0.2.1)