Loops para criar novas variáveis no ddply
Estou usando o ddply para agregar e resumir variáveis do quadro de dados e estou interessado em percorrer a lista do meu quadro de dados para criar as novas variávei
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),
...
...
...))
Existe uma maneira de inserir um loop no ddply para evitar a gravação de cada nova variável de resumo, por exemplo,
for (i in 11:n) {
paste("a", i, "_a", i - 1) = CustomFunction(..... )
}
Eu sei que não é assim que realmente seria feito, mas eu só queria mostrar como eu o conceituaria. Existe uma maneira de fazer isso na função que eu chamo no ddply ou através de uma lista?
ATUALIZAR Como sou um novo usuário, não posso postar uma resposta para minha própria pergunta:
Minha resposta envolve idéias da resposta de Nick e do comentário 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)))
}