You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

400 lines
12KB

  1. ---
  2. output:
  3. html_document:
  4. toc: true
  5. toc_float: true
  6. params:
  7. CRH: NA
  8. CRH_seance: NA
  9. CRH_sans_seance: NA
  10. ---
  11. ```{r init, warning = F, message = F, echo = F}
  12. library(tidyverse)
  13. library(DT)
  14. library(magrittr)
  15. library(stringr)
  16. library(knitr)
  17. library(lubridate)
  18. library(plotly)
  19. opts_chunk$set(warning = F,
  20. message = F,
  21. fig.width = 9,
  22. fig.height = 6,
  23. echo = F)
  24. options(DT.options = list(paging = F,
  25. info = F,
  26. searching = F,
  27. dom = "Bfrtip",
  28. buttons = c('copy', 'excel')))
  29. ```
  30. ```{r data, echo = F, message = F, warning = F}
  31. mois_label <- c("Janvier",
  32. "Février",
  33. "Mars",
  34. "Avril",
  35. "Mai",
  36. "Juin",
  37. "Juillet",
  38. "Août",
  39. "Septembre",
  40. "Octobre",
  41. "Novembre",
  42. "Décembre")
  43. pdf(NULL)
  44. ```
  45. # Tous RUMs confondus
  46. ## Par mois
  47. ```{r}
  48. CRH() %>%
  49. count(Mois, Notes) %>%
  50. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  51. spread(Notes, n) %>%
  52. full_join(CRH() %>% count(Mois)) %>%
  53. select(Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  54. full_join(CRH() %>% group_by(Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  55. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  56. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  57. `% absents` = CRHA / RUM) %>%
  58. datatable(rownames = F,
  59. extensions = 'Buttons',
  60. colnames = c("Non renseigné" = "Manquant",
  61. "#CRHA" = "CRHA",
  62. "#CRHP" = "CRHP")) %>%
  63. formatPercentage(7)
  64. ```
  65. <br/>
  66. ```{r}
  67. CRH() %>%
  68. ggplot(aes(x = Mois, fill = Notes)) +
  69. geom_bar(position = "fill") +
  70. ylab("Proportion") +
  71. ggtitle("Proportion des #CRHA et #CRHP par mois de sortie du RSS") -> p
  72. ggplotly(p)
  73. ```
  74. ## Par Pôle
  75. ```{r}
  76. CRH() %>%
  77. count(Pole, Notes) %>%
  78. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  79. spread(Notes, n) %>%
  80. full_join(CRH() %>% count(Pole)) %>%
  81. select(Pole, RUM = n, CRHP, CRHA, Manquant) %>%
  82. full_join(CRH() %>% group_by(Pole) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  83. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  84. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  85. `% absents` = CRHA / RUM) %>%
  86. datatable(rownames = F,
  87. extensions = 'Buttons',
  88. colnames = c("Pôle" = "Pole",
  89. "Non renseigné" = "Manquant",
  90. "#CRHA" = "CRHA",
  91. "#CRHP" = "CRHP")) %>%
  92. formatPercentage(7)
  93. ```
  94. <br/>
  95. ```{r}
  96. CRH() %>%
  97. ggplot(aes(x = Pole, fill = Notes)) +
  98. geom_bar(position = "fill") +
  99. ylab("Proportion") +
  100. ggtitle("Proportion des #CRHA et #CRHP par pôle, depuis avril 2016") +
  101. theme(axis.text.x = element_text(angle = -45, hjust = 1)) -> p
  102. ggplotly(p)
  103. ```
  104. ## Par Pôle, par service et par mois
  105. ```{r}
  106. CRH() %>%
  107. count(Pole, Service, Mois, Notes) %>%
  108. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  109. spread(Notes, n) %>%
  110. full_join(CRH() %>% count(Pole, Service, Mois)) %>%
  111. ungroup %>%
  112. select(Pole, Service, Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  113. full_join(CRH() %>% group_by(Pole, Service, Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  114. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  115. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  116. `% absents` = CRHA / RUM,
  117. Pole = Pole %>% factor,
  118. Mois = Mois %>% factor) %>%
  119. datatable(rownames = F,
  120. extensions = 'Buttons',
  121. colnames = c("Pôle" = "Pole",
  122. "Non renseigné" = "Manquant",
  123. "#CRHA" = "CRHA",
  124. "#CRHP" = "CRHP"),
  125. filter = "top",
  126. options = list(searching = T, paging = T)) %>%
  127. formatPercentage(9)
  128. ```
  129. <br/>
  130. ```{r}
  131. CRH() %>%
  132. count(Pole, Mois, Notes) %>%
  133. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  134. spread(Notes, n) %>%
  135. mutate(Manquant = ifelse(is.na(Manquant), integer(1), Manquant),
  136. CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  137. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  138. pourcent = CRHA / (CRHA + CRHP + Manquant)) %>%
  139. ggplot(aes(x = Mois, y = pourcent, colour = Pole, group = Pole)) +
  140. geom_line(stat = "identity") +
  141. geom_point() +
  142. ylab("Proportion de #CRHA") +
  143. ggtitle("Évolution des proportions de #CRHA par pôle") -> p
  144. ggplotly(p, tooltip = c("x", "y", "colour"))
  145. ```
  146. ----
  147. # RUMs non séance
  148. ## Par mois
  149. ```{r}
  150. CRH_sans_seance() %>%
  151. count(Mois, Notes) %>%
  152. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  153. spread(Notes, n) %>%
  154. full_join(CRH_sans_seance() %>% count(Mois)) %>%
  155. select(Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  156. full_join(CRH_sans_seance() %>% group_by(Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  157. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  158. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  159. `% absents` = CRHA / RUM) %>%
  160. datatable(rownames = F,
  161. extensions = 'Buttons',
  162. colnames = c("Non renseigné" = "Manquant",
  163. "#CRHA" = "CRHA",
  164. "#CRHP" = "CRHP")) %>%
  165. formatPercentage(7)
  166. ```
  167. <br/>
  168. ```{r}
  169. CRH_sans_seance() %>%
  170. ggplot(aes(x = Mois, fill = Notes)) +
  171. geom_bar(position = "fill") +
  172. ylab("Proportion") +
  173. ggtitle("Proportion des #CRHA et #CRHP par mois de sortie du RSS") -> p
  174. ggplotly(p)
  175. ```
  176. ## Par Pôle
  177. ```{r}
  178. CRH_sans_seance() %>%
  179. count(Pole, Notes) %>%
  180. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  181. spread(Notes, n) %>%
  182. full_join(CRH_sans_seance() %>% count(Pole)) %>%
  183. select(Pole, RUM = n, CRHP, CRHA, Manquant) %>%
  184. full_join(CRH_sans_seance() %>% group_by(Pole) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  185. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  186. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  187. `% absents` = CRHA / RUM) %>%
  188. datatable(rownames = F,
  189. extensions = 'Buttons',
  190. colnames = c("Pôle" = "Pole",
  191. "Non renseigné" = "Manquant",
  192. "#CRHA" = "CRHA",
  193. "#CRHP" = "CRHP")) %>%
  194. formatPercentage(7)
  195. ```
  196. <br/>
  197. ```{r}
  198. CRH_sans_seance() %>%
  199. ggplot(aes(x = Pole, fill = Notes)) +
  200. geom_bar(position = "fill") +
  201. ylab("Proportion") +
  202. ggtitle("Proportion des #CRHA et #CRHP par pôle, depuis avril 2016") +
  203. theme(axis.text.x = element_text(angle = -45, hjust = 1)) -> p
  204. ggplotly(p)
  205. ```
  206. ## Par Pôle, par service et par mois
  207. ```{r}
  208. CRH_sans_seance() %>%
  209. count(Pole, Service, Mois, Notes) %>%
  210. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  211. spread(Notes, n) %>%
  212. full_join(CRH_sans_seance() %>% count(Pole, Service, Mois)) %>%
  213. ungroup %>%
  214. select(Pole, Service, Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  215. full_join(CRH_sans_seance() %>% group_by(Pole, Service, Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  216. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  217. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  218. `% absents` = CRHA / RUM,
  219. Pole = Pole %>% factor,
  220. Mois = Mois %>% factor) %>%
  221. datatable(rownames = F,
  222. extensions = 'Buttons',
  223. colnames = c("Pôle" = "Pole",
  224. "Non renseigné" = "Manquant",
  225. "#CRHA" = "CRHA",
  226. "#CRHP" = "CRHP"),
  227. filter = "top",
  228. options = list(searching = T, paging = T)) %>%
  229. formatPercentage(9)
  230. ```
  231. <br/>
  232. ```{r}
  233. CRH_sans_seance() %>%
  234. count(Pole, Mois, Notes) %>%
  235. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  236. spread(Notes, n) %>%
  237. mutate(Manquant = ifelse(is.na(Manquant), integer(1), Manquant),
  238. CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  239. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  240. pourcent = CRHA / (CRHA + CRHP + Manquant)) %>%
  241. ggplot(aes(x = Mois, y = pourcent, colour = Pole, group = Pole)) +
  242. geom_line(stat = "identity") +
  243. geom_point() +
  244. ylab("Proportion de #CRHA") +
  245. ggtitle("Évolution des proportions de #CRHA par pôle") -> p
  246. ggplotly(p, tooltip = c("x", "y", "colour"))
  247. ```
  248. ----
  249. # RUMs séance
  250. ## Par mois
  251. ```{r}
  252. CRH_seance() %>%
  253. count(Mois, Notes) %>%
  254. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  255. spread(Notes, n) %>%
  256. full_join(CRH_seance() %>% count(Mois)) %>%
  257. select(Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  258. full_join(CRH_seance() %>% group_by(Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  259. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  260. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  261. `% absents` = CRHA / RUM) %>%
  262. datatable(rownames = F,
  263. extensions = 'Buttons',
  264. colnames = c("Non renseigné" = "Manquant",
  265. "#CRHA" = "CRHA",
  266. "#CRHP" = "CRHP")) %>%
  267. formatPercentage(7)
  268. ```
  269. <br/>
  270. ```{r}
  271. CRH_seance() %>%
  272. ggplot(aes(x = Mois, fill = Notes)) +
  273. geom_bar(position = "fill") +
  274. ylab("Proportion") +
  275. ggtitle("Proportion des #CRHA et #CRHP par mois de sortie du RSS") -> p
  276. ggplotly(p)
  277. ```
  278. ## Par Pôle
  279. ```{r}
  280. CRH_seance() %>%
  281. count(Pole, Notes) %>%
  282. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  283. spread(Notes, n) %>%
  284. full_join(CRH_seance() %>% count(Pole)) %>%
  285. select(Pole, RUM = n, CRHP, CRHA, Manquant) %>%
  286. full_join(CRH_seance() %>% group_by(Pole) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  287. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  288. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  289. `% absents` = CRHA / RUM) %>%
  290. datatable(rownames = F,
  291. extensions = 'Buttons',
  292. colnames = c("Pôle" = "Pole",
  293. "Non renseigné" = "Manquant",
  294. "#CRHA" = "CRHA",
  295. "#CRHP" = "CRHP")) %>%
  296. formatPercentage(7)
  297. ```
  298. <br/>
  299. ```{r}
  300. CRH_seance() %>%
  301. ggplot(aes(x = Pole, fill = Notes)) +
  302. geom_bar(position = "fill") +
  303. ylab("Proportion") +
  304. ggtitle("Proportion des #CRHA et #CRHP par pôle, depuis avril 2016") +
  305. theme(axis.text.x = element_text(angle = -45, hjust = 1)) -> p
  306. ggplotly(p)
  307. ```
  308. ## Par Pôle, par service et par mois
  309. ```{r}
  310. CRH_seance() %>%
  311. count(Pole, Service, Mois, Notes) %>%
  312. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  313. spread(Notes, n) %>%
  314. full_join(CRH_seance() %>% count(Pole, Service, Mois)) %>%
  315. ungroup %>%
  316. select(Pole, Service, Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  317. full_join(CRH_seance() %>% group_by(Pole, Service, Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  318. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  319. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  320. `% absents` = CRHA / RUM,
  321. Pole = Pole %>% factor,
  322. Mois = Mois %>% factor) %>%
  323. datatable(rownames = F,
  324. extensions = 'Buttons',
  325. colnames = c("Pôle" = "Pole",
  326. "Non renseigné" = "Manquant",
  327. "#CRHA" = "CRHA",
  328. "#CRHP" = "CRHP"),
  329. filter = "top",
  330. options = list(searching = T, paging = T)) %>%
  331. formatPercentage(9)
  332. ```
  333. <br/>
  334. ```{r}
  335. CRH_seance() %>%
  336. count(Pole, Mois, Notes) %>%
  337. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  338. spread(Notes, n) %>%
  339. mutate(Manquant = ifelse(is.na(Manquant), integer(1), Manquant),
  340. CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  341. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  342. pourcent = CRHA / (CRHA + CRHP + Manquant)) %>%
  343. ggplot(aes(x = Mois, y = pourcent, colour = Pole, group = Pole)) +
  344. geom_line(stat = "identity") +
  345. geom_point() +
  346. ylab("Proportion de #CRHA") +
  347. ggtitle("Évolution des proportions de #CRHA par pôle") -> p
  348. ggplotly(p, tooltip = c("x", "y", "colour"))
  349. ```