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