[R] Handling functions as objects

Julio Sergio juliosergio at gmail.com
Thu Mar 29 19:02:44 CEST 2012


I learnt that functions can be handled as objects, the same way the variables 
are. So, the following is perfectly valid:

> f = function(a, b) {
+    print(a)
+    print(b)
+ }
> 
> f1 = function(foo) {
+    foo(1,2)
+ }
> 
> f1(f)
[1] 1
[1] 2
> 

I also know that operators are functions, so, I can call:

> '+'(1,2)
[1] 3
> 

However, when I want to pass the '+' function to the previous f1 function, it 
doesn't work:

> f1('+')
Error en f1("+") : no se pudo encontrar la función "foo"
>

(Error in f1("+") : the function "foo" cannot be found)

Do you have any comments on this?

Thanks,

--Sergio.



More information about the R-help mailing list