Message-ID: <CAOQ5NyfVWVo0yKOL18R5SNz8-GissmW8AJsE8MmQOz6wK429bQ@mail.gmail.com>
Date: 2015-10-01T00:28:22Z
From: Michael Lawrence
Subject: [Bioc-devel] Adding a lengths() method to List class
In-Reply-To: <560C4727.2010202@fredhutch.org>
It wasn't a conscious choice, but it would slow things down a bit. Not by
much though, since we're already attempting dispatch on length(). I can
make the change.
On Wed, Sep 30, 2015 at 1:33 PM, Herv? Pag?s <hpages at fredhutch.org> wrote:
> Hi Michael,
>
> I was expecting this to just work:
>
> base::lengths(IntegerList(1:4, 1:6))
>
> but it doesn't:
>
> Error in base::lengths(IntegerList(1:4, 1:6)) :
> 'x' must be a list or atomic vector
>
> The man page says:
>
> This function loops over ?x? and returns a compatible vector
> containing the length of each element in ?x?. Effectively,
> ?length(x[[i]])? is called for all ?i?, so any methods on ?length?
> are considered.
>
> If length(x[[i]]) is called for all i then it should work on any object
> for which [[ is defined. Note that this is what happens with
> base::sapply(), base::mapply(), etc... they all use [[ internally.
>
> Do you know of any reason why lengths() doesn't do this?
>
> Thanks,
> H.
>
>
> On 09/28/2015 09:51 PM, Michael Lawrence wrote:
>
>> That is the plan. Note that we already have elementLengths() that serves
>> the same purpose. It was the direct inspiration for lengths().
>>
>> On Mon, Sep 28, 2015 at 9:41 PM, Peter Hickey <peter.hickey at gmail.com>
>> wrote:
>>
>> The lengths() function was added in R 3.2 to "get the length of each
>>> element of a list or atomic vector (is.atomic) as an integer or numeric
>>> vector." It seems useful to me to have also a similar method defined for
>>> the S4Vectors::List class (and subclasses). What do others think?
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> Bioc-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>>
>>>
>> [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>>
> --
> 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
>
[[alternative HTML version deleted]]