Re: [Rd] [R] unvectorized option for outer()

From: Duncan Murdoch <murdoch_at_stats.uwo.ca>
Date: Tue 01 Nov 2005 - 15:56:54 GMT

On 11/1/2005 10:16 AM, Thomas Lumley wrote:

> On Tue, 1 Nov 2005, Duncan Murdoch wrote:
> 

>> The version I posted yesterday did indeed mess up when some arguments were
>> unspecified. Here's a revision that seems to work in all the tests I can
>> think of. I also added the SIMPLIFY and USE.NAMES args from mapply to it,
>> and a sanity check to the args.
>>
>> I did notice and work around one buglet in mapply: if you choose not to
>> vectorize any arguments, you don't get a call to the original function,
>> mapply returns "list()".
>>
>> For example,
>>
>>> mapply(function(x) x^2, MoreArgs = list(x=2))
>> list()
>>
>> whereas I would think 4 is a more logical answer.
>>
> 
> I don't agree at all.  The answer should be the length of the longest 
> vectorised argument, and it is.

I do agree that if I'd specified something like

mapply(function(x) x^2, x=numeric(0))

then the answer (which is again list()) would be correct. But what is the length of the longest item in an empty set? I'd say it's undefined.

Duncan Murdoch



R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed Nov 02 03:01:25 2005

This archive was generated by hypermail 2.1.8 : Tue 01 Nov 2005 - 17:21:14 GMT