title: Dplyr pipe groupby top_n does not get top_n in group
body: <p>I'm trying to obtain the top 2 names, sorted alphabetically, per group. I would think that <code>top_n()</code> would select this after I perform a group_by. However, this does not seem to be the case. This code shows the problem.</p>
  
  <pre><code>df &lt;- data.frame(Group = c(0, 0, 0, 1, 1, 1),
                   Name = c("a", "c", "b", "e", "d", "f"))
  
  df &lt;- df %&gt;%
        arrange(Name, Group) %&gt;%
        group_by(Group) %&gt;%
        top_n(2)
  
  df
  
  # A tibble: 2 x 2
  # Groups:   Group [1]
    Group Name 
    &lt;dbl&gt; &lt;chr&gt;
  1     1 e    
  2     1 f 
  </code></pre>
  
  <p>Expected output would be:</p>
  
  <pre><code>df &lt;- df %&gt;%
        arrange(Name, Group) %&gt;%
        group_by(Group) %&gt;%
        top_n(2)
  df
  
        Group Name
  1     0    a
  2     0    b
  3     1    d
  4     1    e
  </code></pre>
  
  <p>Or something similar. Thanks.</p>