2017-10-28 5 views
-1

Ich versuche ein Barplot mit ggplot im R Studio zu stapeln! Hier sind meine Daten, die ich in stecken möchte:Einen Barplot in R stapeln

Country  Con  Lab 
England 14364350 11389497 
NI   3895   0 
Scotland 757949  717007 
Wales  528839  71354 

Ich bin ein totaler Anfänger mit R Studio so tut mir leid, wenn diese Frage langweilig ist! Am besten, wenn Sie mir helfen könnten, es durch die Partei zu stapeln, die Sekunde kam, die hilfreich wäre! (Lab ist zweite abgesehen von Wales)

etwas ein bisschen wie unten wäre fabelhaft !! Ich kämpfe, wie, um loszulegen, aber hoffentlich das Bild zeigt, was die gestapelten Graphen aussehen würde (Daumen)

Was ich bisher versucht:

library('ggplot2') 
ggplot(elections, aes(x= Country, y= ?? (this is where I hit a wall) 

Daten

elections <- read.table(header = TRUE, stringsAsFactors = FALSE, 
         text = "Country  Con  Lab 
           England 14364350 11389497 
           NI   3895   0 
           Scotland 757949  717007 
           Wales  528839  71354") 
+1

Sie sollten einige Informationen über das, was Sie bisher versucht haben, zur Verfügung stellen. Auch könnte nützlich sein, um ein Beispiel für das Ergebnis, das Sie benötigen (entweder finden Sie etwas Ähnliches im Web oder machen Sie die gleiche Handlung in Excel/Python/was auch immer Sie haben) – jim

+0

Überprüfen Sie auch Fragen, die andere gestellt haben: Die Antwort von @roland auf diese Frage sollten Sie einen langen Weg bekommen: https://stackoverflow.com/questions/21236229/stacked-bar-chart – Richard

+0

Vielen Dank für Ihr Feedback! Sobald ich meinen Kopf um R habe, werde ich in der Lage sein, Daten von diesen anderen Antworten anzupassen, aber nur dieses eine Mal wollte ich etwas Persönliches für mich haben, um mich anzufangen (wenn das Sinn macht). Vielen Dank!! –

Antwort

1

Ihre Tabelle ist im falschen Format, um in ggplot verarbeitet zu werden. Im Fall Ihrer Daten, die derzeit in drei Spalten Land, Arbeit, Konservative aufgezeichnet wird, muss es stattdessen im Format Land, Party, Anzahl der Stimmen. Um mehr über diese Anforderungen zu erfahren, können Sie hier ein wenig über saubere Daten nachlesen: http://vita.had.co.nz/papers/tidy-data.html

Der folgende Code funktioniert. Die Funktion schmelzen wurde verwendet, um die Daten in das erforderliche Format zu transformieren.

Hoffnung, die hilft:

library(ggplot2) 
library(reshape2) 

elections <- data.frame(Country = c("England", "NI", "Scotland", "Wales"), Con = c(14364350, 3895, 757949, 528839), Lab = c(11389497, 0, 717007, 71354)) 

elections_long <- melt(elections, id = "Country") 

ggplot(elections_long, aes(x = Country, y = value)) + 
    geom_bar(stat="identity", aes(fill = variable)) 

Der Ausgang Grundstück ist hier zu sehen.

+0

Mikey, du bist ein Glücksfall. Ich werde auf dieser ordentlichen Datenverbindung nachlesen, danke !!! –