##chargement des packages----
library(questionr)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.2.1 ✔ readr 2.2.0
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.3 ✔ tibble 3.3.1
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
## ✔ purrr 1.2.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(tableone)
library(labelled)
library(gtsummary)
library(GGally)
library(readxl)
library(effects)
## Le chargement a nécessité le package : carData
## lattice theme set by effectsTheme()
## See ?effectsTheme for details.
library(survival)
library(survminer)
## Le chargement a nécessité le package : ggpubr
## Registered S3 method overwritten by 'car':
## method from
## na.action.merMod lme4
##
## Attachement du package : 'survminer'
##
## L'objet suivant est masqué depuis 'package:survival':
##
## myeloma
library(ggplot2)
library(dplyr)
library(knitr)
library(cowplot)
##
## Attachement du package : 'cowplot'
##
## L'objet suivant est masqué depuis 'package:ggpubr':
##
## get_legend
##
## L'objet suivant est masqué depuis 'package:lubridate':
##
## stamp
##chargement des données
data_dplct <- read_excel("C:/datar/data_dplct.xlsx")
data_appels_sans_dplct <- read_excel("C:/datar/data_appels_sans_dplct.xlsx")
dplct<-filter(data_dplct, c(eligible_dplct=="oui"))
appels<-filter(data_appels_sans_dplct, c(eligible_appel_sans_dplct=="oui"))
##recodage des variables et bases de données le cas échéant----
appels$appel_astreinte <-ifelse(appels$nb_appel_sans_dplct==1, "oui", "non")
##renommer des variables pour présentation dans les tableaux de résultats
library(labelled)
var_label(dplct$duree_deplct) <- "duree de presence hors déplacement (hr)"
##Données exploitables pour les déplacements de nov 2025 à debut oct 2026----
##exclusion des journées samedi et fériés (présence fixée)##
tbl_summary(
dplct, include = c("jour"),
by="periode",
digits=all_categorical()~ c(0,1)
)
| Characteristic |
journee
N = 36 |
soiree_nuit
N = 276 |
| jour |
|
|
| dimanche |
36 (100.0%) |
37 (13.4%) |
| ferie |
0 (0.0%) |
11 (4.0%) |
| samedi |
0 (0.0%) |
40 (14.5%) |
| semaine |
0 (0.0%) |
149 (54.0%) |
| vendredi |
0 (0.0%) |
39 (14.1%) |
##extraction des données selon les jours
semaine<-filter(dplct, c(jour=="semaine"))
lun_ven<-filter(dplct, c(jour=="semaine"| jour=="vendredi"))
vendredi<-filter(dplct, c(jour=="vendredi"))
samedi<-filter(dplct, c(jour=="samedi"))
dimanche<-filter(dplct, c(jour=="dimanche"))
##déplacements en semaine
tbl_summary(
semaine, include = c("deplacement"),
digits=all_categorical()~ c(0,1)
)
| Characteristic |
N = 149 |
| deplacement |
|
| non |
138 (92.6%) |
| oui |
11 (7.4%) |
##deplacements le vendredi soir
tbl_summary(
vendredi, include = c("deplacement"),
digits=all_categorical()~ c(0,1)
)
| Characteristic |
N = 39 |
| deplacement |
|
| non |
36 (92.3%) |
| oui |
3 (7.7%) |
##regroupement déplacements semaine + vendredi
tbl_summary(
lun_ven, include = c("deplacement"),
digits=all_categorical()~ c(0,1)
)
| Characteristic |
N = 188 |
| deplacement |
|
| non |
174 (92.6%) |
| oui |
14 (7.4%) |
dplct_sem<-filter(lun_ven, c(deplacement=="oui"))
tbl_summary(
dplct_sem, include = c("duree_deplct"),
digits=all_categorical()~ c(0,1),
type = list(
duree_deplct ~ "continuous"
),
statistic = all_continuous() ~ "{median} ({p25}-{p75}) [{min} - {max}]",
)
| Characteristic |
N = 14 |
| duree de presence hors déplacement (hr) |
1.00 (0.75-1.00) [0.50 - 2.00] |
##deplacements du samedi après 18h00
tbl_summary(
samedi, include = c("deplacement"),
digits=all_categorical()~ c(0,1)
)
| Characteristic |
N = 40 |
| deplacement |
|
| non |
31 (77.5%) |
| oui |
9 (22.5%) |
dplct_samedi<-filter(samedi, c(deplacement=="oui"))
tbl_summary(
dplct_samedi, include = c("duree_deplct"),
digits=all_categorical()~ c(0,1),
type = list(
duree_deplct ~ "continuous"
),
statistic = all_continuous() ~ "{median} ({p25}-{p75}) [{min} - {max}]",
)
| Characteristic |
N = 9 |
| duree de presence hors déplacement (hr) |
1.00 (0.50-1.00) [0.50 - 1.50] |
##déplacement du dimanche
dimanche %>%
tbl_cross(
row = motif_deplct,
col = deplacement,
percent = "row"
) %>%
add_p(source_note = TRUE)
|
deplacement
|
Total |
| non |
oui |
| motif_deplct |
|
|
|
| appel |
0 (0%) |
15 (100%) |
15 (100%) |
| ctp_prevu |
0 (0%) |
31 (100%) |
31 (100%) |
| Unknown |
27 (100%) |
0 (0%) |
27 (100%) |
| Total |
27 (37%) |
46 (63%) |
73 (100%) |
| Pearson’s Chi-squared test, p<0.001 |
dplct_dimanche<-filter(dimanche, c(deplacement=="oui"))
tbl_summary(
dplct_dimanche, include = c("duree_deplct"),
digits=all_categorical()~ c(0,1),
statistic = all_continuous() ~ "{median} ({p25}- {p75}) [{min} - {max}]",
by="motif_deplct",
)
| Characteristic |
appel
N = 15 |
ctp_prevu
N = 31 |
| duree de presence hors déplacement (hr) |
1.00 (0.50- 1.00) [0.25 - 5.50] |
3.50 (3.00- 4.50) [1.50 - 8.50] |
##Données exploitables pour les appels sans déplacement
##de nov 2025 à debut oct 2026----
tbl_summary(
appels, include = c("jour"),
by="periode",
digits=all_categorical()~ c(0,1)
)
| Characteristic |
journee
N = 80 |
soiree_nuit
N = 237 |
| jour |
|
|
| dimanche |
36 (45.0%) |
34 (14.3%) |
| ferie |
11 (13.8%) |
10 (4.2%) |
| samedi |
33 (41.3%) |
35 (14.8%) |
| semaine |
0 (0.0%) |
124 (52.3%) |
| vendredi |
0 (0.0%) |
34 (14.3%) |
lun_ven_appels<-filter(appels, c(jour=="semaine"| jour=="vendredi"))
vendredi_apels<-filter(appels, c(jour=="vendredi"))
samedi_appels<-filter(appels, c(jour=="samedi"))
dimanche_appels<-filter(appels, c(jour=="dimanche"))
##Nb d'appels en semaine
tbl_summary(
lun_ven_appels, include = c("appel_astreinte"),
digits=all_categorical()~ c(0,1)
)
| Characteristic |
N = 158 |
| appel_astreinte |
|
| non |
98 (62.0%) |
| oui |
60 (38.0%) |
##Nb d'appel le samedi après 18h00
tbl_summary(
samedi_appels, include = c("appel_astreinte"),
digits=all_categorical()~ c(0,1)
)
| Characteristic |
N = 68 |
| appel_astreinte |
|
| non |
47 (69.1%) |
| oui |
21 (30.9%) |
##Nb d'appels le dimanche
dimanche_appels %>%
tbl_cross(
row = periode,
col = appel_astreinte,
percent = "row"
) %>%
add_p(source_note = TRUE)
|
appel_astreinte
|
Total |
| non |
oui |
| periode |
|
|
|
| journee |
26 (72%) |
10 (28%) |
36 (100%) |
| soiree_nuit |
20 (59%) |
14 (41%) |
34 (100%) |
| Total |
46 (66%) |
24 (34%) |
70 (100%) |
| Pearson’s Chi-squared test, p=0.2 |