Btw, a subtle issue here is that elementLengths currently calls NROW(), not
length(), and code might be relying on DataFrameList returning row counts.
That behavior has proven convenient, so it would be nice not to lose it. I
guess nrow() already does that, but anyway, lengths() is not the equivalent
of elementLengths() there.

On Wed, Sep 30, 2015 at 9:37 PM, Hervé Pagès <hpa...@fredhutch.org> wrote:

> On 09/30/2015 05:28 PM, Michael Lawrence wrote:
>
>> 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.
>>
>
> That would be great. Thanks Michael!
>
> H.
>
>
>> On Wed, Sep 30, 2015 at 1:33 PM, Hervé Pagès <hpa...@fredhutch.org
>> <mailto:hpa...@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.hic...@gmail.com <mailto:peter.hic...@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@r-project.org <mailto:Bioc-devel@r-project.org>
>>             mailing list
>>             https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>>
>>                  [[alternative HTML version deleted]]
>>
>>         _______________________________________________
>>         Bioc-devel@r-project.org <mailto:Bioc-devel@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: hpa...@fredhutch.org <mailto:hpa...@fredhutch.org>
>>     Phone: (206) 667-5791 <tel:%28206%29%20667-5791>
>>     Fax: (206) 667-1319 <tel:%28206%29%20667-1319>
>>
>>
>>
> --
> 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: hpa...@fredhutch.org
> Phone:  (206) 667-5791
> Fax:    (206) 667-1319
>

        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to