Are you aware that you can pass the function, itself, as an argument
(R is mostly a functional programming language where language objects
are first class objects).
e.g
> g <- function(x,fun)fun(x)
> g(2,function(x)x^2)
[1] 4
On Wed, Sep 22, 2010 at 4:06 PM, Jonathan Greenberg
wrote:
> R-hel
One possibility:
R> f = function(x, f) eval(as.call(list(as.name(f), x)))
R> f(1:10, "mean")
[1] 5.5
R> f(1:10, "max")
[1] 10
Andy
From: Jonathan Greenberg
> R-helpers:
>
> If I want to pass a character name of a function TO a
> function, and then
> have that function executed, how would I do
Hi,
I think the easiest way is with match.fun(). For instance:
apply_some_function <- function(data, function_name) {
FUN <- match.fun(function_name)
FUN(data)
}
> apply_some_function(1:10,"mean")
[1] 5.5
> apply_some_function(1:10,"min")
[1] 1
Cheers,
Josh
On Wed, Sep 22, 2010 at 4:06 P
3 matches
Mail list logo