Нарисуйте bloxplots в R с учетом 25,50,75 процентилей и минимальных и максимальных значений

Возможный дубликат:
geom_boxplot с предварительно вычисленными значениями

У меня есть таблица, в которой каждая строка представляет собой отдельный образец, а каждый столбец - это имя, минимум, максимум, среднее, 25-й процентиль, 50-й процентиль, 75-й процентиль соответственно. Вот образец.

sample1   1   38   10   8    10   13
sample2   1   39   10   9    11   14
sample3   2   36   11   10   10   13

Я хотел бы знать, как я могу использовать данные в этом формате для того, чтобы построить коробочные диаграммы, поскольку это данные, которые на самом деле наносятся на график. Приведенный выше формат представляет собой разделенную табуляцией таблицу. Спасибо

2 ответа

Решение

Этот пост показывает, как вы можете сделать это с bxp которая является функцией, которая boxplot использует, но вам нужно расположить ваши данные в правильном порядке с первой строкой, являющейся минимумом, и последней строкой, являющейся максимумом.

Сначала прочитайте в данных

dat <- read.table(text="sample1   1   38   10   8    10   13
sample2   1   39   10   9    11   14
sample3   2   36   11   10   10   13", row.names=1, header=FALSE)

Затем приведите в порядок и transpose

dat2 <- t(dat[, c(1, 4, 5, 6, 2)]) #Min, 25pct, 50pct, 75pct, Max

и сюжет

bxp(list(stats=dat2, n=rep(10, ncol(dat2)))) #n is the number of observations in each group

Это дубликат, однако для потомков, и так как я уже начал писать...

dat <- data.frame(name=paste0('sample',1:3), min=c(1,1,2), max=c(38,39,36), mean=c(10,10,11), q25=c(8,9,10), q50=c(10,11,10), q75=c(13,14,13))

ggplot(dat, aes(x=name, ymin=min, ymax=max, lower=q25, middle=q50, upper=q75))+geom_boxplot(stat='identity')
Другие вопросы по тегам