[R-pkg-devel] Warning 'as.data.frame.POSIXct()' is deprecated

Dirk Eddelbuettel edd @end|ng |rom deb|@n@org
Thu Jul 6 15:22:24 CEST 2023


On 6 July 2023 at 08:14, Dirk Eddelbuettel wrote:
| 
| On 6 July 2023 at 14:31, Vincent van Hees wrote:
| | Thanks, in that case the REPLEX for the issue may need to be:
| | 
| | > remember = Sys.getenv("_R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_")
| | > Sys.setenv("_R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_" = TRUE)
| | > data.frame(time = Sys.time())
| |                  time
| | 1 2023-07-06 14:29:37
| | > data.frame(time = as.POSIXlt(Sys.time()))
| |                  time
| | 1 2023-07-06 14:29:37
| | Warning message:
| | Direct call of 'as.data.frame.POSIXct()' is deprecated.  Use
| | 'as.data.frame.vector()' or 'as.data.frame()' instead
| | > Sys.setenv("_R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_" = remember)
| 
| Does _not_ happen in a plain R session.
| 
| Does happen when `library(tidyverse)` is executed first. May come from
| `tibble` or `vectors`, I have a habit of not using those much. 

Err, no, wait. I may have confused myself here jumping between R-devel and
R (release).  Please disregard, and apologies for the noise.

In any event, assigning a POSIXlt (which is an 11-element list) to a single
column is not a great idiom and we had the POSIXct conversion there for a
while IIRC.

But assigning a POSIXct to a column should always work, and I would be
surprised to find a minimally complete reproducible example showing that it
does not.  

Dirk

| Dirk
|  
| | Vincent
| | 
| | On Thu, 6 Jul 2023 at 10:41, Tim Taylor <tim.taylor using hiddenelephants.co.uk>
| | wrote:
| | 
| | > Apologies - I've not had enough caffeine just yet. The reprex below
| | > highlights the issue but I think the code which implemented the change
| | > *may* need tweaking not lapply.
| | >
| | > Tim
| | >
| | > On 06/07/2023 09:26, Tim Taylor wrote:
| | > > This *may* be an issue in lapply.  Let's see what others day. Reprex
| | > > below
| | > >
| | > > Sys.setenv("_R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_" = TRUE)
| | > > dat <- Sys.Date()
| | > > as.data.frame(dat)
| | > > #>          dat
| | > > #> 1 2023-07-06
| | > > lapply(dat, as.data.frame)
| | > > #> Warning: Direct call of 'as.data.frame.Date()' is deprecated.  Use
| | > > #> 'as.data.frame.vector()' or 'as.data.frame()' instead
| | > > #> [[1]]
| | > > #>       X[[i]]
| | > > #> 1 2023-07-06
| | > >
| | > > Tim
| | > >
| | > > On 06/07/2023 08:54, Vincent van Hees wrote:
| | > >> Dear all,
| | > >>
| | > >> I see the following warning in my package test results:
| | > >>
| | > >> ```
| | > >> Warning
| | > >> Direct call of 'as.data.frame.POSIXct()' is deprecated.  Use
| | > >> 'as.data.frame.vector()' or 'as.data.frame()' instead
| | > >> ```
| | > >>
| | > >> The warning is not always there and I struggle to make it
| | > >> reproducible. I
| | > >> have encountered it in both Ubuntu 22.04 and in Windows 11, in both R
| | > >> 4.3.0
| | > >> and 4.3.1, in both RStudio and in an GitHub Actions environment (example
| | > >> <https://github.com/wadpac/GGIR/actions/runs/5463862340/jobs/9945096566>).
| | >
| | > >>
| | > >> The warning gives the impression that I am doing something that R no
| | > >> longer
| | > >> supports. However, I am not using the command as.data.frame.POSIXct()
| | > >> anywhere directly in my code.
| | > >>
| | > >> When I dive into the code where the warnings occur I see patterns like:
| | > >>
| | > >> ```
| | > >> now = Sys.time()
| | > >> df = data.frame (time = seq(now, now + 10, by =1),  B  = 1:11)
| | > >> ```
| | > >>
| | > >> (this is a simplification of for example:
| | > >>
| | > https://github.com/wadpac/GGIR/blob/master/tests/testthat/test_read.myacc.csv.R
| | > >>
| | > >> )
| | > >>
| | > >> Does this mean I am discouraged from putting a vector with POSIXct
| | > >> values
| | > >> in a data.frame?
| | > >> If yes, what would be the recommended work around?
| | > >>
| | > >> I have been trying to find documentation or online discussions about
| | > >> this
| | > >> warning but no luck so far. I see R NEWS
| | > >> <https://cran.r-project.org/doc/manuals/r-release/NEWS.html> mentions
| | > >> updates to POSIXct related objects several times in the past year but
| | > >> those
| | > >> seem to be different issues.
| | > >>
| | > >> Best,
| | > >>
| | > >> Vincent
| | > >>
| | > >>     [[alternative HTML version deleted]]
| | > >>
| | > >> ______________________________________________
| | > >> R-package-devel using r-project.org mailing list
| | > >> https://stat.ethz.ch/mailman/listinfo/r-package-devel
| | > >
| | > > ______________________________________________
| | > > R-package-devel using r-project.org mailing list
| | > > https://stat.ethz.ch/mailman/listinfo/r-package-devel
| | >
| | 
| | 	[[alternative HTML version deleted]]
| | 
| | ______________________________________________
| | R-package-devel using r-project.org mailing list
| | https://stat.ethz.ch/mailman/listinfo/r-package-devel
| 
| -- 
| dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org

-- 
dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org



More information about the R-package-devel mailing list