Вы можете использовать следующий базовый синтаксис, чтобы добавить планки погрешностей в гистограмму в 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 A 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 : Толщина планок погрешностей
- color : цвет полос ошибок
Например:
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. seed (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
2 B 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