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.

406 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. theme(axis.text.x = element_text(angle = -45, hjust = 1)) +
  72. ggtitle("Proportion des #CRHA et #CRHP par mois de sortie du RSS") -> p
  73. ggplotly(p)
  74. ```
  75. ## Par Pôle
  76. ```{r}
  77. CRH() %>%
  78. count(Pole, Notes) %>%
  79. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  80. spread(Notes, n) %>%
  81. full_join(CRH() %>% count(Pole)) %>%
  82. select(Pole, RUM = n, CRHP, CRHA, Manquant) %>%
  83. full_join(CRH() %>% group_by(Pole) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  84. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  85. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  86. `% absents` = CRHA / RUM) %>%
  87. datatable(rownames = F,
  88. extensions = 'Buttons',
  89. colnames = c("Pôle" = "Pole",
  90. "Non renseigné" = "Manquant",
  91. "#CRHA" = "CRHA",
  92. "#CRHP" = "CRHP")) %>%
  93. formatPercentage(7)
  94. ```
  95. <br/>
  96. ```{r}
  97. CRH() %>%
  98. ggplot(aes(x = Pole, fill = Notes)) +
  99. geom_bar(position = "fill") +
  100. ylab("Proportion") +
  101. ggtitle("Proportion des #CRHA et #CRHP par pôle, depuis avril 2016") +
  102. theme(axis.text.x = element_text(angle = -45, hjust = 1)) -> p
  103. ggplotly(p)
  104. ```
  105. ## Par Pôle, par service et par mois
  106. ```{r}
  107. CRH() %>%
  108. count(Pole, Service, Mois, Notes) %>%
  109. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  110. spread(Notes, n) %>%
  111. full_join(CRH() %>% count(Pole, Service, Mois)) %>%
  112. ungroup %>%
  113. select(Pole, Service, Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  114. full_join(CRH() %>% group_by(Pole, Service, Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  115. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  116. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  117. `% absents` = CRHA / RUM,
  118. Pole = Pole %>% factor,
  119. Mois = Mois %>% factor) %>%
  120. datatable(rownames = F,
  121. extensions = 'Buttons',
  122. colnames = c("Pôle" = "Pole",
  123. "Non renseigné" = "Manquant",
  124. "#CRHA" = "CRHA",
  125. "#CRHP" = "CRHP"),
  126. filter = "top",
  127. options = list(searching = T, paging = T)) %>%
  128. formatPercentage(9)
  129. ```
  130. <br/>
  131. ```{r}
  132. CRH() %>%
  133. count(Pole, Mois, Notes) %>%
  134. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  135. spread(Notes, n) %>%
  136. mutate(Manquant = ifelse(is.na(Manquant), integer(1), Manquant),
  137. CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  138. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  139. pourcent = CRHA / (CRHA + CRHP + Manquant)) %>%
  140. ggplot(aes(x = Mois, y = pourcent, colour = Pole, group = Pole)) +
  141. geom_line(stat = "identity") +
  142. geom_point() +
  143. theme(axis.text.x = element_text(angle = -45, hjust = 1)) +
  144. ylab("Proportion de #CRHA") +
  145. ggtitle("Évolution des proportions de #CRHA par pôle") -> p
  146. ggplotly(p, tooltip = c("x", "y", "colour"))
  147. ```
  148. ----
  149. # RUMs non séance
  150. ## Par mois
  151. ```{r}
  152. CRH_sans_seance() %>%
  153. count(Mois, Notes) %>%
  154. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  155. spread(Notes, n) %>%
  156. full_join(CRH_sans_seance() %>% count(Mois)) %>%
  157. select(Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  158. full_join(CRH_sans_seance() %>% group_by(Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  159. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  160. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  161. `% absents` = CRHA / RUM) %>%
  162. datatable(rownames = F,
  163. extensions = 'Buttons',
  164. colnames = c("Non renseigné" = "Manquant",
  165. "#CRHA" = "CRHA",
  166. "#CRHP" = "CRHP")) %>%
  167. formatPercentage(7)
  168. ```
  169. <br/>
  170. ```{r}
  171. CRH_sans_seance() %>%
  172. ggplot(aes(x = Mois, fill = Notes)) +
  173. geom_bar(position = "fill") +
  174. theme(axis.text.x = element_text(angle = -45, hjust = 1)) +
  175. ylab("Proportion") +
  176. ggtitle("Proportion des #CRHA et #CRHP par mois de sortie du RSS") -> p
  177. ggplotly(p)
  178. ```
  179. ## Par Pôle
  180. ```{r}
  181. CRH_sans_seance() %>%
  182. count(Pole, Notes) %>%
  183. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  184. spread(Notes, n) %>%
  185. full_join(CRH_sans_seance() %>% count(Pole)) %>%
  186. select(Pole, RUM = n, CRHP, CRHA, Manquant) %>%
  187. full_join(CRH_sans_seance() %>% group_by(Pole) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  188. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  189. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  190. `% absents` = CRHA / RUM) %>%
  191. datatable(rownames = F,
  192. extensions = 'Buttons',
  193. colnames = c("Pôle" = "Pole",
  194. "Non renseigné" = "Manquant",
  195. "#CRHA" = "CRHA",
  196. "#CRHP" = "CRHP")) %>%
  197. formatPercentage(7)
  198. ```
  199. <br/>
  200. ```{r}
  201. CRH_sans_seance() %>%
  202. ggplot(aes(x = Pole, fill = Notes)) +
  203. geom_bar(position = "fill") +
  204. ylab("Proportion") +
  205. ggtitle("Proportion des #CRHA et #CRHP par pôle, depuis avril 2016") +
  206. theme(axis.text.x = element_text(angle = -45, hjust = 1)) -> p
  207. ggplotly(p)
  208. ```
  209. ## Par Pôle, par service et par mois
  210. ```{r}
  211. CRH_sans_seance() %>%
  212. count(Pole, Service, Mois, Notes) %>%
  213. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  214. spread(Notes, n) %>%
  215. full_join(CRH_sans_seance() %>% count(Pole, Service, Mois)) %>%
  216. ungroup %>%
  217. select(Pole, Service, Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  218. full_join(CRH_sans_seance() %>% group_by(Pole, Service, Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  219. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  220. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  221. `% absents` = CRHA / RUM,
  222. Pole = Pole %>% factor,
  223. Mois = Mois %>% factor) %>%
  224. datatable(rownames = F,
  225. extensions = 'Buttons',
  226. colnames = c("Pôle" = "Pole",
  227. "Non renseigné" = "Manquant",
  228. "#CRHA" = "CRHA",
  229. "#CRHP" = "CRHP"),
  230. filter = "top",
  231. options = list(searching = T, paging = T)) %>%
  232. formatPercentage(9)
  233. ```
  234. <br/>
  235. ```{r}
  236. CRH_sans_seance() %>%
  237. count(Pole, Mois, Notes) %>%
  238. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  239. spread(Notes, n) %>%
  240. mutate(Manquant = ifelse(is.na(Manquant), integer(1), Manquant),
  241. CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  242. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  243. pourcent = CRHA / (CRHA + CRHP + Manquant)) %>%
  244. ggplot(aes(x = Mois, y = pourcent, colour = Pole, group = Pole)) +
  245. geom_line(stat = "identity") +
  246. geom_point() +
  247. theme(axis.text.x = element_text(angle = -45, hjust = 1)) +
  248. ylab("Proportion de #CRHA") +
  249. ggtitle("Évolution des proportions de #CRHA par pôle") -> p
  250. ggplotly(p, tooltip = c("x", "y", "colour"))
  251. ```
  252. ----
  253. # RUMs séance
  254. ## Par mois
  255. ```{r}
  256. CRH_seance() %>%
  257. count(Mois, Notes) %>%
  258. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  259. spread(Notes, n) %>%
  260. full_join(CRH_seance() %>% count(Mois)) %>%
  261. select(Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  262. full_join(CRH_seance() %>% group_by(Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  263. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  264. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  265. `% absents` = CRHA / RUM) %>%
  266. datatable(rownames = F,
  267. extensions = 'Buttons',
  268. colnames = c("Non renseigné" = "Manquant",
  269. "#CRHA" = "CRHA",
  270. "#CRHP" = "CRHP")) %>%
  271. formatPercentage(7)
  272. ```
  273. <br/>
  274. ```{r}
  275. CRH_seance() %>%
  276. ggplot(aes(x = Mois, fill = Notes)) +
  277. geom_bar(position = "fill") +
  278. theme(axis.text.x = element_text(angle = -45, hjust = 1)) +
  279. ylab("Proportion") +
  280. ggtitle("Proportion des #CRHA et #CRHP par mois de sortie du RSS") -> p
  281. ggplotly(p)
  282. ```
  283. ## Par Pôle
  284. ```{r}
  285. CRH_seance() %>%
  286. count(Pole, Notes) %>%
  287. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  288. spread(Notes, n) %>%
  289. full_join(CRH_seance() %>% count(Pole)) %>%
  290. select(Pole, RUM = n, CRHP, CRHA, Manquant) %>%
  291. full_join(CRH_seance() %>% group_by(Pole) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  292. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  293. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  294. `% absents` = CRHA / RUM) %>%
  295. datatable(rownames = F,
  296. extensions = 'Buttons',
  297. colnames = c("Pôle" = "Pole",
  298. "Non renseigné" = "Manquant",
  299. "#CRHA" = "CRHA",
  300. "#CRHP" = "CRHP")) %>%
  301. formatPercentage(7)
  302. ```
  303. <br/>
  304. ```{r}
  305. CRH_seance() %>%
  306. ggplot(aes(x = Pole, fill = Notes)) +
  307. geom_bar(position = "fill") +
  308. ylab("Proportion") +
  309. ggtitle("Proportion des #CRHA et #CRHP par pôle, depuis avril 2016") +
  310. theme(axis.text.x = element_text(angle = -45, hjust = 1)) -> p
  311. ggplotly(p)
  312. ```
  313. ## Par Pôle, par service et par mois
  314. ```{r}
  315. CRH_seance() %>%
  316. count(Pole, Service, Mois, Notes) %>%
  317. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  318. spread(Notes, n) %>%
  319. full_join(CRH_seance() %>% count(Pole, Service, Mois)) %>%
  320. ungroup %>%
  321. select(Pole, Service, Mois, RUM = n, CRHP, CRHA, Manquant) %>%
  322. full_join(CRH_seance() %>% group_by(Pole, Service, Mois) %>% summarise(`Délai médian (j)` = median(Delai))) %>%
  323. mutate(CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  324. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  325. `% absents` = CRHA / RUM,
  326. Pole = Pole %>% factor,
  327. Mois = Mois %>% factor) %>%
  328. datatable(rownames = F,
  329. extensions = 'Buttons',
  330. colnames = c("Pôle" = "Pole",
  331. "Non renseigné" = "Manquant",
  332. "#CRHA" = "CRHA",
  333. "#CRHP" = "CRHP"),
  334. filter = "top",
  335. options = list(searching = T, paging = T)) %>%
  336. formatPercentage(9)
  337. ```
  338. <br/>
  339. ```{r}
  340. CRH_seance() %>%
  341. count(Pole, Mois, Notes) %>%
  342. mutate(Notes = ifelse(is.na(Notes), "Manquant", Notes)) %>%
  343. spread(Notes, n) %>%
  344. mutate(Manquant = ifelse(is.na(Manquant), integer(1), Manquant),
  345. CRHA = ifelse(is.na(CRHA), integer(1), CRHA),
  346. CRHP = ifelse(is.na(CRHP), integer(1), CRHP),
  347. pourcent = CRHA / (CRHA + CRHP + Manquant)) %>%
  348. ggplot(aes(x = Mois, y = pourcent, colour = Pole, group = Pole)) +
  349. geom_line(stat = "identity") +
  350. geom_point() +
  351. theme(axis.text.x = element_text(angle = -45, hjust = 1)) +
  352. ylab("Proportion de #CRHA") +
  353. ggtitle("Évolution des proportions de #CRHA par pôle") -> p
  354. ggplotly(p, tooltip = c("x", "y", "colour"))
  355. ```