2017-06-03 2 views
1

j'ai le code suivant dans R.comment se sont séparés des intervalles de confiance dans ggplot2

df <- data.frame(Region = rep(1:3,3), education = rep(1:3,each =3), 
       mean = runif(9,0,1) , lo = runif(9, -1 , 0), 
       up = runif(9, 1, 2)) 

ggplot(df, aes(Region, mean)) + geom_point(size=4) + 
geom_errorbar(aes(ymin = lo, ymax = up)) 

Comme vous pouvez le voir, les intervalles de confiance se croisent les uns les autres. Mais, ce que je veux, c'est avoir trois intervalles de confiance différents les uns à côté des autres séparés par la variable éducation, et éventuellement avec trois couleurs différentes. De la même façon nous séparer des graphiques à barres par un autre variables

Merci

Répondre

1

Une solution pourrait être:

library(ggplot2) 
set.seed(1) 
df <- data.frame(Region = rep(1:3,3), education = rep(1:3,each =3), 
       mean = runif(9,0,1) , lo = runif(9, -1 , 0), 
       up = runif(9, 1, 2)) 

df$RegEdu <- with(df, interaction(Region, education), drop = TRUE) 

ggplot(df, aes(x=RegEdu, y=mean, colour=factor(education), 
     pch=factor(Region))) + geom_point(size=4) + 
     geom_errorbar(aes(ymin = lo, ymax = up)) 

enter image description here

EDIT. En utilisant facet_grid vous pouvez regrouper des barres d'erreur par education

ggplot(df, aes(x=Region, y=mean, colour=factor(education))) + 
     geom_point(size=4) + 
     geom_errorbar(aes(ymin = lo, ymax = up))+ 
     facet_grid(.~education) 

enter image description here

+0

Merci beaucoup @marco Sandri. Cela aide beaucoup, mais savez-vous s'il y a un moyen de regrouper les trois ensemble? Je veux dire faire les trois premiers (1.1, 2.1, 3.1) plus proches ensemble pour montrer qu'ils appartiennent à un groupe, et ainsi de suite, – Alirsd

+0

Merci beaucoup @Marco Sandri. Cela m'a vraiment aidé. Malheureusement, je ne peux pas vous mettre en colère car je n'ai pas assez de réputation – Alirsd

+0

Désolé @Marco Sandri, Mais je n'ai toujours pas assez de réputation pour vous upvote :( Quand je vous ai mis en colère, il est dit que le vote est enregistré, mais ça ne change pas le score public :( Désolé! – Alirsd