Как добавить полосы ошибок к диаграммам в r (с примерами)
Вы можете использовать следующий базовый синтаксис, чтобы добавить полосы ошибок на гистограмму в R:
ggplot(df) + geom_bar( aes (x=x, y=y), stat=' identity ') + geom_errorbar( aes (x=x, ymin=y-sd, ymax=y+sd), width= 0.4 )
Следующие примеры показывают, как использовать эту функцию на практике.
Пример 1. Добавление столбцов погрешностей с использованием сводных данных
Предположим, у нас есть следующий фрейм данных в R, который отображает сводную статистику для пяти категорий:
#create data frame df <- data. frame (category=c('A', 'B', 'C', 'D', 'E'), value=c(12, 17, 30, 22, 19), sd=c(4, 5, 7, 4, 2)) #view data frame df category value sd 1 to 12 4 2 B 17 5 3 C 30 7 4 D 22 4 5 E 19 2
Мы можем использовать следующий код для создания гистограммы с полосами ошибок для визуализации этих данных:
library (ggplot2) #create bar plot with error bars ggplot(df) + geom_bar( aes (x=category, y=value), stat=' identity ', fill=' steelblue ') + geom_errorbar( aes (x=category, ymin=value-sd, ymax=value+sd), width= 0.4 )
Не стесняйтесь использовать следующие аргументы, чтобы изменить внешний вид полос ошибок:
- width : Ширина полос погрешностей.
- size : Толщина полос погрешностей.
- цвет : цвет полос ошибок.
Например:
library (ggplot2) #create bar plot with custom error bars ggplot(df) + geom_bar( aes (x=category, y=value), stat=' identity ', fill=' steelblue ') + geom_errorbar( aes (x=category, ymin=value-sd, ymax=value+sd), width= 0.3 , size= 2.3 , color=' red ')
Пример 2. Добавление полос ошибок с использованием необработанных данных
Допустим, у нас есть следующий фрейм данных, который показывает необработанные данные для пяти различных категорий:
#make this example reproducible set. seeds (0) #create data frame df <- data. frame (category=rep(c('A', 'B', 'C', 'D', 'E'), each= 10 ), value=runif(50, 10, 20)) #view first six rows of data frame head(df) category value 1 A 18.96697 2 A 12.65509 3 A 13.72124 4 A 15.72853 5 A 19.08208 6 A 12.01682
Следующий код показывает, как суммировать данные, а затем создать гистограмму с полосами ошибок:
library (dplyr) library (ggplot2) #summarize mean and sd for each category df_summary <- df %>% group_by(category) %>% summarize(mean=mean(value), sd=sd(value)) #view summary data df_summary # A tibble: 5 x 3 category mean sd 1 A 16.4 2.80 2B 14.9 2.99 3 C 14.6 3.25 4 D 15.2 2.48 5 E 15.8 2.41 #create bar plot with error bars ggplot(df_summary) + geom_bar( aes (x=category, y=mean), stat=' identity ', fill=' steelblue ') + geom_errorbar( aes (x=category, ymin=mean-sd, ymax=mean+sd), width= 0.3 , color=' red ')
Дополнительные ресурсы
В следующих руководствах объясняется, как создавать другие распространенные визуализации данных в R:
Как построить несколько коробчатых диаграмм в R
Как построить несколько гистограмм в R
Как нарисовать несколько линий в R