Was sind die "standard eindeutig date" - Formate für string-to-date-Umwandlung in R?

Bitte beachten Sie die folgenden

$ R --vanilla

> as.Date("01 Jan 2000")
Error in charToDate(x) :
    character string is not in a standard unambiguous format

Aber das Datum deutlich ist in einem standard-format eindeutig. Warum die Fehlermeldung?

Schlimmer, ein vieldeutiges Datum ist offenbar akzeptiert, ohne Warnung oder Fehlermeldung, und dann Lesen Sie falsch!

> as.Date("01/01/2000")
[1] "0001-01-20"

Habe ich gesucht-und gefunden 28 andere Fragen in der [R] - tag mit dieser Fehlermeldung. Mit Lösungen und workarounds, mit Angabe des formats, iiuc. Diese Frage ist Verschieden, dass ich Frage, wo sind die standard eindeutig definierten Formate sowieso, und können Sie verändert werden? Hat jeder bekommen diese Meldungen, oder ist es nur mich? Vielleicht ist es an der locale-bezogenen?

In anderen Worten, gibt es eine bessere Lösung, als dass das format angeben?

29 Fragen, die mit "[R] standard-eindeutig-format"

> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United Kingdom.1252
[2] LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
  • die Beurteilung durch die definition der Funktion von as.Date.character die Eingabe wird nur getestet, für diese beiden Formate: "%Y-%m-%d" und "%Y/%m/%d". Wenn es mit einem von Ihnen es zu sein scheint, als "eindeutig".
  • Ich lese auch" scheint zu implizieren, ist die Antwort offensichtlichen in ?as.Date. Wo geht es dabei helfen?
  • Danke, das scheint die Antwort sein. Würden Sie bitte hinzufügen, dann kann ich akzeptieren.
  • Wohl "Jan 24 1949" und "24 Jan 1949" wäre eindeutig, aber Sie sind sicherlich Anglo-centric. Doch es gibt auch Werte für 'Monat.abb", die im Anglo-centric als gut, so ein Fall könnte gemacht werden, für diese Werte ergänzt werden, in Fällen, in denen : strptime(xx, f <- "%d $B %Y", tz = "GMT") oder strptime(xx, f <- "%B $d %Y", tz = "GMT") zurückgegebenen Werte. (Ich will damit nicht sagen, dass month.abb verwendet wird für die Abstimmung zu %B da die docs sagen, die passende locale-spezifisch.)
  • wo die Hilfe-Seite sagt format Eine Zeichenkette. Wenn nicht angegeben, wird es versuchen, "%Y-%m-%d", dann "%Y/%m/%d" auf dem ersten nicht-NA-element, und geben eine Fehlermeldung aus, wenn weder funktioniert ich meine, wirklich, es war nett von Joshua in diesem post, wir sind aber auch nicht auf /. hier. Sie haben zu Lesen TFM jetzt und dann.
  • Einige von uns Reise bis hin und wieder. Danke für den kick, während ich unten bin. In dieser Frage bekam ich schon ein paar Sachen Recht: ich sessionInfo(), suchte ich, erzählt Sie das, was ich suchte und enthalten einen link, hielt ich es als consise wie möglich. Ich verpasste ein line-in ?als.Datum und geben Sie mir die TFM-Behandlung. Wir können nicht alle so perfekt sind, wie Sie die ganze Zeit.
  • sorry, wenn ich nach unten kam, schwer. Ich denke, die flamosity begann, als Sie erschien, um zu verwirren "eindeutig um ein einigermassen gebildeter Mensch" mit "eindeutig zu einem Armen hilflosen Stück code" . 🙁

InformationsquelleAutor Matt Dowle | 2013-02-07
Schreibe einen Kommentar