Skip to content
Back to formatted view

Raw Message

Message-ID: <VI1PR01MB441623E25C023B140D9017BAD9600@VI1PR01MB4416.eurprd01.prod.exchangelabs.com>
Date: 2019-02-15T12:15:38Z
From: Newell, Paul
Subject: POSIXlt class and lapply
In-Reply-To: <CAF8bMcb0CitdMRt1md00c2pe9G8uEXYuex_+wOySZ_ra_MaxCA@mail.gmail.com>

Many thanks Bill Dunlap.

You are correct that `lapply` calls `as.list`, which I should have seen if I had looked a little harder.

Whether that would have led me to locate `as.list.POSIXlt` is another matter.

Best wishes.



From: William Dunlap <wdunlap at tibco.com>
Sent: 14 February 2019 20:03
To: Newell, Paul
Cc: r-help at r-project.org
Subject: Re: [R] POSIXlt class and lapply
?
Somewhere between R-3.3.3 and R-3.5.2 a POSIXlt method for as.list() was added, and lapply probably calls as.list().


> RCompare(methods("as.list"))
R version 3.3.3 (2017-03-06)? ? ? ? ? ? ? ? ? ? ? ? | R version 3.5.1 (2018-07-02)
[1] as.list.data.frame? ? ? as.list.Date? ? ? ? ? ? | [1] as.list.data.frame? ? ? as.list.Date
[3] as.list.default? ? ? ? ?as.list.environment? ? ?| [3] as.list.default? ? ? ? ?as.list.environment
[5] as.list.factor? ? ? ? ? as.list.function? ? ? ? | [5] as.list.factor? ? ? ? ? as.list.function
[7] as.list.numeric_version as.list.POSIXct? ? ? ? ?| [7] as.list.numeric_version as.list.POSIXct
see '?methods' for accessing help and source code? ?| [9] as.list.POSIXlt
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | see '?methods' for accessing help and source code




Bill Dunlap
TIBCO Software
wdunlap tibco.com




On Thu, Feb 14, 2019 at 9:45 AM Newell, Paul <paul.newell at metoffice.gov.uk> wrote:

Dear R-helpers,

We have recently upgraded from R-3.3.1 to R-3.5.2.

It seems there has been a change in behaviour of `lapply` and the `POSIXlt` class that I cannot find explicitly documented.


In R-3.3.1:

> lapply(as.POSIXlt(Sys.Date()), length)
$sec
[1] 1
$min
[1] 1
$hour
[1] 1
$mday
[1] 1
$mon
[1] 1
$year
[1] 1
$wday
[1] 1
$yday
[1] 1
$isdst
[1] 1


whereas, in R-3.5.2:

> lapply(as.POSIXlt(Sys.Date()), length)
[[1]]
[1] 1


Is this change in behaviour intentional?

Realistically, I cannot see anything documented to say that `lapply` should behave as per R-3.3.1 on a `POSIXlt` object, so it is/was perhaps unwise to rely on it.


Best wishes,
Paul Newell
______________________________________________
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.