Is a list an atomic object? (or is there an issue with the help page of ?tapply ?)
The problem with Bert's second example is that sum doesn't work on a list. The tapply worked correctly.
unlist(l[1:5])
[1] 1 2 3 4 5
sum(l[1:5])
Error in sum(l[1:5]) : invalid 'type' (list) of argument
On Tue, Feb 14, 2017 at 8:28 PM, Bert Gunter <bgunter.4567 at gmail.com> wrote:
Herv?: Kindly explain this, then:
l <- as.list(1:10) is.atomic(l) # FALSE
[1] FALSE
index <- c(rep(1,5),rep(2,5)) tapply(l,index,unlist)
$`1` [1] 1 2 3 4 5 $`2` [1] 6 7 8 9 10
## But tapply(l,index, sum)
Error in FUN(X[[i]], ...) : invalid 'type' (list) of argument Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Tue, Feb 14, 2017 at 5: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.
______________________________________________ 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.