On 07/08/2014 07:21, Joshua Wiley wrote:
Hi Ryan,

It does work, but the *apply family of functions always pass to the first
argument, so you can specify e2 = , but not e1 =.  For example:

sapply(1:3, `>`, e2 = 2)
[1] FALSE FALSE  TRUE

That is not true:

gt <- function(x, y) x > y

> sapply(1:3, gt, y=2)
[1] FALSE FALSE  TRUE
> sapply(1:3, gt, x=2)
[1]  TRUE FALSE FALSE

Specifying the first argument(s) in an apply
call is a standard way of getting flexibility.

I'd hazard to guess that the reason the original
version doesn't work is because `>` is Primitive.
There's speed at the expense of not behaving quite
the same as typical functions.

Pat


From ?sapply

      'lapply' returns a list of the same length as 'X', each element of
      which is the result of applying 'FUN' to the corresponding element
      of 'X'.

so `>` is applied to each element of 1:3

`>`(1, ...)
`>`(2, ...)
`>`(3, ...)

and if e2 is specified than that is passed

`>`(1, 2)
`>`(2, 2)
`>`(3, 2)

Further, see ?Ops

    If the members of this group are called as functions, any
           argument names are removed to ensure that positional matching
           is always used.

and you can see this at work:

`>`(e1 = 1, e2 = 2)
[1] FALSE
`>`(e2 = 1, e1 = 2)
[1] FALSE

If you want to the flexibility to specify which argument the elements of X
should be *applied to, use a wrapper:

sapply(1:3, function(x) `>`(x, 2))
[1] FALSE FALSE  TRUE
sapply(1:3, function(x) `>`(2, x))
[1]  TRUE FALSE FALSE


HTH,

Josh



On Thu, Aug 7, 2014 at 2:20 PM, Ryan <rec...@bwh.harvard.edu> wrote:

Hi,

I'm wondering why calling ">" with named arguments doesn't work as
expected:

args(">")
function (e1, e2)
NULL

sapply(c(1,2,3), `>`, e2=0)
[1] TRUE TRUE TRUE

sapply(c(1,2,3), `>`, e1=0)
[1] TRUE TRUE TRUE

Shouldn't the latter be FALSE?

Thanks for any help,
Ryan


The information in this e-mail is intended only for th...{{dropped:23}}

______________________________________________
R-help@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.


--
Patrick Burns
pbu...@pburns.seanet.com
twitter: @burnsstat @portfolioprobe
http://www.portfolioprobe.com/blog
http://www.burns-stat.com
(home of:
 'Impatient R'
 'The R Inferno'
 'Tao Te Programming')

______________________________________________
R-help@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.

Reply via email to