Konvertieren Faktor, um Datum/Zeit R
Dies ist die Informationen, die in meiner dataframe:
## minuteofday: factor w/89501 levels "2013-06-01 08:07:00",...
## dDdt: num 7.8564 2.318 ...
## minutes: POSIXlt, format: NA NA NA
Ich konvertieren müssen, die minute, die der Tag-Spalte zu einem Datum/Zeit-format:
minuteave$minutes <- as.POSIXlt(as.character(minuteave$minuteofday), format="%m/%d/%Y %H:%M:%S")
Ich habe versucht as.POSIXlt
, as.POSIXct
und as.Date
. Keiner von denen hat funktioniert. Hat jemand IRGENDWELCHE Gedanken.
Ist das Ziel, plot Minuten gegen dDdt, aber es wird nicht lassen Sie mich plot in der angegebenen Zeit, möchte ich als einen Faktor. Ich habe keine Ahnung, was zu versuchen nächsten...
Sie müssen eine Antwort auswählen, damit diese Frage beantwortet werden.
InformationsquelleAutor elle11e | 2014-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie eine
as.character()
vor der Analyse als ein Datetime-oder Date.Faktor wird immer wieder kommen, zunächst als eine Zahl entsprechend seiner Stufe.
Können Sie speichern Sie die Umwandlung von Faktor, um den Charakter von sagen
read.csv()
etc, keine store-Faktor:stringsAsFactors=FALSE
. Sie können auch festlegen, dass Sie als Globale option.Einmal haben Sie es als Zeichen, stellen Sie sicher, dass Sie entsprechen die format-Zeichenfolge, um Ihre Daten:
Hinweis: die
%Y-%m-%d
ich verwendet, im Gegensatz zu deiner%m/%d/%y
.Bearbeiten am 3 Jan 2016: Das ist jetzt viel einfacher, Dank der jederzeit - Paket, das automatisch konvertiert von vielen Arten, einschließlich
factor
und tut so , ohne dass eine format-string -.Wie Sie sehen können wir nur füttern die Faktor-variable in
anytime()
und heraus kommt das gewünschte POSIXct geben.as.character
das problem ist, dass er einen Fehler in das format imoDanke, habe ich bemerkt, dass auch auf der zweiten gelesen und erweiterte meine Antwort. Das Verbleibende problem (die Ihre Antwort wiederholt), ist die
as.POSIXlt
- Konvertierung (ohne Extraktion Minuten).InformationsquelleAutor Dirk Eddelbuettel
Versuchen, diese
library(lubridate)
minuteave$minutes <- ymd_hms(minuteave$minutes)
zurückkehren minuteave$Minuten als POSIXct Objekt.
Hoffe, dies hilft Ihnen.
InformationsquelleAutor darkage