[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
Wed Feb 15 20:32:59 CET 2017


It seems like this should be consistent with split(), since that's
what actually powers the behaviour.

Reading the description for split leads to this rather interesting example:

tapply(mtcars, 1:11, I)

Hadley

On Tue, Feb 14, 2017 at 7:10 PM, Hervé Pagès <hpages at fredhutch.org> wrote:
> 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.
>
> H.
>
>
> On 02/04/2017 04:17 AM, Tal Galili wrote:
>>
>> In the help page of ?tapply it says that the first argument (X) is "an
>> atomic object, typically a vector."
>>
>> However, tapply seems to be able to handle list objects. For example:
>>
>> ###################
>>
>> l <- as.list(1:10)
>> is.atomic(l) # FALSE
>> index <- c(rep(1,5),rep(2,5))
>> tapply(l,index,unlist)
>>
>>> tapply(l,index,unlist)
>>
>> $`1`
>> [1] 1 2 3 4 5
>>
>> $`2`
>> [1]  6  7  8  9 10
>>
>>
>> ###################
>>
>> Hence, does it mean a list an atomic object? (which I thought it wasn't)
>> or
>> is the help for tapply needs updating?
>> (or some third option I'm missing?)
>>
>> Thanks.
>>
>>
>>
>>
>>
>> ----------------Contact
>> Details:-------------------------------------------------------
>> Contact me: Tal.Galili at gmail.com |
>> Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) |
>> www.r-statistics.com (English)
>>
>> ----------------------------------------------------------------------------------------------
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
>>
>
> --
> Hervé Pagès
>
> Program in Computational Biology
> Division of Public Health Sciences
> Fred Hutchinson Cancer Research Center
> 1100 Fairview Ave. N, M1-B514
> P.O. Box 19024
> Seattle, WA 98109-1024
>
> E-mail: hpages at fredhutch.org
> Phone:  (206) 667-5791
> Fax:    (206) 667-1319
>
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.



-- 
http://hadley.nz



More information about the R-help mailing list