From ggrothendieck at gmail.com  Wed Jun 10 16:23:44 2009
From: ggrothendieck at gmail.com (Gabor Grothendieck)
Date: Wed, 10 Jun 2009 10:23:44 -0400
Subject: [Rd] Reduce: extra args wishlist?
In-Reply-To: <4A2FBDCF.4050003@ufl.edu>
References: <4A2AF18D.8030805@ufl.edu>
	<alpine.LFD.2.00.0906101454580.22065@gannet.stats.ox.ac.uk> 
	<4A2FBDCF.4050003@ufl.edu>
Message-ID: <971536df0906100723r239a7f84p34a923302baba6bd@mail.gmail.com>

If ... is not available you can get a minor reduction using fn$ in gsubfn.
Any function call prefaced by fn$ allows the use of formulas as functions
(and perl-like interpolation of strings) in the call args (subject to certain
rules that determine which args are interpreted and which not).  The LHS
of the formula specifies the args but if omitted then it uses the free
variables from the RHS in the order encountered:

> library(gsubfn)
> fn$Reduce(~ merge(x, y, by = "state", all = TRUE), z)
          state cases.x cases.y cases
1    California       0       1     1
2 Massachusetts      NA       2     2
3       Arizona      NA      NA    17

See http://gsubfn.googlecode.com for more.

On Wed, Jun 10, 2009 at 10:06 AM, Ben Bolker<bolker at ufl.edu> wrote:
> Prof Brian Ripley wrote:
>> I think the idiom of the languages from which this comes would indeed
>> to be use an anonymous function, and in R to use ... and no braces, as
>> in
>>
>> Reduce(function(...) merge(..., by="state", all=TRUE), z)
>>
>> But that's not the (ony) R idiom, so I am happy to add a ... argument
>> to Reduce. ?Unfortunately the patch below is backwards (you have diffs
>> from old to new in 'patch' format), and we do need to patch the
>> documentation (which gets a bit ugly as ... has a different meaning
>> for another function on the Reduce help page). ?I think I have sorted
>> these out, and will commit to R-devel shortly.
>
> ?Hmm. ?Thanks. ?Sorry about the patch glitch. ?(On my Ubuntu system,
> patch has a -R flag that would seem to take care of that ...)
>
> ?I accepted Kurt's explanation. ?I'm curious what the protocol is when
> R-core members differ? ?(I would have guessed that conservatism would
> rule, or the opinion of the original author of the functions (I don't
> know who contributed Reduce et al.), but perhaps Kurt doesn't have
> strong feelings about this ...
>
> ?cheers
> ? ?Ben
>
>
>
> --
> Ben Bolker
> Associate professor, Biology Dep't, Univ. of Florida
> bolker at ufl.edu / www.zoology.ufl.edu/bolker
> GPG key: www.zoology.ufl.edu/bolker/benbolker-publickey.asc
>
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>



[Rd] Reduce: extra args wishlist?
Gabor Grothendieck