2017-09-30 3 views
0

Dies ist Ergebnis einer Kontingenztabelle:gruppierten Balkendiagramm in R von Kontingenz-Tabelle erstellen

rating high low medium 
1  158 1 36 
2  77  2 25 
3  106 10 36 
4  82  56 71 
5  60  97 62 

Ich brauche einen gruppierten Balkendiagramm wie diese zu erstellen:

enter image description here Wie kann ich es tun? Ich habe versucht, Bar-Plot und ggplot, aber sie haben nicht funktioniert.

+0

Ausweichen Sie einfach die Bars. http://ggplot2.tidyverse.org/reference/geom_bar.html –

Antwort

1

Der Trick mit immer mit ggplot zu arbeiten, ist zu erkennen, dass Sie drei Informationen im Wesentlichen benötigen: 1) rating, 2) Werte von high, medium und low, und 3) die Farbe, die verwendet wird, um unterscheiden. Das Problem besteht darin, dass die Daten derzeit nicht in diesem Format vorliegen. Wir können die gather Funktion von tidyverse verwenden, um dies zu lösen, und dann die Daten plotten.

library(tidyverse) 

dat = data_frame(rating=1:5, high=c(158, 77, 106, 82, 60), medium=c(1, 20, 10, 56, 97), low=c(36,25,36,71,62)) 
dat = dat %>% 
    gather(key=color, value=value, -rating) 
ggplot(data=dat, aes(x=rating, y=value, fill=color)) + 
    geom_bar(stat='identity', position='dodge') 

gather funktioniert im Prinzip durch eine Reihe von Spalten zu nehmen und mit den Spaltennamen als die Werte der neu geschaffenen key Variable (was wir fordern Farbe), und die Werte dieser Spalten als die Werte in unserem neu erstellt value Spalte (die wir Wert nennen).

+0

Trivialpunkt: Sie haben Marys mittlere und niedrige Zahlen vertauscht, aber wie Mary kommt Ihre Handlung in alphabetischer Reihenfolge * hoch, niedrig, mittel *, die ich als sub sehe -optimal – Henry

+0

@Henry ah, ja, es scheint, ich habe 'Medium' und' Low' gewechselt. Um sie in die (vermutlich) richtige Reihenfolge zu bringen, habe ich das nicht als Hauptthema der Frage betrachtet und deshalb nicht angesprochen. Wie man Bars/Farben neu anordnet, sollte eine eigene Frage sein, und eine, die zweifellos schon hier beantwortet wurde. – brittenb

+0

@brittneb, Würdest du mich bitte wissen lassen, wie ich den Hintergrund entfernen und auch Farben in der Handlung ändern kann? – Mary

Verwandte Themen