2012-05-17 4 views
8

В прошлом я смог создавать ящики с использованием ggplot2, предоставляя нижний квант, нижний квантиль, медианный, верхний квантиль и верхний усы, а также ярлыки оси х. Например:geom_boxplot с предварительно вычисленными значениями

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() 

бы сделать boxplot для двух наборов данных (A & B). Это больше не работает для меня. Я получаю следующую ошибку:

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

Кто-нибудь знает, что-то было изменено в ggplot2?

+1

Поскольку это может быть изменение между версии ggplot2, какую версию вы используете ('sessionInfo()'). Я использую ggplot2_0.9.0 в R 2.15.0, и он работает для меня, поэтому я предполагаю, что это должно быть чем-то связано с версией R или ggplot2. –

ответ

11

Это работает с использованием ggplot2 версии 0.9.1 (и 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

Смотрите "Использование предвычисленными статистики" пример here

Смежные вопросы