2016-07-07 8 views
-2

Ich habe einen Datenrahmen mit einer Spalte als Zeit. Als ichNeed R Hilfe zum Bestellen von Zeitobjekten

tun
data1$Time = as.factor(data1$Time) 
Ti = levels(data1$Time) 

Vorerst R defaults die Bestellung als:

"1:00:00 AM" "1:00:00 PM" "1:01:00 AM" "1:01:00 PM"... 

brauche ich das als

"12:00:00 AM", "12:01:00 AM", ... 

das heißt die Reihenfolge standardmäßig auf die Reihenfolge zu ändern.

Kann mir bitte jemand dabei helfen?

+2

Warum möchten Sie, dass Zeit ein Faktor ist? – gung

+0

Sie benötigen eine Zeitklasse, z. "chron :: mal". – alistaire

+0

Eigentlich habe ich, sagen wir, Daten von 10 Tagen und ich muss die Daten eines Tages in Reihe zusammentragen und die Spalten sollten mal sein. Also, für jeden Tag muss ich prüfen, ob die Daten für diese Zeit des Tages verfügbar sind, wenn ja, setzen Sie die Daten, sonst NA. Ich habe den Rest erledigt. Aber meine Spalten sind jetzt in "1:00:00" "1:00:00 PM" "1:01:00 AM" "1:01:00 PM" geordnet. Ich möchte die Standardbestellung. Ich weiß, dass eine rohe Gewalt darin besteht, die Reihenfolge dieser Permutation in Bezug auf diese ursprüngliche zu finden, aber das wird langweilig, ich möchte diesen Weg nicht gehen. –

Antwort

0

Sie müssen Paket überprüfen.

Sie können auch as.POSIXlt(x, format="%H:%M:%S") verwenden, um Ihr Datum in ein POSIXlt-Objekt umzuwandeln, und dann können Sie order() verwenden, um sie zu sortieren.