ggplot côte à côte geom bar()
je veux créer un barplot côte à côte en utilisant geom_bar () de cette base de données,
> dfp1
value percent1 percent
1 (18,29] 0.20909091 0.4545455
2 (29,40] 0.23478261 0.5431034
3 (40,51] 0.15492958 0.3661972
4 (51,62] 0.10119048 0.1726190
5 (62,95] 0.05660377 0.1194969
<!-Avec des valeurs sur l'axe des abscisses et les pourcentages comme les barplots côte à côte. J'ai essayé d'utiliser ce code,
p = ggplot(dfp1, aes(x = value, y= c(percent, percent1)), xlab="Age Group")
p = p + geom_bar(stat="identity", width=.5)
cependant, j'obtiens cette erreur: Error: L'esthétique doit soit être Longueur un, soit la même longueur que les dataproblèmes:valeur. Mon pourcentage et mon pourcentage sont de la même longueur que la valeur, donc je suis confus. Merci pour l'aide.
13
demandé sur
David Arenburg
2014-08-01 03:22:43
1 réponses
Vous aurez besoin d' melt
vos données en premier sur value
. Il va créer une autre variable appelée value
par défaut, vous devrez donc le renommer (Je l'ai appelé percent
). Ensuite, tracez le nouvel ensemble de données en utilisant fill
afin de séparer les données en groupes, et position = "dodge"
afin de mettre les barres côte à côte (au lieu de sur le dessus les uns des autres)
library(reshape2)
library(ggplot2)
dfp1 <- melt(dfp1)
names(dfp1)[3] <- "percent"
ggplot(dfp1, aes(x = value, y= percent, fill = variable), xlab="Age Group") +
geom_bar(stat="identity", width=.5, position = "dodge")
23
répondu
David Arenburg
2014-08-01 00:09:31