Как добавить полосы ошибок со стандартным отклонением, используя ggplot2 - PullRequest
1 голос
/ 02 мая 2019

Я хочу построить линейки ошибок со стандартным отклонением на моем линейном графике. Я не знаю, почему это работает только со стандартной ошибкой. Что я делаю не так?

Я пробовал несколько методов, но продолжаю получать ошибки.

library(ggplot2)
line = ggplot(alldata, aes(Time, Vol))
line +
  stat_summary(fun.y = mean, geom = 'point')+
  stat_summary(fun.y = mean, geom = "line", aes(group = 1))+
  stat_summary(fun.data = mean_se, geom = "errorbar", width = 0.5)+

Когда он mean_se работает, но мне нужно sd

  ylab("V")+
  xlab("T)")+
  theme_bw()+
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_rect(colour = "black", size=2))
  • Время-х
  • Vol-y
  • alldata - фрейм данных

У меня есть график, но только со стандартными барами ошибок

1 Ответ

0 голосов
/ 02 мая 2019

Добро пожаловать на SO. Пожалуйста, смотрите здесь о том, как создать минимальный воспроизводимый пример. Учитесь на этом и пересмотрите свой вопрос. Помимо этого, важным вопросом является тот, который отражает адекватное исследование сделано. Нет недостатка в подобных вопросах, задаваемых ранее. Поэтому, когда вы публикуете вопрос, убедитесь, что предоставили адекватную документацию о том, какие шаги вы предприняли, включая подобные вопросы, подобные вашему, чтобы найти решение.

При отсутствии данных я использую набор данных mtcars.

mean_sdl принимает аргумент mult, который указывает количество стандартных отклонений - по умолчанию это mult = 2. Так что вам нужно пройти mult = 1

library(tidyverse)

#load mtcars dataset
mtcars <- mtcars
str(mtcars)
# coerce to factor for bar plot
mtcars$cyl<- as.factor(mtcars$cyl)
mtcars$gear<- as.factor(mtcars$gear)

ggplot(mtcars, aes(cyl, disp, fill = gear)) +
  geom_bar(stat = "summary", fun.y = "mean", na.rm = TRUE,
       position = position_dodge(width = 0.9)) +
  geom_errorbar(stat = "summary", fun.data = "mean_sdl", 
            fun.args = list(mult = 1),
            position =  position_dodge(width = 0.9)) +
  ylab("mean displacement") +
  ggtitle("Some plot")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...