title: Use of ~ in R that does not refer to an equation (inside S4 class function)?
body: <p>Inside an S4 class function like this:</p>
  
  <pre><code>.groupVariants &lt;- function(variants, indexOnly) {
  
  extraCols &lt;- if (indexOnly) character(0) else c("chromosome", "position", "ref","allele", "group_id")
  
  groups &lt;- unique(variants$group_id)
  
  lapply(setNames(groups, groups), function(g) {
  
      filter_(variants, ~(group_id == g)) %&gt;%
  
          select_(~(one_of(c("variant.id", extraCols, "allele.index"))))
  
  })
  
  }
  </code></pre>
  
  <p>What does the use of the tilde symbol mean in the lines</p>
  
  <pre><code>filter_(variants, ~(group_id == g))
  
  select_(~(one_of(c("variant.id", extraCols, "allele.index"))))
  </code></pre>
  
  <p>and why are they needed?</p>