Loops para crear nuevas variables en ddply
Estoy usando ddply para agregar y resumir las variables del marco de datos, y estoy interesado en recorrer la lista de mi marco de datos para crear las nuevas variables.
new.data <- ddply(old.data,
c("factor", "factor2"),
function(df)
c(a11_a10 = CustomFunction(df$a11_a10),
a12_a11 = CustomFunction(df$a12_a11),
a13_a12 = CustomFunction(df$a13_a12),
...
...
...))
¿Hay alguna forma de insertar un bucle en ddply para evitar escribir cada nueva variable de resumen, por ejemplo,
for (i in 11:n) {
paste("a", i, "_a", i - 1) = CustomFunction(..... )
}
Sé que no es así como se haría realmente, pero solo quería mostrar cómo lo conceptualizaría. ¿Hay alguna manera de hacer esto en la función que llamo en ddply, o mediante una lista?
ACTUALIZAR Debido a que soy un usuario nuevo, no puedo publicar una respuesta a mi propia pregunta:
Mi respuesta involucra ideas de la respuesta de Nick y el comentario de Ista:
func <- function(old.data, min, max, gap) {
varrange <- min:max
usenames <- paste("a", varrange, "_a", varrange - gap, sep="")
new.data <- ddply(old.data,
.(factor, factor2),
colwise(CustomFunction, c(usenames)))
}