[R] Fast way to draw mean values and 95% confidence intervals of groups with ggplot2
Luigi Marongiu
m@rong|u@|u|g| @end|ng |rom gm@||@com
Thu Nov 16 12:59:16 CET 2023
Hello,
I have triplicate (column A) readings (column D) of samples exposed to
different concentrations (column C) over time (column B).
Is it possible to draw a line plot of the mean values for each
concentration (C)? At the moment, I get a single line.
Also, is there a simple way to draw the 95% CI around these data? I
know I need to use ribbon with the lower and upper limit, but is there
a simple way for ggplot2 to calculate directly these values?
Here is a working example:
```
A = c(rep(1, 28), rep(2, 28), rep(3, 28))
B = rep(c(0, 15, 30, 45, 60, 75, 90), 12)
C = rep(c(rep(0, 7), rep(0.6, 7), rep(1.2, 7),
rep(2.5,7)),3)
D = c(731.33, 761.67, 730, 761.67, 741.67, 788.67, 784.33,
686.67, 685.33, 680, 693.67, 684, 704, 709.67, 739,
731, 719, 767, 760.67, 776.67, 768.67, 675, 671.67,
668.67, 677.33, 673.67, 687, 696.67, 727, 750.67,
752.67, 786.67, 794.67, 843.33, 946, 732.67, 737.33,
775.33, 828, 918, 1063, 1270, 752.67, 742.33,
735.67,
747.67, 777.33, 803.67, 865.67, 700, 700.67, 705.67,
722.67, 744, 779, 837, 748, 742, 754, 747.67,
775.67, 808.67, 869, 705.67, 714.33, 702.33, 730,
710.67, 731, 744, 686.33, 687.33, 670, 702.33,
669.33, 707.33, 708.33, 724, 747, 761.33, 715,
697.67, 728, 728)
df = data.frame(A, B, C, D)
library(ggplot2)
ggplot(data=df, aes(x=B, y=D, z=C, color =C)) +
geom_line(stat = "summary", fun = "mean") +
geom_ribbon()
```
Thank you
More information about the R-help
mailing list