2017-03-21 4 views
-1

Ich habe einfache Daten zum Lesen Nachrichten von "Land" so zwei Variablen. Ich würde gerne ein horizontales Balkendiagramm erstellen, das einen prozentualen Anteil der Antworten "Lesen" -Nachrichten und "Sonst" nach Ländern anzeigen würde. Soll ich die Daten zuerst umwandeln oder gibt es ein spezielles Paket für Balkendiagramme mit dieser Art von Daten?Balkendiagramm und unstrukturierte Daten

Aussehen Meine Daten, dass wie:

Country News 
UK  Read 
UK  Otherwise 
UK  Read 
FR  Read 
FR  Otherwise 
FR  Otherwise 
DE  Read 
DE  Read 
DE  Read 
DK  Read 
DK  Read 
DK  Otherwise 

Antwort

1

lassen den ursprünglichen Datenrahmen

library(dplyr) 
library(tidyr) 

df2 <- df %>% 
    group_by(Country, News) %>% 
    tally() %>% 
    complete(News, fill = list(n = 0)) %>% 
    mutate(Percentage = n/sum(n) * 100) 


ggplot(df2, aes(News, Percentage, fill = Country) + 
    geom_bar(stat = 'identity', position = 'dodge') + 
    theme_bw()+coord_flip() 
+0

Die OP angeforderte Diagramm, das einen horizontalen Balken df sein. Und übrigens, es wäre hilfreich, ein Bild der Handlung mit Ihrer Antwort zur Verfügung zu stellen. Vielen Dank. – Uwe

+0

Perfekte Lösung, danke! Ich habe auch einen Vorschlag für das Balkendiagramm 'p <- ggplot (df2, aes (x = V2, y = n, füllen = Nachrichten)) + geom_bar (stat =" Identität ", Position =" füllen ", Breite = .7) + coord_flip() + theme_grey() ' – Laura

+0

Bearbeitet, um Balken horizontal zu machen – user2510479

Verwandte Themen