Bonjour,
J’ai besoin d’un coup de pouce car je cherche depuis quelques jours une solution à mon problème de visualisation dans un graphique boxplot sans succès ou pas avec ggplot… (je débute totalement avec R, merci).
!!! Mes questions portent sur : Ajout d'un effectif sur un boxplot réalisé avec ggplot / réaliser une boucle itérative pour faire ce boxplot avec tous les valeurs d'une colonne
J’ai importé un fichier excel pour créer une table de données nommées « RECUEIL », comprenant une cinquantaine de colonnes dont :
-des actes de chirurgie (43 « Acte ») : pose_de_pacemaker, ostheosynthese,…
- des centres hospitaliers (57 « Num_Etablissement ») : 1,2,3,….,57
- un tag d’exclusion : « Inclus », « Exclu »
- la dose RX (PDS)
Je précise : les centres hospitaliers ne couvrent pas tous les mêmes actes.
Mon but étant de créer un boxplot par acte (avec ggplot), avec les différents centres en abscisses. J’ai réussi avec le code suivant, exemple pour 1 acte donné (pose de pacemaker) :
j'obtiens un beau graphique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #Exclusion des actes tagués “Exlu” RECUEIL <- subset(RECUEIL, Exclu.ou.Inclus == "Inclus") #Transformation des numéro des centres en caractères (avec ajout du mot « centre » + son numéro) RECUEIL$Num_etablissement <- paste("centre",RECUEIL$Num_etablissement,sep=" ") # création d’une table PM1 ou j’extrait uniquement l’acte « pose de pace maker » PM1<- RECUEIL[RECUEIL$Acte== "PACEMAKER_DAI_1_2_SONDES",] # création du boxplot pour l'acte PaceMaker» library(ggplot2) ggplot(PM1) + aes(x=Num_etablissement,y=PDS) + geom_boxplot(alpha=0.7) + ggtitle("Pose de PaceMaker 1 ou 2 sondes") + xlab("") + ylab("PDS (Gy.cm²)") + theme(plot.title = element_text(face="bold", colour = "blue", size = 15, hjust=0.5)) + theme(axis.title.y = element_text(face="bold", colour = "black", size = 12)) + theme(axis.title.x = element_text(face="italic", colour = "black", size = 12)) + theme(axis.text.x =element_text(angle=45, hjust=1, colour="blue", size = 8)) ggsave(“PM1.jpg”)
!!! Mes questions :
1/ Comment ajouter l’effectif sur lequel a été réalisé chaque boxplot ? par exemple j’aimerai ajouter dans le nom du centre l’effectif (nombre de données utilisées pour chaque centre) : « centre 1 : N=effectif ». J'ai trouvé des débuts de solution en cherchant sur google mais je n'ai pas vraiment réussi à les adapter à ma situation.
2/ Comment réaliser une boucle itérative pour faire automatiquement mes graphes pour chaque acte (au lieu de construire le même graphe en changeant juste le nom du ggplot et du ggsave. (ou si vous avez un bon tuto simple à me conseiller pour faire ça).
J'ai colorié en rouge l'acte de la pose de PaceMaker dans mon script, sachant que tout cela correspond à un seul acte ("PACEMAKER_DAI_1_2_SONDES") on peut imaginer employer le même nom de l'acte (et ceci pour chaque acte) pour tous les secteurs en rouge, même si pour simplifier j'ai utilisé PM1.
3/ Question subsidiaire : pourquoi est-ce que dans la table PM1 créée je retrouve tous les actes lorsque je ne devrais retrouver QUE l’acte "PACEMAKER_DAI_1_2_SONDES", non ?
résultat attendu pour moi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part names(table(PM1$Acte))
résultat obtenu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part [1] "PACEMAKER_DAI_1_2_SONDES"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 [1] "ARTERIO_MEMBRES_INF" "ARTERIO_MEMBRES_SUP" [3] "ARTHRODESE_RACHIS_CIEL_OUVERT" "CHOLECYSTECTOMIE" [5] "CPRE" "CYPHOPLASTIE_PERCUTANEE" [7] "DILAT_ART_FEMORALE_avec_PROTHESE" "DILAT_ART_FEMORALE_exclusive" [9] "DILAT_ART_ILIAQUE_avec_PROTHESE" "DILAT_ART_ILIAQUE_exclusive" [11] "DILATAT_OESO_OU_COLIQUE" "DRAINAGE_DES_VOIES_BILIAIRES" [13] "EEP_EXCULSIVE" "ENDOPROTHESE_AORT_ABDOMINALE" [15] "ENDOPROTHESE_AORT_THORACIQUE" "ENDOPROTHESE_FENETREE" [17] "HERNIE_DISCALE_CERVICALE" "HERNIE_DISCALE_LOMBAIRE" [19] "IMPLANTATION_STIMULATEUR" "Laminectomie" [21] "LITHOTRITIE" "MBRE_INF_col_fémur_hanche" [23] "MBRE_INF_genou_cheville_pieds_jambe" "MBRE_INF_hallux_valgus" [25] "MBRE_SUP_coude" "MBRE_SUP_epaule_humerus_clavicule" [27] "MBRE_SUP_main_poignet_avant_bras" "NEPHROSTOMIE" [29] "OSTEOSYNTHESE_OUVERTE_RACHIS" "OSTEOSYNTHESE_PERCUTANEE_RACHIS" [31] "PACEMAKER_DAI_1_2_SONDES" "PACEMAKER_DAI_3_SONDES" [33] "PBH_TJ" "PONTAGE_VASCULAIRE" [35] "POSE_DVI_ou_PICCLINE" "PROTHESE_OESOPHAGIENNE" [37] "SONDE_JJ_ou_J" "THERMOCOAGULATION" [39] "TROUBLES_RYT_COMPLEXES" "TROUBLES_RYT_CONVENTIONNELS" [41] "UPR_exclusive" "URETEROSCOPIE" [43] "VERTEBROPLASTIE_PERCUTANEE"
Partager