Как добавить бары SE на гистограмму в коде R? - PullRequest
2 голосов
/ 15 марта 2020

Я новичок в R и хотел бы добавить стандартную ошибку баров к моей гистограмме. У меня есть следующий код:

p1 <- ggplot(plot1, aes(x=factor(drink_type), y=value, fill = manipulation)) + 
  stat_summary(fun.y="mean", geom="bar", position="dodge") +
  theme_classic() +
 labs(x = 'Drink type', y = 'Evidence accumulation')

p1 + stat_summary(fun.data = mean_cl_normal, geom = "errorbar", width = .08, position = position_dodge(0.9)) 

Тем не менее, я не уверен, что этот 'geom = "errorbar" создает стандартные полосы ошибок (что я и хочу). Это данные, с которыми я работаю. Интересно, нужно ли мне создать новый столбец, который является SE столбца 'value', чтобы представить стандартные панели ошибок?

ppt | manipulation |   drink_type           |  value
1   |       n      |   avg_alcohol_drift    |  1.8854094
1   |       p      |   avg_alcohol_drift    |  1.6257274
1   |       n      |   avg_softdrink_drift  |  1.8519074
1   |       p      |   avg_softdrink_drift  |  1.8477995

Любая помощь будет очень признательна!

1 Ответ

2 голосов
/ 15 марта 2020

Да, следует, вы можете попробовать что-то вроде ниже, где я использовал пример набора данных:

ggplot(ToothGrowth,aes(x=factor(dose),y=len,fill=supp)) + 
stat_summary(fun.y=mean,geom="bar",position=position_dodge()) + 
stat_summary(fun.data=mean_se,geom="errorbar",
position=position_dodge(0.9),width=0.2)

enter image description here

Мы можем вычислить это вручную :

library(dplyr)
se_data = ToothGrowth %>% 
group_by(dose,supp) %>% 
summarise(mean=mean(len),se=sd(len)/sqrt(n()))

# A tibble: 6 x 4
# Groups:   dose [3]
   dose supp   mean    se
  <dbl> <fct> <dbl> <dbl>
1   0.5 OJ    13.2  1.41 
2   0.5 VC     7.98 0.869
3   1   OJ    22.7  1.24 
4   1   VC    16.8  0.795
5   2   OJ    26.1  0.840
6   2   VC    26.1  1.52 

ggplot(se_data,aes(x=factor(dose),y=mean,fill=supp)) + 
geom_bar(stat="identity",position="dodge") +
geom_errorbar(aes(ymin=mean-se,ymax=mean+se),
position=position_dodge(0.9),width=0.2)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...