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

Vincent van Hees v|ncentv@nhee@ @end|ng |rom gm@||@com
Thu Jul 6 14:31:54 CEST 2023


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)

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]]



More information about the R-package-devel mailing list