2017-08-11 3 views
0

Wie ist der richtige Umgang mit Datumsangaben in ggplot?R - Datetimes mit ggplot

Ich habe Daten zu mehreren verschiedenen Daten und ich möchte jedes Datum zur gleichen Tageszeit, z. zwischen 13.30 und 13.35 Uhr, und die Punkte zwischen diesem Zeitrahmen auftragen, wie kann ich das erreichen?

Meine Daten wie folgt aussehen:

datetime    col1 

2015-01-02 00:00:01 20 
...     ... 
2015-01-02 11:59:59 34 
2015-02-19 00:00:03 12 
...     ... 
2015-02-19 11:59:58 27 

Ich finde ich oft zu wollen ggplot Zeitreihe datetime Objekte als die x-Achse verwenden, aber ich weiß nicht, wie sie die Zeiten nur zu verwenden, wenn Daten sind nicht von Interesse.

Antwort

0

Ich verwende immer das Chron-Paket für Zeiten. Es ignoriert vollständig Daten und speichert Ihre Zeit numerisch (z. B. 1:30 PM wird als 13,5 gespeichert, weil es 13,5 Stunden in den Tag hinein ist). Das ermöglicht Ihnen, Mathezeiten zu berechnen, was aus vielen Gründen großartig ist, einschließlich der Berechnung der Durchschnittszeit, der Zeit zwischen zwei Punkten usw.

Für spezifische Hilfe mit Ihrem Plot müssen Sie ein Beispieldaten teilen Rahmen in einem leicht kopierfähigen Format, und zeigen Sie den Code, den Sie bisher versucht haben.

Dies ist eine Frage, die ich vorher gefragt hatte in Bezug auf das chron-Paket, und es gibt auch eine Vorstellung davon, wie Sie Ihre Daten/eine Frage stellen zu teilen, die einfacher für Menschen zu reproduzieren und beantworten daher: Clear labeling of times class data on horizontal barplot/geom_segment

+1

I habe schon mal mit chron-paket gearbeitet und du hast recht, es geht ziemlich nahtlos wenn du mal mit nur daten ausgibst. Ich habe es mir nur als einen Workaround vorgestellt, als eine längerfristige Lösung, für die ich das Gefühl hatte, dass sie für die Zeit gedacht war. – guy

1

Die lubridate package wird den Trick machen. Es gibt Befehle, die Sie verwenden könnten, insbesondere flood_date oder ceiling_date, um Ihr Datetime-Array zu transformieren.