Die überprüfung, ob das Datum leer ist in R?

Einfach, aber ich bin sicher, dass jemand weiß, wie dies zu tun...

In R, ich war auf der Suche nach so etwas wie ist.leere Fehler Falle, in meiner Funktion, wo ein Benutzer können ein Datum angeben oder es kann leer sein, und wir werden Sie standardmäßig verwenden der Heutigen Datum (d.h. Sys.Date())

Versuchte ich

date.end <- ""

# then in function  
if (date.end == "" || is.null(date.end)) {
  message("end date not specified and so setting to today")
  date.end <- Sys.Date()
} else {
  # use the date.end passed in as Date class
}

Aber diese Prüfung freaks charToDate(), d.h.

test.end == ""
Error in charToDate(x) : 
  character string is not in a standard unambiguous format

Bitte beraten wie wird man check für leere Daten in Basis-f?
(Und alle andere Weisheit für die Fehlerbehebung Termine...)

Hinzufügen, um zu klären:

  1. Meisten Zeiten, die die Funktion erhalten gute Daten, z.B.

    date.end <-  as.Date("31/03/2015", "%d/%m/%Y")

    So will ich nicht zu ändern, Klasse.

  2. Jedoch, wie gehen Sie mit den sonderbaren Fall, wo Sie wollen, um Standard zu heute wenn der Benutzer nicht geben Sie ein Datum an?

Versuchen nchar(test.end)==0 im test
nzchar wäre Analog zu Ihre Anfrage für is.blank aber wie @Tim Biegeleisen erwähnt, würde ich konvertieren den Vektor der Termine und der test für NA; dieses würde Ihnen sagen, nicht nur die leer sind, aber denen Folgen Sie nicht Ihrem angegebenen format
Danke @csgillespie. Ich war besorgt, dass nchar(NULL) == 0 ist, gibt Länge Probleme

InformationsquelleAutor micstr | 2015-04-01

Schreibe einen Kommentar