title: Count subgroups in group_by with dplyr
body: <p>I'm stuck trying to do some counting on a data frame. The gist is to group by one variable and then break further by groups based on a second variable. From here I want to count the size if the subgroups for each group. The sample code is this:</p>
  
  <pre><code>set.seed(123456)
  df &lt;- data.frame(User = c(rep("A", 5), rep("B", 4), rep("C", 6)), 
                   Rank = c(rpois(5,1), rpois(4,2), rpois(6,3)))
  
  #This results in an error
  df %&gt;% group_by(User) %&gt;% group_by(Rank) %&gt;% summarize(Res = n_groups())
  </code></pre>
  
  <p>So what I want is 'User A' to have 3, 'User B' to have 4, and 'User C' to have 5. In other words the data frame df would end up looking like:</p>
  
  <pre><code>   User Rank Result
  1     A    2      3
  2     A    2      3
  3     A    1      3
  4     A    0      3
  5     A    0      3
  6     B    1      4
  7     B    2      4
  8     B    0      4
  9     B    6      4
  10    C    1      5
  11    C    4      5
  12    C    3      5
  13    C    5      5
  14    C    5      5
  15    C    8      5
  </code></pre>
  
  <p>I'm still learning dplyr, so I'm unsure how I should do it. How can this be achieved? Non-dplyr answers are also very welcome. Thanks in advance! </p>