в основном я ищу функциональность ddply, но автоматизирую создание переменных с использованием цикла или списка.

ользую ddply для агрегирования и суммирования переменных фрейма данных, и меня интересует циклический просмотр списка фреймов данных для создания новых переменных.

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),
                      ...
                      ...
                      ...))

Есть ли способ для меня вставить цикл в ddply, чтобы я мог избежать записи каждой новой сводной переменной, например,

for (i in 11:n) {
  paste("a", i, "_a", i - 1) = CustomFunction(..... )
}

Я знаю, что это не так, как на самом деле, но я просто хотел показать, как я это концептуализирую. Есть ли способ сделать это в функции, которую я вызываю в ddply, или через список?

ОБНОВИТЬ: Поскольку я новый пользователь, я не могу опубликовать ответ на свой вопрос:

Мой ответ включает идеи из ответа Ника и комментария Исты:

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)))
}

Ответы на вопрос(3)

Ваш ответ на вопрос