Konvertiert Unix timestamp in datetime
Habe ich die folgenden Daten-frame
> head(try)
creates time
1 128.29508 1417392072
3 236.98361 1417392072
7 98.45902 1417392072
9 157.44068 1417392131
10 227.38333 1417392131
11 242.03390 1417392131
> str(try)
'data.frame': 102968 obs. of 2 variables:
$ creates: num 128.3 237 98.5 157.4 227.4 ...
$ time : Factor w/ 26418 levels "1417392071","1417392072",..: 2 2 2 3 3 3 3 3 5 5 ...
Ich bin nicht konvertiert UNIX timestamp in datetime mit dem folgenden Methoden die ich versucht
> head(as.POSIXlt(as.numeric(try$time),origin="1970-01-01",tz="GMT"))
[1] "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:03 UTC" "1970-01-01 00:00:03 UTC"
[6] "1970-01-01 00:00:03 UTC"
> head(as.POSIXct(as.character(try$time),tz="GMT"))
Fehler in as.POSIXlt.Zeichen(x, tz, ...) :
Zeichenkette ist nicht in einem standard-format eindeutig
> head(as.POSIXlt(as.POSIXct(as.vector(as.numeric(try$time)),origin="1970-01-01")))
[1] "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:03 UTC" "1970-01-01 00:00:03 UTC"
[6] "1970-01-01 00:00:03 UTC"
Ich bin mir nicht sicher, was mache ich falsch hier.
InformationsquelleAutor user3006691 | 2014-12-10
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie konvertieren von Faktor zu Zeichen-Nummer vor der Verwendung als.POSIXct. Die Funktion erwartet wird ein integer als Unixtime
Ist es, weil die Epoche nicht numerisch ist, wird versuchen, die Umwandlung in eine Zahl um und es funktioniert wie ein Wunder!
Versuchen