1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| # data.frame d'exemple
d <- data.frame(
dt = rep(seq( from = as.POSIXct("2019-01-15"), to = as.POSIXct("2019-06-15"), by = "month")),
msr = rnorm(6*1000),
typ = as.factor(round(runif(6*1000,min = 1, max = 2),0))
)
# selection de la plage 0.05>0.95 (moyenne reduite ~10%)
mini <- nrow(d) * 0.05
maxi <- nrow(d) - mini
dd <- d[order(d$msr),]
dd <- dd[mini:maxi,]
# calcul des moyennes
m1 <- aggregate(msr ~ dt, data = dd, FUN = mean)
m2 <- aggregate(msr ~ dt+typ, data = dd, FUN = mean)
library(ggplot2)
# graphique global
g1 <- ggplot(m1) +
aes(x = dt, y = msr) +
geom_bar(stat = "identity", alpha = 0.5) +
geom_hline(yintercept = 0, lty = 2, col = "red") +
ggtitle("graph A")
# graphique par type
g2 <- ggplot(m2) +
aes(x = dt, y = msr, fill = typ) +
geom_bar(stat = "identity", alpha = 0.5, position = "dodge") +
geom_hline(yintercept = 0, lty = 2, col = "red") +
ggtitle("graph B")
library(gridExtra)
grid.arrange(g1, g2, ncol = 2) |
Partager