[R] Multivariate function from univariate functions
physicistintheory
physicistintheory at gmail.com
Sun Mar 25 05:04:49 CEST 2012
I'm relatively new to R and I'm stuck.
I'm trying to construct a surface to optimize from a multivariate dataset.
The dataset contains the response of a system to various stimuli. I am
trying to optimize the mix of stimuli to maximize the response. To do so,
I've interpolated the various datasets of type response vs. stimuli and I
now have an array of functions "interps" whose length is the length of the
array of the names of the various stimuli. I've also created a vector
containing names for the stimuli, vars = x.1, x.2, x.3...
Anyway, each of the functions in interps depends only on one variable
(obviously). I would like to construct a function, call it, "surface" which
is essentially: surface(vars) = interps[[1]]vars[[1]] +
interps[[2]]vars[[2]]+...
I've tried constructing surface recursively in a for loop:
surface <- function(vars){0}
for(i in 1:length(vars)){
surface <- function(vars){surface(vars) + interps[[i]](vars[[i]])}
}
This results in an infinite recursion error...which I think I understand.
Essentially, I'm trying to do the analog of something like i = i+1, but
instead of adding integers, I want to add terms to a function.
Any help is appreciated.
--
View this message in context: http://r.789695.n4.nabble.com/Multivariate-function-from-univariate-functions-tp4502670p4502670.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list