2017-05-25 1 views
2

geom_boxplotChanger fin de whisker dans geom_boxplot

Je tente d'utiliser geom_boxplot pour dessiner l'image. Cependant, je veux changer la définition de moustache, ce qui signifie que la fin de la moustache est le maximum et le minimum de mes données, et la valeur aberrante doit être supprimée. Ce serait bien de me baser sur mon code existant.

Merci beaucoup.

con.for2=data.frame(d=as.character(gl(9,20)),close=exp(rnorm(180)),open=exp(rnorm(180))) 
concentration=melt(con.for2) 
colnames(concentration)=c("location","Condition","formaldehyde") 
p=ggplot(data=concentration,aes(factor(location), formaldehyde),ylim=c(0,0.15),cex.axis=1.5,cex.lab=15 
     ) + geom_boxplot(aes(fill = Condition))+xlab("Location") + ylab("Formaldehyde concentration (mg/m3)") 
+1

A la fin de la page d'aide pour 'geom_boxplot' il est un exemple d'utilisation' stat = "identité" 'passer outre les paramètres standard. Vous pouvez définir une autre df avec les chiffres appropriés pour vos données et utiliser cette approche. –

Répondre

2

Adapté de la réponse Changing whisker definition in geom_boxplot

p <- ggplot(data=concentration,aes(factor(location), formaldehyde),ylim=c(0,0.15),cex.axis=1.5,cex.lab=15) 

f <- function(x) { 
    r <- quantile(x, probs = c(0, 0.25, 0.5, 0.75, 1)) 
    names(r) <- c("ymin", "lower", "middle", "upper", "ymax") 
    r 
} 

p + stat_summary(fun.data=f, aes(fill= Condition), geom="boxplot", position="dodge") 

enter image description here