[R] Pass an operator to function

Michael Bedward michael.bedward at gmail.com
Wed Dec 1 05:22:08 CET 2010


Here is one way...

f <- function(a, b, op="==") {
 call <- call(op, a, b)
 result <- eval(call)
 # possibly do other stuff
 result
}


> f(1, 2)
[1] FALSE
> f(1, 2, "<")
[1] TRUE


Michael

On 1 December 2010 13:54, randomcz <randomcz at gmail.com> wrote:
>
> Hi guys,
>
> How to pass an operator to a function. For example,
>
> test <- function(a, ">", b)
> {
>      return(a>b) #the operator is passed as an argument
> }
>
> Thanks,
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Pass-an-operator-to-function-tp3066627p3066627.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list