Ich bin neu in R und ggplot2 und ich frage mich, wie kann ich eine Zeitlinie Plotten von Punkten zu einem bestimmten Zeitpunkt mit R? Ich habe auch Probleme mit den Daten, die ich habe. (Ich bin mir nicht sicher, ob ich das als zwei Fragen posten sollte, aber hier geht es).Chronologische Zeitleiste mit Zeitpunkten und Format Datum
Ich habe einen Datenrahmen mit dem Jahr und Monat als Zeichen im Format YYYYMM, Namen von zwei Personen und das Ereignis, das stattgefunden hat.
So:
> data
YearMonth Person1 Person2 Event
200606 Alice Bob event1
200606 Bob Alice event2
200608 Alice Bob event3
200701 Alice Bob event3
200703 Bob Alice event2
200605 Alice Bob event4
Die Termine waren ursprünglich ganze Zahlen, die ich Zeichen as.character()
mit konvertiert. Ich versuche, es in ein formatiertes Datum zu konvertieren. Ich verwendete as.Date()
und versuchte verschiedene Möglichkeiten, das Datum zu formatieren. Am nächsten kam ich mit data$YearMonth <- as.Date(data$YearMonth,"%Y")
, aber das brachte mir '2006-12-20' und '2007-12-20' für alle Zeilen 2006xx und 2007xx. Gibt es eine Möglichkeit, dies zu tun, so dass ich etwas wie "JJJJ-MM" oder "JJJJ/MM" bekomme?
Ich versuchte auch data$YearMonth <- strptime(data$YarMonth, "%Y%m")
, aber das gab mir <NA>
Werte.
Aber mein Hauptproblem ist die Timeline.
Das folgende Bild ist die Art von Format Ich mag:
aber mit der x-Achse (wie 2006-06, 2006-07 ... 2007-06), den Monat und das Jahr zeigt, und die Linien, die von der Achse kommen, die mit dem Ereignis, Person1 und Person2 gekennzeichnet sind.
Ich habe das Paket 'Timeline' unter ?timeline
angeschaut, aber der Datenrahmen, den ich habe, hat keine Daten für die Zeiträume (Start- und Enddatum). Ich habe gerade einen Zeitpunkt (YearMonth).
Ich habe auch das Beispiel unter Draw a chronological timeline with ggplot2 mit ggplot2 versucht. Allerdings habe ich die Versetzungen für eine y-Achse nicht und wollte, dass die Ereignislinien von der x-Achse kommen.
Hinweis: Dies ist ein sehr vereinfachtes Beispiel, da ich ungefähr tausend Zeilen für den Zeitraum Juni 2006 bis Juni 2007 habe. Ist es sogar möglich, die Zeitachse mit so vielen Daten zu erstellen?
Jede Hilfe wird sehr geschätzt. Vielen Dank für Ihre Zeit!
Vielen Dank @thelatemail. Abgesehen von ein paar Problemen mit der Menge an Daten, die ich hatte, hat es perfekt funktioniert! :) –
@thelatemail in 'axis.Date' Die' pos' positioniert die Datumswerte auf der horizontalen Linie. Gibt es eine Möglichkeit, dies in ggplot2 zu tun? Es gibt keine Option für die Position in 'scale_x_date'. bitte helfe – mockash
Das ist so toll, danke für das Posten dieses –