2012-05-17 11 views
8

In passato, sono stato in grado di creare grafici a scatole utilizzando ggplot2 fornendo il baffo inferiore, il quantile inferiore, la mediana, il quantile superiore e il baffo superiore insieme alle etichette sull'asse x. Ad esempio:geom_boxplot con valori precalcolati

DF <- data.frame(x=c("A","B"), min=c(1,2), low=c(2,3), mid=c(3,4), top=c(4,5), max=c(5,6)) 
ggplot(DF, aes(x=x, y=c(min,low,mid,top,max))) + 
geom_boxplot() 

farebbe un diagramma a scatola per due serie di dati (A & B). Questo non funziona più per me. Viene visualizzato il seguente errore:

Error: Aesthetics must either be length one, or the same length as the dataProblems:x 

Qualcuno sa se qualcosa è stato modificato in ggplot2?

+1

Dal momento che potrebbe essere un cambiamento tra i versioni di ggplot2, quale versione stai usando ('sessionInfo()'). Sto usando ggplot2_0.9.0 in R 2.15.0 e funziona per me, quindi suppongo che deve essere qualcosa a che fare con la versione R o ggplot2. –

risposta

11

questo funziona utilizzando ggplot2 versione 0.9.1 (e R 2.15.0)

library(ggplot2) 

DF <- data.frame(x=c("A","B"), min=c(1,2), low=c(2,3), mid=c(3,4), top=c(4,5), max=c(5,6)) 

ggplot(DF, aes(x=x, ymin = min, lower = low, middle = mid, upper = top, ymax = max)) + 
    geom_boxplot(stat = "identity") 

enter image description here

Vedere "Uso di statistiche pre-calcolate" esempio here