[Rd] as.list method for by Objects
Martin Maechler
maechler at stat.math.ethz.ch
Thu Feb 1 16:37:05 CET 2018
>>>>> Michael Lawrence <lawrence.michael at gene.com>
>>>>> on Thu, 1 Feb 2018 06:12:20 -0800 writes:
> On Thu, Feb 1, 2018 at 1:21 AM, Martin Maechler <maechler at stat.math.ethz.ch>
> wrote:
>> >>>>> Michael Lawrence <lawrence.michael at gene.com>
>> >>>>> on Tue, 30 Jan 2018 10:37:38 -0800 writes:
>>
>> > I agree that it would make sense for the object to have c("by",
>> "list") as
>> > its class attribute, since the object is known to behave as a list.
>>
>> Well, but that (list behavior) applies to most non-simple S3
>> classed objects, say "data.frame", say "lm" to start with real basic ones.
>>
>> The later part of the discussion, seems more relevant to me.
>> Adding "list" to the class attribute seems as wrong to me as
>> e.g. adding "double" to "Date" or "POSIXct" (and many more such cases).
>>
>>
> There's a distinction though. Date and POSIXct should not really behave as
> double values (an implementation detail), but "by" is expected to behave as
> a list (when it is one).
yes, you are right.... As I'm "never"(*) using by(), I'm glad
to leave this issue to you.
Martin
---
*) Never .... [James Bond, 1983]
> For the present case, we should stay with focusing on is.list()
>> being true after as.list() .. the same we would do with
>> as.numeric() and is.numeric().
>>
>> Martin
>>
>> > However, it would may be too disruptive to make this change at this
>> point.
>> > Hard to predict.
>>
>> > Michael
>>
>> > On Mon, Jan 29, 2018 at 5:00 PM, Dario Strbenac <
>> dstr7320 at uni.sydney.edu.au>
>> > wrote:
>>
>> >> Good day,
>> >>
>> >> I'd like to suggest the addition of an as.list method for a by
>> object that
>> >> actually returns a list of class "list". This would make it safer
>> to do
>> >> type-checking, because is.list also returns TRUE for a data.frame
>> variable
>> >> and using class(result) == "list" is an alternative that only
>> returns TRUE
>> >> for lists. It's also confusing initially that
>> >>
>> >> > class(x)
>> >> [1] "by"
>> >> > is.list(x)
>> >> [1] TRUE
>> >>
>> >> since there's no explicit class definition for "by" and no mention
>> if it
>> >> has any superclasses.
>> >>
>> >> --------------------------------------
>> >> Dario Strbenac
>> >> University of Sydney
>> >> Camperdown NSW 2050
>> >> Australia
>> >>
>> >> ______________________________________________
>> >> R-devel at r-project.org mailing list
>> >> https://stat.ethz.ch/mailman/listinfo/r-devel
>> >>
>> >>
>>
>> > [[alternative HTML version deleted]]
>>
>> > ______________________________________________
>> > R-devel at r-project.org mailing list
>> > https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
> [[alternative HTML version deleted]]
More information about the R-devel
mailing list