[Rd] minor error in documentation of pmax in base (PR#2513)

Liaw, Andy andy_liaw@merck.com
Fri Jan 31 19:04:08 2003


> From: Jonathan Baron [mailto:baron@cattell.psych.upenn.edu]
> 
> In a way it is not surprising, but some functions that operate on
> vectors will coerce their outputs into vectors and others won't.
> For example, try
> 
> m1 <- array(1:24,c(2,3,4))
> sort(m1)
> order(m1)

Now that I think a bit more about this example, I'm not sure if I like pmax
and pmin to work as they do now.  What if one does the following:

a1 <- array(1:24, 2:4)
a2 <- array(24:1, 4:2)
pmax(a1, a2)
pmin(a1, a2)

I don't know if there's a "natural" way to dimension the result in this
case.  Seen from this perspective, my preference would actually be what
sort() and order() do: drop the attribute.  If array is what's intended,
then the user can do that coercion explicitly.

Just my $0.02...
Andy

> 
> It would be nice to say when each of these things will happen.
> 
> For example, in the documentaition for ifelse, it says, "returns
> a value with the same shape as".  This sort of language would be
> helpful.
> 
> Jon
> 
> On 01/31/03 12:42, Liaw, Andy wrote:
> >If I'm not mistaken, matrices and arrays are just vectors with dim
> >attribute.  so I'm not surprised that pmax and pmin work as 
> they do.  You
> >get the same answer by the following:
> >
> >array(pmax(1:24, 24:1), c(2, 3, 4))
> >array(pmin(1:24, 24:1), c(2, 3, 4))
> >
> >
> >Cheers,
> >Andy
> >
> >> -----Original Message-----
> >> From: baron@cattell.psych.upenn.edu
> >> [mailto:baron@cattell.psych.upenn.edu]
> >> Sent: Friday, January 31, 2003 12:37 PM
> >> To: r-devel@stat.math.ethz.ch
> >> Cc: R-bugs@biostat.ku.dk
> >> Subject: [Rd] minor error in documentation of pmax in base 
> (PR#2513)
> >> 
> >> 
> >> The documentation says, "pmax and pmin take several vectors as
> >> arguments and return a single vector giving the parallel maxima
> >> (or minima) of the vectors."
> >> 
> >> I discovered that, if you use a matrix or array instead of a
> >> vector, pmax returns a matrix or array, respectively.
> >> 
> >> This makes pmax and pmin much more useful, and should not be left
> >> to people to discover on their own!
> >> 
> >> For example:
> >> m1 <- array(1:24,c(2,3,4))
> >> m2 <- array(24:1,c(2,3,4))
> >> pmax(m1,m2)
> >> pmin(m1,m2)
> >> 
> >> Jon Baron
> >> 
> >> ______________________________________________
> >> R-devel@stat.math.ethz.ch mailing list
> >> http://www.stat.math.ethz.ch/mailman/listinfo/r-devel
> >> 
> >
> >-------------------------------------------------------------
> -----------------
> >Notice: This e-mail message, together with any attachments, 
> contains information of Merck & Co., Inc. (Whitehouse 
> Station, New Jersey, USA) that may be confidential, 
> proprietary copyrighted and/or legally privileged, and is 
> intended solely for the use of the individual or entity named 
> on this message.  If you are not the intended recipient, and 
> have received this message in error, please immediately 
> return this by e-mail and then delete it.
> >
> >=============================================================
> =================
> >
> 
> -- 
> Jonathan Baron, Professor of Psychology, University of Pennsylvania
> Home page:            http://www.sas.upenn.edu/~baron
> Psychology webmaster: http://www.psych.upenn.edu/
> R page:               http://finzi.psych.upenn.edu/
> Questionnaires:       http://www.psych.upenn.edu/~baron/qs.html
> 

------------------------------------------------------------------------------