From bolker at ufl.edu  Sat Jun 24 16:57:50 2006
From: bolker at ufl.edu (Ben Bolker)
Date: Sat, 24 Jun 2006 14:57:50 +0000 (UTC)
Subject: [Rd] Ops.Date: promote characters to Dates?
Message-ID: <loom.20060624T165439-818@post.gmane.org>

 Ops.Date  <- function (e1, e2)
{
    if (nargs() == 1)
        stop("unary ", .Generic, " not defined for Date objects")
    boolean <- switch(.Generic, "<" = , ">" = , "==" = , "!=" = ,
        "<=" = , ">=" = TRUE, FALSE)
    if (!boolean)
        stop(.Generic, " not defined for Date objects")
+    if (!nchar(e1)) e1 <- as.Date(e1)
+    if (!nchar(e2)) e2 <- as.Date(e2)
    NextMethod(.Generic)
}

  adding the above two lines to Ops.Date makes, e.g.

as.Date("1999-12-13") == "1999-06-14"

behave as "expected".

  Does it seem like a good idea?
  (I was inspired by a student's confusion, and by
the fact that Ops.factor does a similar thing -- although
in this case it seems more sensible to promote the
character to a Date rather than demoting the Date
to a character (in which case comparisons might not
work right?))

  Similar questions might apply to Ops.POSIXt ...

  Ben Bolker



[Rd] Ops.Date: promote characters to Dates?
Ben Bolker