関数のリストがあります
funs <- list(fn1 = function(x) x^2,
fn2 = function(x) x^3,
fn3 = function(x) sin(x),
fn4 = function(x) x+1)
#in reality these are all f = splinefun()
そして、私はデータフレームを持っています:
mydata <- data.frame(x1 = c(1, 2, 3, 2),
x2 = c(3, 2, 1, 0),
x3 = c(1, 2, 2, 3),
x4 = c(1, 2, 1, 2))
#actually a 500x15 dataframe of 500 samples from 15 parameters
i行ごとに、j列ごとに関数jを評価し、結果を合計したいと思います。
unlist(funs)
attach(mydata)
a <- rep(NA,4)
for (i in 1:4) {
a[i] <- sum(fn1(x1[i]), fn2(x2[i]), fn3(x3[i]), fn4(x4[i]))
}
これを効率的に行うにはどうすればよいですか?plyr
これは機能を実装する適切な機会ですか? もしそうなら、どのように?
おまけの質問: なぜa[4]
NA
ですか?
の関数を使用するのに適切な時期plyr
ですか?