Wie plot 2 kategoriale Variablen auf der X-Achse und zwei kontinuierlichen Variablen, die als "Füllung" mit ggplot2-Paket?
Ich habe ein dataset mit zwei kategoriale Variablen, viz., Year
und Category
und zwei kontinuierliche Variablen TotalSales
und AverageCount
.
Year Category TotalSales AverageCount
1 2013 Beverages 102074.29 22190.06
2 2013 Condiments 55277.56 14173.73
3 2013 Confections 36415.75 12138.58
4 2013 Dairy Products 30337.39 24400.00
5 2013 Seafood 53019.98 27905.25
6 2014 Beverages 81338.06 35400.00
7 2014 Condiments 55948.82 19981.72
8 2014 Confections 44478.36 24710.00
9 2014 Dairy Products 84412.36 32466.00
10 2014 Seafood 65544.19 14565.37
In MS Excel können wir gerne erhalten Sie eine pivot-plot für die gleiche Tabelle, mit Jahr und Kategorie als ACHSE, "TotalSales" und AverageCount als sigma-Werte.
Mit R, wie erstelle ich solch ein Diagramm wie in der Abbildung gezeigt, wo der kategorische Variablen werden gezeigt, wie mehrere Schichten in den gleichen graph?
P. S. Eine option, dass ich sehen konnte ist, durch teilen der Daten-frame in zwei verschiedene dataframes (Eine für das Jahr 2013 und ein weiteres für das Jahr 2014 in unserem Fall) und zeichnen Sie zwei Diagramme, die auf einem einzigen Grundstück, angeordnet in mehreren Reihen den gleichen Effekt zu erhalten. Aber gibt es eine Möglichkeit, es zu ziehen, wie oben gezeigt?
Beispiel die Daten der oben
dat <- structure(list(Year = c(2013L, 2013L, 2013L, 2013L, 2013L, 2014L,
2014L, 2014L, 2014L, 2014L), Category = structure(c(1L, 2L, 3L,
4L, 5L, 1L, 2L, 3L, 4L, 5L), .Label = c("Beverages", "Condiments",
"Confections", "Dairy Products", "Seafood"), class = "factor"),
TotalSales = c(102074.29, 55277.56, 36415.75, 30337.39, 53019.98,
81338.06, 55948.82, 44478.36, 84412.36, 65544.19), AverageCount = c(22190.06,
14173.73, 12138.58, 24400, 27905.25, 35400, 19981.72, 24710,
32466, 14565.37)), .Names = c("Year", "Category", "TotalSales",
"AverageCount"), class = "data.frame", row.names = c(NA, -10L
)
reshape2::melt
die beiden Variablen für long-format zuerst? (Nicht getestet..)
InformationsquelleAutor sunitprasad1 | 2015-05-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie zuerst formatieren Sie Ihre Daten, wie @EDi zeigte, wie man in einem deiner älteren Fragen (ggplot : Multi-variable (mehrere kontinuierliche Variablen) Plotten) und @docendo discimus vorgeschlagen, in den Kommentaren.
Dann können Sie mit Facettenschliff etwa so:
Wenn Sie besonders daran interessiert, das Bild mehr im Einklang mit einer Excel-look, gibt es einige Strategien, die in die Antwort hier, könnte hilfreich sein: Wie kann ich die plot-Diagramme mit verschachtelten Kategorien-Achsen?.
Ihre ursprünglichen Daten in eine leichter zu Bekleben-format:
Froh, dass es geholfen @sunitprasad1. Wenn Sie sagen, "noch eine kategorische variable", die variable denkt Ihr? Jahr, die Kategorie des Produkts oder der Art der Wert? Für alle diese fügen Sie zusätzliche Ebenen, um Ihre Daten-Frames, die Sie Hinzugefügt werden sollte, um die Handlung mit dem gleichen code. Ich konnte sein Missverständnis der obwohl Frage.
Ich versuchte es inzwischen. Die Tabelle benutze ich
Year, Quarter, Product and Category
undSales, Count
. Ich wollte wissen, wie sollte ich formatieren, neu strukturieren oder ordnen Sie die Daten in einem vom Benutzer lesbaren format, wenn ich HinzugefügtQuarter
zu diesem code und sehen, wie es geht. Gut, die Grafik, die kam nach dem hinzufügen der Dritten variable, obwohl informativ ist, ist höchst verwirrend. Ich denke, ich sollte versuchen mehr auf den link, den Sie in Ihre Antwort. Veröffentlichen Sie eine neue Frage, falls ich stecken geblieben bin.Klingt wie Sie vielleicht möchten Facette von 2 Variablen, wenn Sie mit Jahr und Quartal. Überprüfen Sie heraus das Kochbuch für R für einige gute Beispiele für die Facettierung mit 2 Variablen, cookbook-r.com/Graphs/Facets_(ggplot2).
InformationsquelleAutor LJW