##chargement des packages----
library(questionr)
## Warning: le package 'questionr' a été compilé avec la version R 4.4.3
library(tidyverse)
## Warning: le package 'ggplot2' a été compilé avec la version R 4.4.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.4
## ── 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)
## Warning: le package 'tableone' a été compilé avec la version R 4.4.3
library(labelled)
## Warning: le package 'labelled' a été compilé avec la version R 4.4.3
library(gtsummary)
## Warning: le package 'gtsummary' a été compilé avec la version R 4.4.3
library(GGally)
## Warning: le package 'GGally' a été compilé avec la version R 4.4.3
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
library(readxl)
library(effects)
## Warning: le package 'effects' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : carData
## Warning: le package 'carData' a été compilé avec la version R 4.4.3
## lattice theme set by effectsTheme()
## See ?effectsTheme for details.
library(survival)
library(survminer)
## Warning: le package 'survminer' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : ggpubr
## Warning: le package 'ggpubr' a été compilé avec la version R 4.4.3
##
## Attachement du package : 'survminer'
##
## L'objet suivant est masqué depuis 'package:survival':
##
## myeloma
library(ggplot2)
library(dplyr)
library(knitr)
library(cowplot)
## Warning: le package 'cowplot' a été compilé avec la version R 4.4.3
##
## Attachement du package : 'cowplot'
##
## L'objet suivant est masqué depuis 'package:ggpubr':
##
## get_legend
##
## L'objet suivant est masqué depuis 'package:lubridate':
##
## stamp
##chargement données
Base_de_données_HOLOXAN_sept_oct_2024_OKML <- read_excel("//srv015/pharmacie/UPCO/Souf/Souf/Holoxan/ML/Base de données HOLOXAN sept oct 2024_OKML.xlsx")
View(Base_de_données_HOLOXAN_sept_oct_2024_OKML)
holoxan<-filter(Base_de_données_HOLOXAN_sept_oct_2024_OKML, c(eligible=="oui"))
##recodage des variables
holoxan$time_real <-((holoxan$temps_ms/1000)/60)
holoxan$iso.cat<-factor(holoxan$iso)
summary(holoxan$time_real)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.9883 3.9061 5.3026 5.5938 6.8055 16.3217
##renommer les variables
var_label(holoxan$libe_pharmacien) <- "Préparation libérée par un pharmacien"
var_label(holoxan$erreur_reco_flacon) <- "Erreur liée à une reconnaissance de flacon"
var_label(holoxan$iso) <- "Isolateur"
var_label(holoxan$time_real) <- "délai de préparation en min"
var_label(holoxan$datamatrix) <- "flacon avec datamatrix"
##tableau recap
tbl_summary(
holoxan, include = c("Poste", "iso", "datamatrix", "erreur_reco_flacon", "time_real", "jour", "weekend ou JF"),
statistic = all_continuous() ~ "{median} [{min} - {max}]",
digits=all_categorical()~ c(0,1)
)
| Characteristic | N = 3881 |
|---|---|
| Poste | |
| 1A | 26 (6.7%) |
| 1B | 31 (8.0%) |
| 2A | 87 (22.4%) |
| 2B | 88 (22.7%) |
| 3A | 24 (6.2%) |
| 3B | 30 (7.7%) |
| 4A | 52 (13.4%) |
| 4B | 50 (12.9%) |
| Isolateur | |
| 1 | 57 (14.7%) |
| 2 | 175 (45.1%) |
| 3 | 54 (13.9%) |
| 4 | 102 (26.3%) |
| flacon avec datamatrix | 177 (45.6%) |
| Erreur liée à une reconnaissance de flacon | 71 (18.3%) |
| délai de préparation en min | 5.30 [0.99 - 16.32] |
| jour | |
| Jeudi | 78 (20.1%) |
| Lundi | 53 (13.7%) |
| Mardi | 55 (14.2%) |
| Mercredi | 67 (17.3%) |
| Samedi | 39 (10.1%) |
| Vendredi | 96 (24.7%) |
| weekend ou JF | |
| semaine | 349 (89.9%) |
| week_end | 39 (10.1%) |
| 1 n (%); Median [Min - Max] | |
##tableau recap par erreur de reco
tbl_summary(
holoxan, include = c("Poste", "iso", "datamatrix", "erreur_reco_flacon", "time_real", "jour", "weekend ou JF"),
statistic = all_continuous() ~ "{median} [{min} - {max}]",
by="erreur_reco_flacon",
digits=all_categorical()~ c(0,1)
)%>%
add_p()
## The following errors were returned during `add_p()`:
## ✖ For variable `Poste` (`erreur_reco_flacon`) and "estimate", "p.value",
## "conf.low", and "conf.high" statistics: FEXACT erreur 7(location).
## LDSTP=18600 est trop petit pour ce problème, (pastp=69.6124,
## ipn_0:=ipoin[itp=555]=2255, stp[ipn_0]=64.1629). Augmentez la taille de
## l’environnement de travail ou considérez l’utilisation de
## ‘simulate.p.value=TRUE’.
| Characteristic | 0 N = 3171 |
1 N = 711 |
p-value2 |
|---|---|---|---|
| Poste | |||
| 1A | 18 (5.7%) | 8 (11.3%) | |
| 1B | 27 (8.5%) | 4 (5.6%) | |
| 2A | 62 (19.6%) | 25 (35.2%) | |
| 2B | 75 (23.7%) | 13 (18.3%) | |
| 3A | 22 (6.9%) | 2 (2.8%) | |
| 3B | 29 (9.1%) | 1 (1.4%) | |
| 4A | 43 (13.6%) | 9 (12.7%) | |
| 4B | 41 (12.9%) | 9 (12.7%) | |
| Isolateur | 0.056 | ||
| 1 | 45 (14.2%) | 12 (16.9%) | |
| 2 | 137 (43.2%) | 38 (53.5%) | |
| 3 | 51 (16.1%) | 3 (4.2%) | |
| 4 | 84 (26.5%) | 18 (25.4%) | |
| flacon avec datamatrix | 160 (50.5%) | 17 (23.9%) | <0.001 |
| délai de préparation en min | 5.30 [0.99 - 16.32] | 5.37 [1.81 - 15.17] | 0.9 |
| jour | 0.9 | ||
| Jeudi | 66 (20.8%) | 12 (16.9%) | |
| Lundi | 45 (14.2%) | 8 (11.3%) | |
| Mardi | 42 (13.2%) | 13 (18.3%) | |
| Mercredi | 54 (17.0%) | 13 (18.3%) | |
| Samedi | 32 (10.1%) | 7 (9.9%) | |
| Vendredi | 78 (24.6%) | 18 (25.4%) | |
| weekend ou JF | >0.9 | ||
| semaine | 285 (89.9%) | 64 (90.1%) | |
| week_end | 32 (10.1%) | 7 (9.9%) | |
| 1 n (%); Median [Min - Max] | |||
| 2 Pearson’s Chi-squared test; Wilcoxon rank sum test | |||
##tableau recap par présence datamatrix
tbl_summary(
holoxan, include = c("Poste", "iso", "erreur_reco_flacon", "time_real", "jour", "weekend ou JF"),
statistic = all_continuous() ~ "{median} [{min} - {max}]",
by="datamatrix",
digits=all_categorical()~ c(0,1)
)%>%
add_p()
| Characteristic | 0 N = 2111 |
1 N = 1771 |
p-value2 |
|---|---|---|---|
| Poste | 0.065 | ||
| 1A | 20 (9.5%) | 6 (3.4%) | |
| 1B | 23 (10.9%) | 8 (4.5%) | |
| 2A | 46 (21.8%) | 41 (23.2%) | |
| 2B | 41 (19.4%) | 47 (26.6%) | |
| 3A | 13 (6.2%) | 11 (6.2%) | |
| 3B | 17 (8.1%) | 13 (7.3%) | |
| 4A | 26 (12.3%) | 26 (14.7%) | |
| 4B | 25 (11.8%) | 25 (14.1%) | |
| Isolateur | 0.006 | ||
| 1 | 43 (20.4%) | 14 (7.9%) | |
| 2 | 87 (41.2%) | 88 (49.7%) | |
| 3 | 30 (14.2%) | 24 (13.6%) | |
| 4 | 51 (24.2%) | 51 (28.8%) | |
| Erreur liée à une reconnaissance de flacon | 54 (25.6%) | 17 (9.6%) | <0.001 |
| délai de préparation en min | 5.32 [1.46 - 16.32] | 5.27 [0.99 - 15.81] | >0.9 |
| jour | 0.4 | ||
| Jeudi | 39 (18.5%) | 39 (22.0%) | |
| Lundi | 29 (13.7%) | 24 (13.6%) | |
| Mardi | 26 (12.3%) | 29 (16.4%) | |
| Mercredi | 40 (19.0%) | 27 (15.3%) | |
| Samedi | 26 (12.3%) | 13 (7.3%) | |
| Vendredi | 51 (24.2%) | 45 (25.4%) | |
| weekend ou JF | 0.10 | ||
| semaine | 185 (87.7%) | 164 (92.7%) | |
| week_end | 26 (12.3%) | 13 (7.3%) | |
| 1 n (%); Median [Min - Max] | |||
| 2 Pearson’s Chi-squared test; Wilcoxon rank sum test | |||
##Regression logistique univariée regroupée dans un seul tableau
holoxan |>
tbl_uvregression(
y = erreur_reco_flacon,
include = c(datamatrix, iso, Poste),
method = glm,
method.args = list(family = binomial),
pvalue_fun = scales::label_pvalue(accuracy = .001),
exponentiate = TRUE
) |>
bold_labels()
| Characteristic | N | OR | 95% CI | p-value |
|---|---|---|---|---|
| flacon avec datamatrix | 388 | 0.31 | 0.17, 0.55 | <0.001 |
| Isolateur | 388 | |||
| 1 | — | — | ||
| 2 | 1.04 | 0.51, 2.23 | 0.916 | |
| 3 | 0.22 | 0.05, 0.75 | 0.026 | |
| 4 | 0.80 | 0.36, 1.85 | 0.599 | |
| Poste | 388 | |||
| 1A | — | — | ||
| 1B | 0.33 | 0.08, 1.22 | 0.108 | |
| 2A | 0.91 | 0.36, 2.45 | 0.841 | |
| 2B | 0.39 | 0.14, 1.11 | 0.070 | |
| 3A | 0.20 | 0.03, 0.94 | 0.063 | |
| 3B | 0.08 | 0.00, 0.47 | 0.020 | |
| 4A | 0.47 | 0.16, 1.44 | 0.180 | |
| 4B | 0.49 | 0.16, 1.51 | 0.210 | |
| Abbreviations: CI = Confidence Interval, OR = Odds Ratio | ||||