2012-03-24 10 views
1

Die erste Spalte ist der Tag des Jahres und die zweite Spalte ist die Zeit (dh 2355 bedeutet 23:55, 0 ist 00:00, 59 ist 00:59 Minuten): Jahr der Messung = 2011R unregelmäßige Zeitformate

2,2355,2.701 
2,2356,2.701 
2,2357,2.737 
2,2358,2.805 
2,2359,2.821 
3,0,2.847 
3,1,2.881 
. 
. 
3,59,3.3 
3,100,2.2 
3,101,2.8 
. 
. 
3,159,3.0 
3,200,3.1 

möchte I Spalte 1 und 2 unter Verwendung von Klassen DATETIME in R fusionieren, so dass ich eine einzige Säule mit Start bekommen% Y-% m-% d% H:% M:% S

ich versuchte
datetime < - einfügen (2011, df $ V1, df $ V2, sep = "-")
strptime (datetime, format = "% Y-% j-% M")

, aber nicht die gewünschte Ausgabe erhalten. Irgendwelche Kommentare, wo ich falsch liege?
Cheers,
Navin

+0

Ich vermute, Sie haben die Stundenangabe '% H' verpasst. Versuchen Sie 'format ="% Y-% j-% H% M "' – Andrie

+0

Nein. Das produziert viele NA – Navin

Antwort

3

In addtion im Stunden-Format-Spezifikation zu setzen, müssen Sie die V2-Werte mit führenden 0'en aufzufüllen.

> datetime <- paste(2011, dat$V1, sprintf("%00004d",dat$V2), sep="-") 
> strptime(datetime, format="%Y-%j-%H%M") 
[1] "2011-01-02 23:55:00" "2011-01-02 23:56:00" "2011-01-02 23:57:00" "2011-01-02 23:58:00" 
[5] "2011-01-02 23:59:00" "2011-01-03 00:00:00" "2011-01-03 00:01:00" "2011-01-03 00:59:00" 
[9] "2011-01-03 01:00:00" "2011-01-03 01:01:00" "2011-01-03 01:59:00" "2011-01-03 02:00:00" 
Verwandte Themen