Приведенный ниже код создает вспомогательную функцию для предоставления значений медианы и sd для построения графика.Мы также преобразуем данные в «длинный» формат перед построением графика.
library(tidyverse)
theme_set(theme_bw())
df <- read.table(text=myTable, header = TRUE)
names(df) <- c("ID","Value1","Value2")
median_sd = function(x, n=1) {
data_frame(y = median(x),
sd = sd(x),
ymin = y - n*sd,
ymax = y + n*sd)
}
ggplot(df %>% gather(key, value, -ID), aes(ID, value)) +
stat_summary(fun.data=median_sd, geom="errorbar", width=0.1) +
stat_summary(fun.y=median, geom="line") +
stat_summary(fun.y=median, geom="point") +
scale_x_continuous(breaks=unique(df$ID))
Вы можете избежать вспомогательной функции с помощью следующего кода, ноФункция удобна, если вы собираетесь делать это много.
ggplot(df %>% gather(key, value, -ID), aes(ID, value)) +
stat_summary(fun.y=median, fun.ymin=function(x) median(x) - sd(x),
fun.ymax=function(x) median(x) + sd(x), geom="errorbar", width=0.1) +
stat_summary(fun.y=median, geom="line") +
stat_summary(fun.y=median, geom="point") +
scale_x_continuous(breaks=unique(df$ID))