Как добавить планки погрешностей в диаграммы в R (с примерами)

Как добавить планки погрешностей в диаграммы в 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 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 )
гистограмма с планками погрешностей в R

Не стесняйтесь использовать следующие аргументы, чтобы изменить внешний вид полос ошибок:

  • 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.