By loading plyr later you are masking some function names
The following objects are masked from ‘package:dplyr’:
arrange, count, desc, failwith, id, mutate, rename, summarise, summarize
I don't see a reason for using plyr over dplyr but you can solve this problem by being specific about the source package for each masked function e.g.
mtcars %>%
group_by(cyl) %>%
dplyr::mutate(Rank=min_rank(dplyr::desc(mpg))) %>%
dplyr::arrange(cyl, Rank)