I want to put confidence interval error bars for ggplot.
I have a dataset and I am plotting it with ggplot as:
df <- data.frame(
Sample=c("Sample1", "Sample2", "Sample3", "Sample4", "Sample5"),
Weight=c(10.5, NA, 4.9, 7.8, 6.9))
p <- ggplot(data=df, aes(x=Sample, y=Weight)) +
geom_bar(stat="identity", fill="black") +
scale_y_continuous(expand = c(0,0), limits = c(0, 8)) +
theme_classic() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)
p
I am new to adding error bars. I looked at some options using geom_bar but I could not make it work.
I will appreciate any help to put confidence interval error bars in the barplot. Thank you!
Add a layer of error bars with geom_errorbar
df <- data.frame(
Sample=c("Sample1", "Sample2", "Sample3", "Sample4", "Sample5"),
Average.Weight=c(10.5, NA, 4.9, 7.8, 6.9),
# arbitrarily make up some Standard Errors for each mean:
SE = c(1, NA, .3, .25, .2)) # JUST MAKING THINGS UP HERE
Now you have a data frame with a column of Average Weight
and the SE
for each sample in your study. Use ggplot
to plot:
ggplot(data = na.omit(df)) + #don't bother plotting the NA
geom_bar(stat = "identity", aes(x = Sample,y = Average.Weight)) +
geom_errorbar(
aes(x=Sample,
ymin = Average.Weight - 1.96*SE,
ymax = Average.Weight + 1.96*SE),
color = "red"
)