[R] Date Not Staying in Date Format

Gabor Grothendieck ggrothendieck at gmail.com
Tue Jan 31 03:01:41 CET 2006


Using this test data, say:

   dd <- Sys.Date() + 0:9
   fac <- gl(5,2)


Try this:

   do.call("c", tapply(dd, fac, max, simplify = FALSE))

or if a list result is ok then just

   tapply(dd, fac, max, simplify = FALSE)

Another possibility using the as.Date.numeric method in the zoo
package is:

  library(zoo)
  as.Date(tapply(dd, fac, max))

For more info on the internal representation of "Date" class objects see
the Help desk article in R News 4/1.


On 1/30/06, David Randel <davidr00 at hotmail.com> wrote:
> I have a column in a data frame that has a class of "Date" and a mode of
> "numeric".  When I:
>
> max(df$Date)
>
> My output stays in Date format, i.e. "2006-01-03".
>
> However, when I run the following statment:
>
> tapply(df$Date, df$SomeFactor, max)
>
> my output looks like this:  9129   9493   9861  10226  10591  10956  11320
> 11687  12052  12417
>
> The returned object is of mode "numeric" and class "array".  Each array
> element is of mode "numeric" and class "numeric".  I believe that this is
> the integer representation of my date.  I can't seem to convert it back to a
> date.
>
> How do I get these to be intrepreted as a date instead of a number?
>
> Thanks,
> ~Dave R.
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>




More information about the R-help mailing list