Wie zu formatieren und Ausführen von Operationen auf Daten und Zeiten in R

So formatieren Sie ein Datum für ziemlich Druck in R, die Sie verwenden Format()

Menu

, das dauert ein POSIXct oder POSIXlt DATETIME als Eingabe zusammen mit einer Formatierungszeichenfolge.

Unter Verwendung des Beispiels, wo das Objekt xct ist der Tag und die Zeit des Apollo Landung können Sie dieses Datum und die Uhrzeit auf viele verschiedene Arten formatiert werden. Für Beispiele, zu formatieren Sie es als DD / MM / JJ, Versuchen:

> Format (xct, "% d /% m /% y") [1] "20/07/69"

Zusätzlich zu den Formatierungscodes, können Sie jedes andere Zeichen. Wenn Sie wollen, dass die zu formatieren xct Datetime als Satz, versuchen Sie folgendes:

> Format (xct, "% S Minuten nach% I% p, auf% d% B% Y") [1] "39 Minuten vorbei 20.00 Uhr, am 20. Juli 1969"

Da R speichert Objekte wie Zahlen Datum- können Sie verschiedene Operationen zu Terminen tun.

Addition und Subtraktion in R

Da R speichert Objekte der Klasse POSIXct wie die Anzahl der Sekunden seit der Epoche (in der Regel der Beginn des Jahres 1970), können Sie durch Addieren oder Subtrahieren Sekunden Addition und Subtraktion tun. Es ist häufiger Tage von den Daten zu addieren oder zu subtrahieren, so ist es nützlich zu wissen, dass jeden Tag 86.400 Sekunden hat.

> 24 * 60 * 60 [1] 86400

Also, bis sieben Tage nach der hinzufügen Apollo Mondlandung Datum, benutzen Sie zusätzlich, nur nicht vergessen, die Anzahl der Tage durch die Anzahl der Sekunden pro Tag zu multiplizieren:

> Xct + 7 * 86400 [1] "1969.07.27 20.17.39 UTC"

Nachdem Sie wissen, dass Sie eine beliebige Dauer Sekunden umwandeln können, können Sie einen beliebigen Wert in einen Datetime-Objekt addieren oder zu subtrahieren. Beispielsweise fügen drei Stunden, um die Zeit der Apollo Mondlandung:

> Xct + 3 * 60 * 60 [1] "1969.07.20 23.17.39 UTC"

Ebenso ein Datum 7 Tage früher erhalten, Subtraktion verwenden:

> Xct - 7 * 86400 [1] "1969.07.13 20.17.39 UTC"

Vergleich der Daten in R

Ähnlich wie die Sie hinzufügen können oder subtrahieren Zustände Sie auch Termine mit den Vergleichsoperatoren, wie weniger vergleichen können als (lt;) Oder größer als (>).

Sagen Sie bitte die aktuelle Uhrzeit mit einer beliebigen festen Zeit vergleichen möchten. In R, verwenden Sie die Sys.time () Funktion die aktuelle Systemzeit zu erhalten:

> Sys.time () [1] "2012.03.24 10.12.52 GMT"

Jetzt wissen Sie, die genaue Zeit, wenn wir diesen Satz schrieb. Klar, wenn Sie den gleichen Befehl versuchen, werden Sie ein anderes Ergebnis zu bekommen!

Jetzt können Sie Ihre aktuelle Systemzeit mit der Zeit des Vergleichs Apollo Landung:

> Sys.time () lt; xct [1] FALSCH

Wenn die Systemuhr genau ist, dann natürlich würde erwarten, dass Sie das Ergebnis falsch sein, weil die Mondlandung vor mehr als 40 Jahren passiert ist.

Die Vergleichsoperatoren sind vektorisiert, so dass Sie einen ganzen Vektor von Daten mit der Mondlandung Datum zu vergleichen. Versuchen Sie verwenden, um alle Ihre Kenntnisse von Daten, Sequenzen von Daten und Vergleichsoperatoren den Start von mehreren Jahrzehnten auf die Mondlandung Datum zu vergleichen.

Beginnen Sie mit einer Schaffung POSIXct Objekt am ersten Tag des 1950. Dann enthält verwenden seq () eine Sequenz mit Abständen von zehn Jahren zu schaffen:

> dec.start lt; - as.POSIXct ( "1950.01.01")> Dezember lt; - seq (dec.start, by = "10 Jahre", length.out = 4)> Dezember [1] "1950.01.01 GMT" "1960.01.01 GMT" "1970-01-01 GMT "[4]" 1980-01-01 GMT "

Schließlich können Sie Ihren neuen Vektor vergleichen Dezember mit der Mondlandung Datum:

> Dec> xct [1] FALSE FALSE TRUE TRUE

Wie Sie sehen können, werden die ersten beiden Ergebnisse (im Vergleich zu 1950 und 1960) FALSCH, und die letzten beiden Werte (im Vergleich zu 1970 und 1980) sind WAHR.

Menü