title: R: Using a string as an argument to mutate verb in dplyr
body: <p>I am building a shiny app which needs to allow users to define new variables for plotting. Specifically I want to allow users to define an expression to be used in mutate verb. The server receives the expression as text and I am wondering how to make mutate execute it in dplyr 0.7. I can make it work (partially) using mutate_ but it is deprecated now. It also defines the new column name as the entire expression rather than the new variable</p>
  
  <p>Here is a reproducible example: </p>
  
  <pre><code>input_from_shiny &lt;- "Petal.ratio = Petal.Length/Petal.Width"
  iris_mutated &lt;- iris %&gt;% mutate_(input_from_shiny)
  </code></pre>
  
  <p>This gives the following </p>
  
  <pre><code>&gt; head(iris_mutated)
    Sepal.Length Sepal.Width Petal.Length Petal.Width Species Petal.ratio = Petal.Length/Petal.Width
  1          5.1         3.5          1.4         0.2  setosa                                   7.00
  2          4.9         3.0          1.4         0.2  setosa                                   7.00
  3          4.7         3.2          1.3         0.2  setosa                                   6.50
  4          4.6         3.1          1.5         0.2  setosa                                   7.50
  5          5.0         3.6          1.4         0.2  setosa                                   7.00
  6          5.4         3.9          1.7         0.4  setosa                                   4.25
  </code></pre>
  
  <p>Technically,  I can use regular expression to extract new variable name from the string and rename the new column accordingly, but I am wondering what is the correct way to implement it using latest dplyr version (was reading <a href="https://cran.r-project.org/web/packages/dplyr/vignettes/programming.html" rel="noreferrer">https://cran.r-project.org/web/packages/dplyr/vignettes/programming.html</a>, but could not figure it out)</p>