SteveK SteveK - 1 year ago 101
R Question

Apply a multi-variable function to a vector in R

I would like to define an arbitrary function of an arbitrary number of variables, for example, for 2 variables:

func2 <- function(time, temp) time + temp

I'd like to keep variable names that have a meaning in the problem (time and temperature above).

If I have a vector of values for these variables, for example in the 2-d case, c(10, 121), I'd like to apply my function (func2 here) and obtain the result. Conceptually, something like,




Is there a simple way to accomplish this, for an arbitrary number of variables?


Answer Source

You could write a helper function to turn a simple vector into parameters with the help of

splat <- function(f,v) {, as.list(v))

splat(func2, c(10,121))
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download