dplyr - mutate: usa nombres de variables dinámicas

Quiero usardplyr's mutate() para crear múltiples columnas nuevas en un marco de datos. Los nombres de columna y sus contenidos deben generarse dinámicamente.

Datos de ejemplo de iris:

require(dplyr)
data(iris)
iris <- tbl_df(iris)

He creado una función para mutar mis nuevas columnas delPetal.Width variable:

multipetal <- function(df, n) {
    varname <- paste("petal", n , sep=".")
    df <- mutate(df, varname = Petal.Width * n)  ## problem arises here
    df
}

Ahora creo un bucle para construir mis columnas:

for(i in 2:5) {
    iris <- multipetal(df=iris, n=i)
}

Sin embargo, dado que mutate piensa que varname es un nombre de variable literal, el ciclo solo crea una nueva variable (llamada varname) en lugar de cuatro (llamada petal.2 - petal.5).

Como puedo conseguirmutate() utilizar mi nombre dinámico como nombre de variable?

Respuestas a la pregunta(7)

Su respuesta a la pregunta