#r #ggplot2 #boxplot
#r #ggplot2 #блокплощадка
Вопрос:
Я хотел бы сделать a boxplot
с двумя разными группами только с тремя разными измерениями (это вообще возможно?). Вот мои данные:
data <- data.frame( "County" = 1:6, Median = c(5,7,8,2,4, 5), Low = c( 0.5,2,4,1,2,3),
High = c(10,12,11,9,10,15), ID = c("TRUE", "TRUE", "FALSE", "TRUE", "FALSE", "FALSE"))
Я хотел бы создать boxplot
графство с округом по оси x, медианой, низким и высоким значением по оси y и идентификатором (либо true / false) в качестве заполнения. В результате я хочу шесть разных (в данном случае) блокплощадок (три ложных и три истинных). Но я не уверен, как это сделать с моими данными, поскольку у меня нет ymin
и ymax
.
Я пробовал это, но он не учитывает нижний и верхний:
ggplot(dat, aes(x = County, y = Median, lower = Low, upper = High, fill = ID))
geom_boxplot()
Кто-нибудь сталкивался с такой же проблемой?
Ответ №1:
Блокплощадка параметризуется:
ymin
: нижний усовlower
: 25-й процентильmiddle
: 50-й процентильupper
: 75-й процентильymax
: верхний ус
Как вы правильно указали, кажется, что мы не можем сопоставить эти 5 параметров только с тремя наблюдениями на группу. Однако вас может заинтересовать geom_crossbar()
слой, который придаст вам вид, похожий на boxplot, без усов, и для этого требуется всего 3 параметра. Пример ниже:
library(ggplot2)
data <- data.frame( "County" = 1:6, Median = c(5,7,8,2,4, 5), Low = c( 0.5,2,4,1,2,3),
High = c(10,12,11,9,10,15), ID = c("TRUE", "TRUE", "FALSE", "TRUE", "FALSE", "FALSE"))
ggplot(data, aes(x = as.factor(County),
y = Median,
ymin = Low,
ymax = High))
geom_crossbar(aes(colour = ID))
Комментарии:
1. Да, я так и думал. Но да, geom_crossbar работал отлично! Спасибо!!