title: label only subset of points in a ggplot where x was modified
body: <p>I have this kind of table:</p>
  
  <pre><code>dt &lt;- data.table(titles=c('B','C','A','C'),
                   labs  =c('b','c','a','c'),
                   values=c( 3, 2, 3, 4))
  </code></pre>
  
  <p>In order to plot the points without collapsing and re-ordering, I had to do the following trick with <code>ggplot()</code>: instead of <code>aes(x=titles, y=values)</code> I use <code>aes(x=seq_len(nrow(dt)), y=values)</code>:</p>
  
  <pre><code>ggplot(data = dt, 
         aes(x=seq_len(nrow(dt)), y=values)) + 
    geom_point() +
    geom_text(aes(label=labs)) +
    scale_x_discrete(labels=dt$titles) + xlab('titles')
  </code></pre>
  
  <p>Now I want to have labels not for all points but only for a subset of them (for example, where <code>values&gt;2</code>). This call doesn't work:</p>
  
  <pre><code>ggplot(data = dt, 
         aes(x=seq_len(nrow(dt)), y=values)) + 
    geom_point() +
    geom_text(data=subset(dt, values&gt;2), aes(label=labs)) +
    scale_x_discrete(labels=dt$titles) + xlab('titles')
   # Error: Aesthetics must be either length 1 or the same as the data (2): label, x, y
  </code></pre>
  
  <p>How to call <code>geom_text()</code> in this case?</p>