From josh.m.ulrich at gmail.com  Thu Oct 22 00:18:03 2015
From: josh.m.ulrich at gmail.com (Joshua Ulrich)
Date: Wed, 21 Oct 2015 17:18:03 -0500
Subject: [Rd] Confusing print method for Inf dates
In-Reply-To: <CABdHhvGAUA_D6t2MB6xWr-B5EWeTxB+kELNDTTzuTyC3-AdzhA@mail.gmail.com>
References: <CABdHhvGAUA_D6t2MB6xWr-B5EWeTxB+kELNDTTzuTyC3-AdzhA@mail.gmail.com>
Message-ID: <CAPPM_gQg9ZCDdYDY_Xy-arrgqLTsgZ5UW=q-47Sm5afHLoTLjg@mail.gmail.com>

On Wed, Oct 21, 2015 at 4:57 PM, Hadley Wickham <h.wickham at gmail.com> wrote:
> x <- as.Date(Inf, origin = "1970-01-01")
> x
> #> [1] NA
> str(x)
> #>  Date[1:1], format: NA
> unclass(x)
> #> [1] Inf
>
> It's not clear what the correct behaviour is. The documentation for
> ?Date has: "It is intended that the date should be an integer,", which
> suggests that -Inf and Inf are not valid dates. But if that's true the

You omitted the second half of the sentence, which contains important
information.  The entire sentence is, "It is intended that the date
should be an integer, but this is not enforced in the internal
representation."  Since it's not enforced internally, it doesn't
necessarily follow that non-integer values are invalid dates.  The
rest of the paragraph describes how fractional (internal) dates can be
created.

Both ?format.Date and ?strptime say that 'NA' dates/times are printed
as NA_character_.  It might be clearer to say that "invalid"
dates/times are printed as NA_character_.

> behaviour for max.Date() needs some thought:
>
> max(as.Date(NA), na.rm = TRUE)
> #> Warning in max.default(structure(NA_real_, class = "Date"), na.rm = TRUE):
> #> no non-missing arguments to max; returning -Inf
> #> [1] NA
>
> If dates are integers, then there is no date that is smaller than all
> other dates, so it's not clear what max() should return - NA?
>
But they're not integers in the strict sense.

> Hadley
>
> --
> http://had.co.nz/
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



-- 
Joshua Ulrich  |  about.me/joshuaulrich
FOSS Trading  |  www.fosstrading.com



[Rd] Confusing print method for Inf dates
Joshua Ulrich