Einfache Frage, aber ich bin ein Neuling in R, so dass es mich ein wenig Bestürzung gibt. Ich versuche, eine Reihe von Kreisdiagrammen in R zu erstellen, um meine Datenvisualisierungsfähigkeiten zu üben.Facinging auf Pie Charts in R
Ich habe einen Datenrahmen, der wie folgt aussieht:
carrier n_cancelled n_early n_ontime n_late
<chr> <int> <int> <int> <int>
1 9E 1044 54 12891 4471
2 AA 636 16 26965 5112
3 AS 2 12 606 94
4 B6 466 155 41661 12353
5 DL 349 36 39931 7794
6 EV 2817 66 35646 15644
7 F9 3 1 489 192
8 FL 73 16 2321 850
9 HA 0 1 317 24
10 MQ 1234 53 19790 5320
11 OO 3 0 23 6
12 UA 686 22 45762 12195
13 US 663 9 17444 2420
14 VX 31 7 4231 893
15 WN 192 0 8833 3250
16 YV 56 2 387 156
Was ich suche ist eine Reihe von Kreisdiagrammen, wie die unten für jeden Träger.
Im Moment habe ich Code, der wie folgt aussieht ...
status <- c("Cancelled", "Early", "On-Time", "Late")
ggplot(counts_by_carrier, aes(x = factor(1), y = c(n_cancelled, n_early, n_ontime, n_late), fill = status)) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y", start = 0) +
blank_theme +
facet_grid(facets=. ~ carrier)
Aber es gibt Error: Aesthetics must be either length 1 or the same as the data (16): x, y, fill
Welchen Sinn als Fehler macht. Ich füttere es als einen Y-Wert einen Vektor aller Werte n_cancelled usw. und es weiß nicht, wie man das für ein einzelnes Kreisdiagramm behandelt.
Aber wie ich es repariere ist derzeit jenseits von mir. Wie zwinge ich dazu, nur eine Zeile nach der anderen zu betrachten und für jede Zeile eine andere auszugeben?
Die Bilder sind keine Codes/Daten und auf der Fragenseite (und auf der SO R FAQ/Tag-Seite) finden Sie Informationen zum Einbinden von Daten in Ihr Beispiel. Waffle-Charts oder einfache Balkendiagramme können auch ein besserer Weg sein. – hrbrmstr
Sie müssen zuerst Ihre Daten in ein langes Format konvertieren. Verwenden Sie zum Beispiel 'reshape2 :: melt' oder' tidyr :: gather'. 'Carrier' ist deine ID-Spalte (schmelze diese nicht). Geben Sie dann die Spalte für den verbleibenden Restwert nur als y und die Variable als x an. Facette nach Träger –