R: Usar una cadena como argumento para mutar el verbo en dplyr
Estoy creando una aplicación brillante que necesita permitir a los usuarios definir nuevas variables para trazar. Específicamente, quiero permitir que los usuarios definan una expresión para usar en el verbo mutate. El servidor recibe la expresión como texto y me pregunto cómo hacer que mutate lo ejecute en dplyr 0.7. Puedo hacer que funcione (parcialmente) usando mutate_ pero ahora está en desuso. También define el nuevo nombre de columna como la expresión completa en lugar de la nueva variable
Aquí hay un ejemplo reproducible:
input_from_shiny <- "Petal.ratio = Petal.Length/Petal.Width"
iris_mutated <- iris %>% mutate_(input_from_shiny)
Esto da lo siguiente
> 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
Técnicamente, puedo usar la expresión regular para extraer el nuevo nombre de variable de la cadena y cambiar el nombre de la nueva columna en consecuencia, pero me pregunto cuál es la forma correcta de implementarlo utilizando la última versión de dplyr (estaba leyendohttps://cran.r-project.org/web/packages/dplyr/vignettes/programming.html, pero no pude resolverlo)