[R] Is a list an atomic object? (or is there an issue with the help page of ?tapply ?)
Hadley Wickham
h.wickham at gmail.com
Mon Feb 20 17:04:58 CET 2017
On Mon, Feb 20, 2017 at 7:31 AM, Martin Maechler
<maechler at stat.math.ethz.ch> wrote:
>>>>>> Hervé Pagès <hpages at fredhutch.org>
>>>>>> on Tue, 14 Feb 2017 17:10:05 -0800 writes:
>
> > Hi, tapply() will work on any object 'X' that has a length
> > and supports single-bracket subsetting. These objects are
> > sometimes called "vector-like" objects. Atomic vectors,
> > lists, S4 objects with a "length" and "[" method,
> > etc... are examples of "vector-like" objects.
>
> > So instead of saying
>
> > X: an atomic object, typically a vector.
>
> > I think it would be more accurate if the man page was
> > saying something like
>
> > X: a vector-like object that supports subsetting with
> > `[`, typically an atomic vector.
>
> Thank you, Hervé!
>
> Actually (someone else mentioned ?)
> only length(X) and split(X, <group>) need to work,
> and as split() itself is an S3 generic function, X can be even
> more general... well depending on how exactly you understand
> "vector-like".
>
> So I would go with
>
> X: an R object for which a ‘split’ method exists. Typically
> vector-like, allowing subsetting with ‘[’.
I think technically tapply() should be using NROW() check that X and
INDEX are compatible. That would make it more compatible with split()
semantics.
Hadley
--
http://hadley.nz
More information about the R-help
mailing list