Я хотел бы иметь возможность дополнить свои коробочные диаграммы дополнительной информацией. Вот рабочий пример для ggplot2:
library(ggplot2)
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
# Basic box plot
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) +
geom_boxplot()
# Rotate the box plot
p + coord_flip()
Я хотел бы добавить дополнительную информацию из отдельного фрейма данных. Например:
extra <- data.frame(dose=factor(c(0.5,1,2)), label=c("Label1", "Label2", "Label3"), n=c("n=42","n=52","n=35"))
> extra
dose label n
1 0.5 Label1 n=42
2 1 Label2 n=52
3 2 Label3 n=35
Я хотел бы создать следующий рисунок, на котором информация о каждой дозе (факторе) находится за пределами графика и согласуется с каждым из уровней дозы (я сделал это в PowerPoint в качестве примера):
Любые советы высоко ценится!
С уважением, Люк
РЕДАКТИРОВАТЬ: Большое спасибо за ответ! Идеально. Я хотел бы попросить совета по расширению первоначального вопроса.
Как насчет этого расширения, где я использую заполнение, чтобы разделить дозу на две группы?
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
ToothGrowth$group <- head(rep(1:2, 100), dim(ToothGrowth)[1])
ToothGrowth$group <- factor(ToothGrowth$group)
p <- ggplot(ToothGrowth, aes(x=dose, y=len, fill=group)) +
geom_boxplot()
# Rotate the box plot
p + coord_flip()
extra <- data.frame(
dose=factor(rep(c(0.5,1,2), each=2)),
group=factor(rep(c(1:2), 3)),
label=c("Label1A", "Label1B", "Label2A", "Label2B", "Label3A", "Label3B"),
n=c("n=12","n=30","n=20", "n=32","n=15","n=20")
)
Можно ли согласовать данные из нового фрейма данных (дополнительные, 6 строк) с каждой комбинацией дозы / группы?
Привет, Люк