J'ai le cadre de données suivant:
test2 <- data.frame(groups = c(rep("group1",4), rep("group2",4)),
X2 = c(rnorm(4), rnorm(4)) ,
label = c(rep(1,2),rep(2,2),rep(1,2),rep(2,2)))
et je trace les graphiques à barres pour chaque étiquette par groupe en utilisant:
ggplot(test2, aes(label, X2, fill=as.factor(groups))) +
geom_bar(position="dodge", stat="identity")
Cependant, je n'arrive pas à trouver un stat="mean"
et je peux donc tracer les moyennes sur chaque graphique à barres au lieu de l'identité.
Merci pour toute aide.
ggplot2
aime 1 point de données pour 1 point de tracé. Créez un nouveau bloc de données avec vos statistiques récapitulatives, puis tracez avec stat="identity"
require(reshape2)
plot.data <- melt(tapply(test2$X2, test2$groups,mean), varnames="group", value.name="mean")
ggplot(plot.data, aes(x=group,y=mean)) + geom_bar(position="dodge", stat="identity")
Essayez d'utiliser ggpubr . Il crée des graphiques de type ggplot2.
library(ggpubr)
ggbarplot(test2, x = "label", y = "X2",
add = "mean", fill = "groups")
Sinon, ajoutez une facette:
ggbarplot(test2, x = "label", y = "X2",
add = "mean", fill = "groups",
facet.by = "groups")