{"id":4613,"date":"2026-09-11T11:01:48","date_gmt":"2026-09-11T11:01:48","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-creer-un-barplot-empile-dans-r-avec-exemples\/"},"modified":"2026-09-11T11:01:53","modified_gmt":"2026-09-11T11:01:53","slug":"comment-creer-un-barplot-empile-dans-r-avec-exemples","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-creer-un-barplot-empile-dans-r-avec-exemples","title":{"rendered":"Comment cr\u00e9er un barplot empil\u00e9 dans R (avec exemples)"},"content":{"rendered":"<p>La visualisation des donn\u00e9es quantitatives constitue un pilier fondamental de la d\u00e9marche scientifique contemporaine, servant \u00e0 la fois d&rsquo;outil d&rsquo;exploration heuristique et de vecteur de communication probatoire. Au sein de l&rsquo;arsenal m\u00e9thodologique du chercheur et du statisticien, la repr\u00e9sentation des structures cat\u00e9gorielles d\u00e9compos\u00e9es pose des d\u00e9fis s\u00e9miologiques constants. Lorsqu&rsquo;il s&rsquo;agit de cartographier simultan\u00e9ment les variations d&rsquo;une grandeur globale et la r\u00e9partition interne de ses composantes \u00e9l\u00e9mentaires \u00e0 travers plusieurs groupes d&rsquo;observations, le diagramme en barres empil\u00e9es s&rsquo;impose comme une modalit\u00e9 graphique privil\u00e9gi\u00e9e. Ce dispositif visuel permet d&rsquo;agr\u00e9ger deux dimensions d&rsquo;analyse qualitative au sein d&rsquo;un m\u00eame rep\u00e8re cart\u00e9sien, offrant une vue synoptique des compositions proportionnelles ou absolues.<\/p>\n<p>Dans l&rsquo;\u00e9cosyst\u00e8me du langage de programmation statistique R, la cr\u00e9ation de tels graphiques a connu une mutation paradigmatique profonde. Autrefois cantonn\u00e9e aux primitives graphiques matricielles du moteur de base, la visualisation s&rsquo;est structur\u00e9e autour des concepts formels de la grammaire des graphiques th\u00e9oris\u00e9e par Leland Wilkinson et op\u00e9rationnalis\u00e9e dans l&rsquo;extension <a rel=\"noopener noreferrer\" href=\"https:\/\/ggplot2.tidyverse.org\/\">ggplot2<\/a> par Hadley Wickham. Cette approche d\u00e9clarative conf\u00e8re une flexibilit\u00e9 algorithmique sans pr\u00e9c\u00e9dent, permettant d&rsquo;articuler \u00e9troitement le sch\u00e9ma des donn\u00e9es tabulaires avec les propri\u00e9t\u00e9s g\u00e9om\u00e9triques et esth\u00e9tiques de la figure finale. La manipulation des barres cumulatives exige n\u00e9anmoins une ma\u00eetrise rigoureuse de la typologie des variables, de l&rsquo;alg\u00e8bre relationnelle sous-jacente et des m\u00e9canismes de perception visuelle humaine.<\/p>\n<p>Le pr\u00e9sent article propose une exploration exhaustive, th\u00e9orique et appliqu\u00e9e, de la conception des barplots empil\u00e9s sous R. En abordant successivement les fondements s\u00e9miotiques, la pr\u00e9paration structurelle des donn\u00e9es au format long, l&rsquo;impl\u00e9mentation par couches successives, les ajustements relatifs \u00e0 cent pour cent, l&rsquo;optimisation typographique et l&rsquo;\u00e9tiquetage math\u00e9matique pr\u00e9cis des centro\u00efdes de segments, ce guide fournit aux chercheurs en sciences comportementales et aux analystes de donn\u00e9es les comp\u00e9tences n\u00e9cessaires pour produire des visualisations conformes aux standards acad\u00e9miques les plus stricts.<\/p>\n<h2>1. Introduction aux diagrammes en barres empil\u00e9es sous R<\/h2>\n<h3>1.1 D\u00e9finition et morphologie du barplot empil\u00e9<\/h3>\n<p>Le diagramme en barres empil\u00e9es, ou <em>stacked barplot<\/em> dans la litt\u00e9rature internationale, est une variante structurelle de l&rsquo;histogramme pour variables discr\u00e8tes qui repose sur le principe de segmentation cumulative d&rsquo;une quantit\u00e9 num\u00e9rique. Contrairement \u00e0 la barre simple, qui associe la hauteur ou la longueur d&rsquo;un parall\u00e9l\u00e9pip\u00e8de rectangle unique \u00e0 la valeur scalaire d&rsquo;un groupe, la barre empil\u00e9e partitionne ce continuum g\u00e9om\u00e9trique en une s\u00e9rie de sous-segments contigus. Chaque sous-segment correspond \u00e0 une modalit\u00e9 d&rsquo;une seconde variable cat\u00e9gorielle, superpos\u00e9e \u00e0 la pr\u00e9c\u00e9dente le long de l&rsquo;axe de mesure. Cette morphologie implique que l&rsquo;extr\u00e9mit\u00e9 sup\u00e9rieure de chaque tranche sert d&rsquo;origine spatiale \u00e0 la tranche cons\u00e9cutive, \u00e9rigeant ainsi une repr\u00e9sentation hi\u00e9rarchique o\u00f9 la somme des parties constitue l&rsquo;altitude totale de la colonne.<\/p>\n<p>D&rsquo;un point de vue morphologique, il convient d&rsquo;op\u00e9rer une diff\u00e9renciation stricte entre les barres simples, les barres group\u00e9es et les barres empil\u00e9es. Les barres group\u00e9es disposent les sous-cat\u00e9gories de mani\u00e8re adjacente le long de l&rsquo;axe nominal, garantissant que chaque segment repose sur une ligne de base commune fix\u00e9e \u00e0 l&rsquo;ordonn\u00e9e z\u00e9ro. En revanche, le barplot empil\u00e9 sacrifie cet alignement basal universel au profit d&rsquo;une compacit\u00e9 dimensionnelle accrue. Il fusionne dans une empreinte spatiale unitaire deux niveaux de classification : la variable d&rsquo;agr\u00e9gation principale en abscisse et la variable de stratification interne identifi\u00e9e par le canal perceptif de la couleur de remplissage. Cette bidimensionnalit\u00e9 permet de repr\u00e9senter simultan\u00e9ment la magnitude agr\u00e9g\u00e9e du collectif et sa microstructure sociologique, clinique ou exp\u00e9rimentale.<\/p>\n<p>Les objectifs s\u00e9miologiques attach\u00e9s \u00e0 cette morphologie graphique rel\u00e8vent de la transmission condens\u00e9e d&rsquo;informations multivari\u00e9es. Dans les contextes o\u00f9 l&rsquo;espace d&rsquo;affichage ou la pagination acad\u00e9mique est contraint, le diagramme empil\u00e9 d\u00e9livre un double message : il communique l&rsquo;\u00e9volution d&rsquo;un volume total entre diff\u00e9rentes conditions tout en esquissant la dynamique de recomposition interne. Il s&rsquo;agit d&rsquo;un encodage particuli\u00e8rement puissant lorsque la question de recherche porte prioritairement sur la conservation, l&rsquo;expansion ou la contraction de la somme globale, sous r\u00e9serve que l&rsquo;interpr\u00e9tation des strates interm\u00e9diaires demeure encadr\u00e9e par des pr\u00e9cautions m\u00e9thodologiques rigoureuses.<\/p>\n<figure class=\"wpt-preserved-image\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/groupedBarR1.png\" alt=\"Stacked barplot in R\" \/><figcaption>Stacked barplot in R<\/figcaption><\/figure>\n<h3>1.2 Applications empiriques en recherche psychologique et comportementale<\/h3>\n<p>Dans le champ des sciences psychologiques, cognitives et comportementales, la confrontation avec des donn\u00e9es multivari\u00e9es combinant des classifications d\u00e9mographiques et des mesures psychom\u00e9triques est omnipr\u00e9sente. L&rsquo;une des applications empiriques les plus document\u00e9es concerne le d\u00e9pouillement des instruments de mesure psychologique fond\u00e9s sur des \u00e9chelles de Likert. Face \u00e0 des batteries d&rsquo;items \u00e9valuant par exemple l&rsquo;anxi\u00e9t\u00e9, la satisfaction au travail ou l&rsquo;adh\u00e9sion \u00e0 des croyances sp\u00e9cifiques, le barplot empil\u00e9 permet de condenser l&rsquo;\u00e9ventail complet des degr\u00e9s d&rsquo;accord au sein de cohortes cliniques distinctes, mettant imm\u00e9diatement en relief l&rsquo;asym\u00e9trie des distributions affectives ou attitudinales.<\/p>\n<p>Une seconde application privil\u00e9gi\u00e9e r\u00e9side dans la d\u00e9composition des profils psychopathologiques ou des typologies comportementales \u00e0 travers diff\u00e9rentes strates sociod\u00e9mographiques. Par exemple, lors de l&rsquo;\u00e9tude de la comorbidit\u00e9 au sein d&rsquo;une population de patients diagnostiqu\u00e9s pour un trouble de l&rsquo;humeur, la hauteur totale de chaque barre peut correspondre \u00e0 l&rsquo;incidence globale dans une classe d&rsquo;\u00e2ge sp\u00e9cifique, tandis que l&#8217;empilement d\u00e9cline la distribution proportionnelle des troubles associ\u00e9s tels que l&rsquo;anxi\u00e9t\u00e9 g\u00e9n\u00e9ralis\u00e9e, l&rsquo;abus de substances ou les manifestations somatoformes. Ce proc\u00e9d\u00e9 favorise une lecture holistique des interd\u00e9pendances \u00e9tiologiques sans n\u00e9cessiter la multiplication de tableaux num\u00e9riques complexes.<\/p>\n<p>Par ailleurs, la visualisation de l&rsquo;allocation temporelle au cours de protocoles exp\u00e9rimentaux b\u00e9n\u00e9ficie grandement de cette modalit\u00e9 graphique. Qu&rsquo;il s&rsquo;agisse de mesurer la dur\u00e9e pass\u00e9e dans diff\u00e9rentes zones d&rsquo;un dispositif de labyrinthe aquatique de Morris chez le rongeur, ou de quantifier les temps de fixation oculaire sur diff\u00e9rentes r\u00e9gions d&rsquo;int\u00e9r\u00eat en eye-tracking chez l&rsquo;humain, la barre empil\u00e9e restitue la finitude de l&rsquo;enveloppe temporelle globale tout en illustrant la r\u00e9allocation des ressources attentionnelles selon les conditions exp\u00e9rimentales manipul\u00e9es par le chercheur. Enfin, l&rsquo;agr\u00e9gation des indices de performance cognitive globale et de leurs sous-composantes factorielles trouve ici une transcription visuelle intuitive et imm\u00e9diatement interpr\u00e9table.<\/p>\n<h3>1.3 Panorama des solutions graphiques dans l&rsquo;\u00e9cosyst\u00e8me R<\/h3>\n<p>L&rsquo;histoire computationnelle du logiciel R, issu du langage S d\u00e9velopp\u00e9 aux laboratoires Bell, est marqu\u00e9e par une \u00e9volution continue des moteurs de rendu graphique. Initialement, la construction de graphiques reposait exclusivement sur le package <code>graphics<\/code>, int\u00e9gr\u00e9 au c\u0153ur du syst\u00e8me. Au sein de ce paradigme historique, la fonction <code>barplot()<\/code> permet de g\u00e9n\u00e9rer des diagrammes empil\u00e9s en lui soumettant une structure matricielle bidimensionnelle. Si cette approche offre une rapidit\u00e9 d&rsquo;ex\u00e9cution incontestable pour des scripts rudimentaires, elle souffre d&rsquo;un d\u00e9ficit d&rsquo;abstraction programmatique notable : le contr\u00f4le des param\u00e8tres de style, l&rsquo;alignement des l\u00e9gendes et la gestion des \u00e9chelles colorim\u00e9triques requi\u00e8rent une imbrication complexe de fonctions accessoires de bas niveau.<\/p>\n<p>La rupture \u00e9pist\u00e9mologique majeure est survenue avec l&rsquo;\u00e9mergence de la grammaire des graphiques, conceptualis\u00e9e algorithmiquement au sein du package <code>ggplot2<\/code>. Rejetant l&rsquo;approche imp\u00e9rative consistant \u00e0 tracer s\u00e9quentiellement des formes g\u00e9om\u00e9triques sur une toile statique, <code>ggplot2<\/code> introduit une m\u00e9thodologie d\u00e9clarative o\u00f9 le graphe est con\u00e7u comme une association formelle entre des variables de donn\u00e9es et des propri\u00e9t\u00e9s visuelles ou esth\u00e9tiques. Dans ce cadre, la production d&rsquo;un diagramme en barres empil\u00e9es d\u00e9coule naturellement de la d\u00e9claration d&rsquo;une g\u00e9om\u00e9trie sp\u00e9cifique associ\u00e9e \u00e0 un ajustement de position pr\u00e9cis, garantissant une coh\u00e9rence th\u00e9orique absolue entre la structure du tableau sous-jacent et l&rsquo;art\u00e9fact graphique produit.<\/p>\n<p>Cette standardisation moderne s&rsquo;inscrit au c\u0153ur de l&rsquo;\u00e9cosyst\u00e8me <a rel=\"noopener noreferrer\" href=\"https:\/\/www.tidyverse.org\/\">tidyverse<\/a>, un ensemble coh\u00e9rent de biblioth\u00e8ques con\u00e7ues pour partager une m\u00eame philosophie de conception et des structures de donn\u00e9es harmonis\u00e9es. Au sein du tidyverse, les modules de manipulation comme <code>dplyr<\/code> et de restructuration tabulaire comme <code>tidyr<\/code> alimentent directement le pipeline graphique sans n\u00e9cessiter de transformations matricielles opaques. Cette int\u00e9gration garantit une tra\u00e7abilit\u00e9 int\u00e9grale du flux d&rsquo;analyse statistique, maximise la reproductibilit\u00e9 des r\u00e9sultats scientifiques et facilite l&rsquo;audit m\u00e9thodologique des protocoles de visualisation lors des processus d&rsquo;\u00e9valuation par les pairs.<\/p>\n<h2>2. Fondements th\u00e9oriques et s\u00e9miotique graphique<\/h2>\n<h3>2.1 Perception visuelle et charge cognitive de l&#8217;empilement<\/h3>\n<p>La transcription de grandeurs num\u00e9riques abstraites en stimuli visuels perceptibles ob\u00e9it \u00e0 des m\u00e9canismes psychophysiques rigoureusement document\u00e9s par la psychologie cognitive et la s\u00e9miologie graphique. Selon la th\u00e9orie des attributs pr\u00e9-attentifs formalis\u00e9e par Anne Treisman, le syst\u00e8me visuel humain d\u00e9code certaines propri\u00e9t\u00e9s physiques de mani\u00e8re automatique, holistique et quasi instantan\u00e9e, bien avant l&rsquo;intervention des processus cognitifs descendants plus lents. Parmi ces propri\u00e9t\u00e9s, la position spatiale le long d&rsquo;une \u00e9chelle commune, la longueur, la superficie, la saturation et la teinte chromatique n&rsquo;offrent pas le m\u00eame niveau de pr\u00e9cision m\u00e9trique lorsqu&rsquo;elles sont soumises au jugement perceptif de l&rsquo;observateur.<\/p>\n<p>Dans les travaux fondamentaux de William Cleveland et Robert McGill sur la hi\u00e9rarchie des jugements graphiques \u00e9l\u00e9mentaires, la t\u00e2che consistant \u00e0 estimer la longueur relative de segments partageant une origine commune se classe au sommet de la fid\u00e9lit\u00e9 perceptive. Or, la morphologie intrins\u00e8que du barplot empil\u00e9 g\u00e9n\u00e8re une dissym\u00e9trie cognitive majeure : seul le segment reposant directement sur l&rsquo;axe des abscisses b\u00e9n\u00e9ficie d&rsquo;une ligne de base fixe et universelle. Les segments situ\u00e9s aux niveaux interm\u00e9diaires reposent sur des fronti\u00e8res inf\u00e9rieures mobiles, dont l&rsquo;altitude d\u00e9pend m\u00e9caniquement de la variabilit\u00e9 cumul\u00e9e des couches sous-jacentes. D\u00e8s lors, l&rsquo;\u00e9valuation visuelle de ces tranches interm\u00e9diaires repose sur un jugement de longueur sans origine fixe, t\u00e2che perceptuelle nettement plus impr\u00e9cise et sujette \u00e0 des illusions d&rsquo;optique induites par la forme des segments voisins.<\/p>\n<p>Cette contrainte s\u00e9miotique engendre une charge cognitive accrue pour le lecteur. L&rsquo;observateur ne peut pas se contenter d&rsquo;un balayage horizontal uniforme pour comparer les grandeurs relatives d&rsquo;une modalit\u00e9 donn\u00e9e \u00e0 travers plusieurs colonnes ; il doit mentalement soustraire l&rsquo;ordonn\u00e9e de d\u00e9part de l&rsquo;ordonn\u00e9e d&rsquo;arriv\u00e9e ou proc\u00e9der \u00e0 une estimation visuelle de la surface du rectangle color\u00e9. Par cons\u00e9quent, l&rsquo;encodage visuel par empilement implique un arbitrage d\u00e9lib\u00e9r\u00e9 : il optimise la perception globale de la somme totale et du premier segment basal au d\u00e9triment de la pr\u00e9cision analytique imm\u00e9diate relative aux strates m\u00e9dianes, un facteur dont l&rsquo;analyste doit imp\u00e9rativement avoir conscience lors de la conceptualisation de ses figures.<\/p>\n<h3>2.2 Crit\u00e8res m\u00e9thodologiques de s\u00e9lection du barplot empil\u00e9<\/h3>\n<p>L&rsquo;adoption d&rsquo;un barplot empil\u00e9 au sein d&rsquo;une publication scientifique ne doit jamais r\u00e9sulter d&rsquo;un choix esth\u00e9tique arbitraire, mais d&rsquo;une validation scrupuleuse des propri\u00e9t\u00e9s math\u00e9matiques des donn\u00e9es manipul\u00e9es. Le postulat sine qua non d&rsquo;une telle repr\u00e9sentation r\u00e9side dans l&rsquo;additivit\u00e9 stricte des sous-composantes. Les grandeurs affect\u00e9es aux segments successifs doivent poss\u00e9der une m\u00e9trique dimensionnelle homog\u00e8ne permettant une sommation arithm\u00e9tique rigoureuse. C&rsquo;est le cas des effectifs absolus d&rsquo;individus, des dur\u00e9es temporelles fractionn\u00e9es, des allocations budg\u00e9taires ou des fr\u00e9quences relatives normalis\u00e9es issues d&rsquo;une partition exhaustive de l&rsquo;espace d&rsquo;\u00e9chantillonnage.<\/p>\n<p>\u00c0 l&rsquo;inverse, l&rsquo;application d&rsquo;un empilement \u00e0 des variables intensives constitue une aberration statistique et s\u00e9miologique majeure. Des grandeurs telles que des moyennes arithm\u00e9tiques, des scores standardis\u00e9s en scores Z, des m\u00e9dianes, des proportions calcul\u00e9es sur des d\u00e9nominateurs variables ou des indices d&rsquo;intensit\u00e9 non cumulatifs ne poss\u00e8dent aucune r\u00e9alit\u00e9 math\u00e9matique lorsqu&rsquo;elles sont somm\u00e9es visuellement. Superposer la moyenne d&rsquo;un score de d\u00e9pression de Hamilton et la moyenne d&rsquo;un score d&rsquo;anxi\u00e9t\u00e9 de Beck au sein d&rsquo;une m\u00eame barre verticale produit une hauteur cumul\u00e9e d\u00e9pourvue de signification clinique et trompe d\u00e9lib\u00e9r\u00e9ment le lecteur sur la magnitude r\u00e9elle du statut psychologique observ\u00e9.<\/p>\n<p>Les recommandations \u00e9dict\u00e9es par l&rsquo;American Psychological Association dans son manuel de publication soulignent l&rsquo;importance de pr\u00e9server l&rsquo;honn\u00eatet\u00e9 intellectuelle des graphiques statistiques. L&rsquo;auteur doit s&rsquo;assurer que le dispositif d&#8217;empilement ne masque pas des disparit\u00e9s structurelles critiques ou des tailles d&rsquo;\u00e9chantillons insuffisantes qui invalideraient les inf\u00e9rences visuelles. La s\u00e9lection de cette modalit\u00e9 graphique n&rsquo;est m\u00e9thodologiquement l\u00e9gitime que si la question de recherche s&rsquo;int\u00e9resse conjointement \u00e0 l&rsquo;\u00e9volution du tout et aux contributions fractionnelles des parties, tout en garantissant que les variables sous-jacentes satisfont formellement aux exigences de l&rsquo;alg\u00e8bre de composition.<\/p>\n<h2>3. Pr\u00e9paration de l&rsquo;environnement R et gestion des d\u00e9pendances<\/h2>\n<h3>3.1 Installation et chargement des packages requis<\/h3>\n<p>La mise en place d&rsquo;un environnement computationnel stable et reproductible constitue le pr\u00e9alable incontournable \u00e0 toute production graphique scientifique sous R. Pour orchestrer la manipulation avanc\u00e9e et la visualisation vectorielle des diagrammes en barres empil\u00e9es, trois extensions majeures du m\u00e9tapackage tidyverse sont rigoureusement requises : <code>ggplot2<\/code> pour l&rsquo;impl\u00e9mentation de la grammaire visuelle, <code>dplyr<\/code> pour les op\u00e9rations matricielles de filtrage, de regroupement et d&rsquo;agr\u00e9gation, ainsi que <code>tidyr<\/code> pour le remodelage dimensionnel des jeux de donn\u00e9es. \u00c0 ce socle fondamental s&rsquo;ajoute l&rsquo;extension <code>scales<\/code>, indispensable pour formater les graduations d&rsquo;axes et calibrer les notations num\u00e9riques.<\/p>\n<p>L&rsquo;installation de ces biblioth\u00e8ques logicielles s&rsquo;ex\u00e9cute \u00e0 l&rsquo;aide de l&rsquo;instruction standard d&rsquo;interaction avec le Comprehensive R Archive Network. Il est recommand\u00e9 de proc\u00e9der \u00e0 une installation unifi\u00e9e via la commande <code>install.packages(\"tidyverse\")<\/code> ou de cibler sp\u00e9cifiquement les packages \u00e9l\u00e9mentaires si l&rsquo;on op\u00e8re sur des serveurs distants ou des conteneurs \u00e0 ressources computationnelles contraintes. Pour des besoins de publication de haut niveau, l&rsquo;installation de l&rsquo;utilitaire <code>ggrepel<\/code> est vivement conseill\u00e9e afin de r\u00e9soudre dynamiquement les probl\u00e9matiques de recouvrement spatial des annotations textuelles dans les segments \u00e9troits.<\/p>\n<p>Dans une perspective de science ouverte et de reproductibilit\u00e9 computationnelle stricte, il importe de neutraliser les al\u00e9as d&rsquo;ex\u00e9cution en fixant syst\u00e9matiquement les g\u00e9n\u00e9rateurs de nombres pseudo-al\u00e9atoires \u00e0 l&rsquo;aide de l&rsquo;instruction <code>set.seed()<\/code> d\u00e8s l&rsquo;initialisation du script d&rsquo;analyse. De m\u00eame, l&rsquo;inspection document\u00e9e des versions des biblioth\u00e8ques via <code>sessionInfo()<\/code> pr\u00e9munit le chercheur contre les modifications comportementales potentielles des futures versions de l&rsquo;API graphique. Le chargement des d\u00e9pendances s&rsquo;effectue au sommet du script par les appels conventionnels <code>library(ggplot2)<\/code>, <code>library(dplyr)<\/code>, <code>library(tidyr)<\/code> et <code>library(scales)<\/code>.<\/p>\n<h3>3.2 Bonnes pratiques de codage selon le style tidyverse<\/h3>\n<p>L&rsquo;architecture syntaxique moderne de l&rsquo;\u00e9cosyst\u00e8me R privil\u00e9gie une \u00e9criture lin\u00e9aire, lisible et hautement d\u00e9clarative, formalis\u00e9e par le guide de style du tidyverse. Le c\u0153ur op\u00e9rationnel de cette syntaxe repose sur l&rsquo;utilisation intensive de l&rsquo;op\u00e9rateur de redirection s\u00e9quentielle. Qu&rsquo;il s&rsquo;agisse de l&rsquo;op\u00e9rateur historique <code>%&gt;%<\/code> issu du package <code>magrittr<\/code> ou de l&rsquo;op\u00e9rateur natif <code>|&gt;<\/code> int\u00e9gr\u00e9 au moteur de base de R depuis sa version 4.1.0, ce connecteur logique permet d&rsquo;injecter la sortie d&rsquo;une fonction directement en tant que premier argument de la fonction cons\u00e9cutive, \u00e9liminant l&rsquo;imbrication d\u00e9sordonn\u00e9e des appels d&rsquo;instructions.<\/p>\n<p>Dans la construction des flux graphiques, la structuration modulaire exige une distinction claire entre le pipeline de pr\u00e9paration des donn\u00e9es et l&rsquo;assemblage des couches de rendu graphique. Tandis que les op\u00e9rations de filtrage, de tri et de mutation relationnelle s&rsquo;encha\u00eenent au moyen de l&rsquo;op\u00e9rateur de redirection, l&#8217;empilement des couches g\u00e9om\u00e9triques au sein de <code>ggplot2<\/code> s&rsquo;op\u00e8re exclusivement au moyen de l&rsquo;op\u00e9rateur arithm\u00e9tique <code>+<\/code>. Cette dualit\u00e9 syntaxique doit \u00eatre rigoureusement maintenue, chaque nouvelle sp\u00e9cification esth\u00e9tique ou th\u00e9matique faisant l&rsquo;objet d&rsquo;un retour \u00e0 la ligne indent\u00e9 de deux espaces afin de maximiser l&rsquo;intelligibilit\u00e9 du code pour les r\u00e9viseurs.<\/p>\n<p>Enfin, la gestion rigoureuse de la port\u00e9e des variables et la documentation contextualis\u00e9e des blocs d&rsquo;instructions participent \u00e0 la p\u00e9rennit\u00e9 du code source. L&rsquo;analyste \u00e9vitera scrupuleusement l&rsquo;affectation de sous-objets \u00e9ph\u00e9m\u00e8res dans l&rsquo;environnement global, privil\u00e9giant des transformations fluides au sein du graphe d&rsquo;ex\u00e9cution. Les noms de colonnes et les modalit\u00e9s de facteurs devront \u00eatre explicit\u00e9s en minuscules sans caract\u00e8res accentu\u00e9s ou espaces non conformes, r\u00e9duisant ainsi les risques de ruptures logicielles lors de l&rsquo;ex\u00e9cution multi-plateforme des protocoles statistiques.<\/p>\n<h2>4. Structuration et manipulation des donn\u00e9es pour ggplot2<\/h2>\n<h3>4.1 Diff\u00e9renciation fondamentale entre formats large et long<\/h3>\n<p>L&rsquo;incompr\u00e9hension de l&rsquo;organisation matricielle des donn\u00e9es constitue l&rsquo;\u00e9cueil le plus fr\u00e9quent lors de l&rsquo;apprentissage de <code>ggplot2<\/code>. Historiquement, les logiciels de tableurs conventionnels et les interfaces de saisie manuelles privil\u00e9gient une disposition dite \u00ab large \u00bb (<em>wide format<\/em>). Dans cette configuration, chaque unit\u00e9 statistique occupe une seule ligne, tandis que les mesures r\u00e9p\u00e9t\u00e9es ou les diff\u00e9rentes modalit\u00e9s d&rsquo;un m\u00eame facteur sont r\u00e9parties sur plusieurs colonnes adjacentes. Quoique visuellement pratique pour la saisie humaine directe, ce format matriciel hybride m\u00e9lange la nature s\u00e9mantique des variables et leurs instanciations mesur\u00e9es au sein de la m\u00eame dimension spatiale.<\/p>\n<p>\u00c0 l&rsquo;oppos\u00e9, le paradigme des \u00ab donn\u00e9es propres \u00bb (<em>tidy data<\/em>) conceptualis\u00e9 par Hadley Wickham postule trois principes cardinaux : chaque variable doit constituer une colonne distincte, chaque observation \u00e9l\u00e9mentaire doit occuper une ligne unique, et chaque type d&rsquo;unit\u00e9 d&rsquo;observation doit former une table ind\u00e9pendante. Ce mod\u00e8le converge vers le format \u00ab long \u00bb (<em>long format<\/em>), dans lequel une modalit\u00e9 exp\u00e9rimentale n&rsquo;est plus dispers\u00e9e dans les ent\u00eates de colonnes multiples mais encod\u00e9e sous la forme d&rsquo;un vecteur de facteurs cat\u00e9goriels au sein d&rsquo;une colonne d\u00e9di\u00e9e, juxtapos\u00e9e \u00e0 une colonne unique rassemblant l&rsquo;ensemble des valeurs num\u00e9riques correspondantes.<\/p>\n<p>Le moteur d&rsquo;inf\u00e9rence de <code>ggplot2<\/code> est intrins\u00e8quement programm\u00e9 pour interagir avec des structures tabulaires conformes \u00e0 ce format long. Pour mapper une variable \u00e0 l&rsquo;attribut esth\u00e9tique de remplissage chromatique (<code>fill<\/code>) d&rsquo;un barplot empil\u00e9, cette variable doit imp\u00e9rativement exister sous forme d&rsquo;un vecteur cat\u00e9goriel continu le long des lignes du tableau. Le diagnostic structurel pr\u00e9liminaire d&rsquo;un jeu de donn\u00e9es s&rsquo;op\u00e8re syst\u00e9matiquement \u00e0 l&rsquo;aide des fonctions d&rsquo;inspection analytique <code>str()<\/code> ou de son homologue optimis\u00e9 <code>dplyr::glimpse()<\/code>, lesquelles r\u00e9v\u00e8lent instantan\u00e9ment le typage atomique des composantes et la conformit\u00e9 dimensionnelle de la matrice avant toute tentative de mod\u00e9lisation visuelle.<\/p>\n<h3>4.2 Transformation des donn\u00e9es avec tidyr et dplyr<\/h3>\n<p>Lorsque les donn\u00e9es exp\u00e9rimentales se pr\u00e9sentent sous leur format large initial, une conversion structurelle automatis\u00e9e s&rsquo;av\u00e8re incontournable. L&rsquo;extension <code>tidyr<\/code> met \u00e0 disposition la fonction de pivotement dynamique <code>pivot_longer()<\/code>, con\u00e7ue pour consolider les colonnes de mesures disparates en un couple unifi\u00e9 d&rsquo;attributs cl\u00e9-valeur. En pr\u00e9cisant les colonnes sources \u00e0 agr\u00e9ger via l&rsquo;argument <code>cols<\/code>, le nom de la variable cat\u00e9gorielle de destination via <code>names_to<\/code>, et l&rsquo;\u00e9tiquette de la variable num\u00e9rique de sortie via <code>values_to<\/code>, le jeu de donn\u00e9es subit une reconfiguration g\u00e9om\u00e9trique instantan\u00e9e le rendant compatible avec la grammaire graphique.<\/p>\n<p>Parall\u00e8lement, la pr\u00e9paration d&rsquo;un barplot empil\u00e9 requiert souvent des op\u00e9rations de synth\u00e8se statistique en amont du rendu g\u00e9om\u00e9trique. L&rsquo;utilisation conjointe des primitives <code>group_by()<\/code> et <code>summarise()<\/code> de l&rsquo;extension <code>dplyr<\/code> permet d&rsquo;agr\u00e9ger les micro-donn\u00e9es individuelles brutes en effectifs totaux ou en sommes m\u00e9triques selon les croisements factoriels d&rsquo;int\u00e9r\u00eat. Cette phase pr\u00e9paratoire doit comporter un traitement m\u00e9thodique des donn\u00e9es manquantes, qu&rsquo;elles soient explicites (cod\u00e9es par des sentinelles <code>NA<\/code>) ou implicites (combinaisons factorielles absentes des relev\u00e9s exp\u00e9rimentaux), lesquelles peuvent \u00eatre compl\u00e9t\u00e9es via l&rsquo;instruction <code>complete()<\/code> afin d&rsquo;\u00e9viter l&rsquo;interruption non sollicit\u00e9e des barres cumulatives.<\/p>\n<p>Une \u00e9tape d\u00e9terminante de cette manipulation r\u00e9side dans le typage formel des variables cat\u00e9gorielles sous la forme de facteurs stricts. La transformation des vecteurs de cha\u00eenes de caract\u00e8res brutes (<code>character<\/code>) en facteurs ordonn\u00e9s ou nominaux \u00e0 l&rsquo;aide de l&rsquo;instruction <code>mutate()<\/code> associ\u00e9e \u00e0 <code>factor()<\/code> ou <code>as_factor()<\/code> permet d&rsquo;ancrer d\u00e9finitivement la disposition s\u00e9quentielle des strates. C&rsquo;est \u00e0 ce stade pr\u00e9coce de la cha\u00eene de traitement que l&rsquo;analyste d\u00e9cide de l&rsquo;organisation hi\u00e9rarchique qui gouvernera ult\u00e9rieurement l&rsquo;ordre d&#8217;empilement au sein du canvas graphique.<\/p>\n<h3>4.3 Cr\u00e9ation du jeu de donn\u00e9es exp\u00e9rimental de d\u00e9monstration<\/h3>\n<p>Afin de concr\u00e9tiser l&rsquo;ensemble des protocoles m\u00e9thodologiques d\u00e9taill\u00e9s dans cet ouvrage, nous construisons un jeu de donn\u00e9es synth\u00e9tique, robuste et contr\u00f4l\u00e9, simulant une \u00e9tude en psychologie comportementale et organisationnelle. Nous postulons une recherche examinant l&rsquo;incidence de diverses manifestations d&rsquo;\u00e9puisement professionnel ou de stress psychologique au sein de plusieurs d\u00e9partements institutionnels ou \u00e9quipes op\u00e9rationnelles d&rsquo;une grande organisation acad\u00e9mique.<\/p>\n<p>Ce jeu de donn\u00e9es de d\u00e9monstration, structur\u00e9 sous la forme d&rsquo;un tableau unifi\u00e9 nomm\u00e9 <code>df_stress<\/code>, comprend trois variables fondamentales : <code>Departement<\/code>, une variable cat\u00e9gorielle \u00e0 quatre modalit\u00e9s (Recherche, Enseignement, Administration, Logistique) servant d&rsquo;axe principal ; <code>Niveau_Stress<\/code>, un facteur ordinal d\u00e9clin\u00e9 en quatre strates comportementales rigoureusement hi\u00e9rarchis\u00e9es (Faible, Mod\u00e9r\u00e9, \u00c9lev\u00e9, S\u00e9v\u00e8re) ; et <code>Effectif<\/code>, une variable quantitative discr\u00e8te renseignant le d\u00e9compte exact des individus recens\u00e9s dans chacune des configurations factorielles crois\u00e9es.<\/p>\n<p>L&rsquo;int\u00e9grit\u00e9 nominale et num\u00e9rique du tableau de donn\u00e9es fait l&rsquo;objet d&rsquo;une validation computationnelle directe. Le code instanciant ce tableau garantit l&rsquo;absence de valeurs nulles ou aberrantes, g\u00e9n\u00e9rant seize lignes d&rsquo;observations correspondant au produit cart\u00e9sien parfait des d\u00e9partements et des niveaux de stress. L&rsquo;impression pr\u00e9liminaire de la structure tabulaire permet de confirmer que la condition fondamentale de \u00ab tidy data \u00bb est rigoureusement satisfaite : chaque ligne repr\u00e9sente une sous-population homog\u00e8ne, caract\u00e9ris\u00e9e par son affiliation institutionnelle, son niveau d&rsquo;atteinte psychologique et le volume m\u00e9trique associ\u00e9 pr\u00eat pour l&rsquo;int\u00e9gration graphique.<\/p>\n<h2>5. Construction du premier barplot empil\u00e9 \u00e9l\u00e9mentaire avec ggplot2<\/h2>\n<h3>5.1 D\u00e9claration des couches esth\u00e9tiques fondamentales<\/h3>\n<p>L&rsquo;initialisation d&rsquo;un graphique sous <code>ggplot2<\/code> repose sur l&rsquo;appel fondateur \u00e0 la fonction <code>ggplot()<\/code>, qui a pour r\u00f4le de cr\u00e9er l&rsquo;objet graphique de base et de configurer l&rsquo;espace de coordonn\u00e9es. Cet appel re\u00e7oit obligatoirement en premier argument le jeu de donn\u00e9es pr\u00e9par\u00e9, suivi de la d\u00e9claration des correspondances esth\u00e9tiques par l&rsquo;interm\u00e9diaire de la fonction <code>aes()<\/code> (abr\u00e9viation d&rsquo;<em>aesthetics<\/em>). Cette \u00e9tape ne trace aucun pixel sur l&rsquo;\u00e9cran, mais \u00e9tablit un contrat math\u00e9matique formel reliant les attributs visuels du syst\u00e8me de coordonn\u00e9es cart\u00e9siennes aux colonnes du tableau sous-jacent.<\/p>\n<p>Dans l&rsquo;architecture du barplot empil\u00e9, trois sp\u00e9cifications esth\u00e9tiques \u00e9l\u00e9mentaires doivent \u00eatre d\u00e9clar\u00e9es conjointement. L&rsquo;argument <code>x<\/code> se voit assigner la variable ind\u00e9pendante cat\u00e9gorielle qui r\u00e9gira la discr\u00e9tisation spatiale le long de l&rsquo;axe horizontal, dans notre cas la variable <code>Departement<\/code>. L&rsquo;argument <code>y<\/code> re\u00e7oit quant \u00e0 lui la variable quantitative qui gouvernera la dimension verticale des colonnes, mat\u00e9rialis\u00e9e par la mesure <code>Effectif<\/code>. Ces deux premiers param\u00e8tres d\u00e9finissent le rep\u00e8re spatial bidimensionnel dans lequel les g\u00e9om\u00e9tries prendront place.<\/p>\n<p>Le troisi\u00e8me param\u00e8tre, critique pour l&rsquo;instanciation de l&#8217;empilement, est l&rsquo;argument <code>fill<\/code>, auquel on affecte la variable qualitative secondaire, \u00e0 savoir <code>Niveau_Stress<\/code>. Il convient de souligner la distinction conceptuelle majeure op\u00e9r\u00e9e par <code>ggplot2<\/code> entre l&rsquo;esth\u00e9tique <code>colour<\/code> (qui contr\u00f4le la teinte des lignes, des points et des bordures p\u00e9rim\u00e9triques externes des polygones) et l&rsquo;esth\u00e9tique <code>fill<\/code> (qui d\u00e9termine exclusivement la couleur de remplissage de la surface polygonale int\u00e9rieure). Omettre l&rsquo;affectation de <code>fill<\/code> r\u00e9duirait inexorablement le graphique \u00e0 une s\u00e9rie de barres unicolores plates.<\/p>\n<h3>5.2 Instanciation de la g\u00e9om\u00e9trie geom_bar<\/h3>\n<p>Une fois les liaisons esth\u00e9tiques initialis\u00e9es, l&rsquo;adjonction de la couche g\u00e9om\u00e9trique s&rsquo;effectue au moyen de la fonction <code>geom_bar()<\/code> reli\u00e9e par l&rsquo;op\u00e9rateur d&rsquo;addition. Cette fonction encapsule une logique computationnelle interne puissante qui exige une attention m\u00e9thodique. Par d\u00e9faut, <code>geom_bar()<\/code> applique une transformation statistique d&rsquo;agr\u00e9gation d&rsquo;effectifs (<code>stat = \"count\"<\/code>). Dans ce mode op\u00e9ratoire automatique, le syst\u00e8me s&rsquo;attend \u00e0 ne recevoir qu&rsquo;une seule variable en <code>x<\/code> et calcule lui-m\u00eame la fr\u00e9quence d&rsquo;apparition de chaque modalit\u00e9, ce qui g\u00e9n\u00e8re une exception logicielle bloquante si une variable explicite est d\u00e9j\u00e0 d\u00e9clar\u00e9e en <code>y<\/code>.<\/p>\n<p>Pour forcer <code>geom_bar()<\/code> \u00e0 utiliser directement les grandeurs num\u00e9riques pr\u00e9-calcul\u00e9es contenues dans la colonne associ\u00e9e \u00e0 <code>y<\/code>, il est imp\u00e9ratif de modifier son algorithme interne en sp\u00e9cifiant explicitement le param\u00e8tre <code>stat = \"identity\"<\/code>. Cette instruction signale au moteur graphique de lire la valeur brute de la cellule sans chercher \u00e0 lui appliquer un d\u00e9compte d&rsquo;occurrences pr\u00e9alable. Concernant l&#8217;empilement proprement dit, le param\u00e8tre d&rsquo;ajustement spatial <code>position<\/code> est configur\u00e9 par d\u00e9faut sur <code>position = \"stack\"<\/code>, ce qui d\u00e9clenche la sommation g\u00e9om\u00e9trique verticale des diff\u00e9rents segments associ\u00e9s aux niveaux de la variable de remplissage.<\/p>\n<p>L&rsquo;esth\u00e9tique des contours g\u00e9om\u00e9triques peut \u00eatre affin\u00e9e d\u00e8s cette \u00e9tape en int\u00e9grant le param\u00e8tre <code>colour = \"black\"<\/code> et un ajustement d&rsquo;\u00e9paisseur <code>linewidth = 0.2<\/code> au sein de <code>geom_bar()<\/code>. L&rsquo;analyse du rendu g\u00e9n\u00e9r\u00e9 par d\u00e9faut met en lumi\u00e8re le comportement standard du syst\u00e8me : les segments se superposent rigoureusement le long d&rsquo;une \u00e9chelle absolue d&rsquo;effectifs, tandis qu&rsquo;une l\u00e9gende automatique est g\u00e9n\u00e9r\u00e9e sur le flanc droit du graphique, cartographiant les teintes par d\u00e9faut du cercle chromatique de base aux modalit\u00e9s de la variable stratificatrice.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/groupedBarR2.png\" alt=\"Stacked barplot in R using ggplot2\" \/><figcaption>Stacked barplot in R using ggplot2<\/figcaption><\/figure>\n<h3>5.3 Alternative g\u00e9om\u00e9trique via geom_col<\/h3>\n<p>Face \u00e0 la r\u00e9currence des erreurs de programmation g\u00e9n\u00e9r\u00e9es par l&rsquo;oubli du param\u00e8tre <code>stat = \"identity\"<\/code> au sein de <code>geom_bar()<\/code>, l&rsquo;\u00e9quipe de d\u00e9veloppement de <code>ggplot2<\/code> a introduit une fonction sp\u00e9cialis\u00e9e hautement intuitive : <code>geom_col()<\/code>. Sur le plan purement fonctionnel et g\u00e9om\u00e9trique, <code>geom_col()<\/code> constitue un alias direct et rigoureusement \u00e9quivalent \u00e0 l&rsquo;instruction <code>geom_bar(stat = \"identity\")<\/code>. Sa raison d&rsquo;\u00eatre r\u00e9side dans l&rsquo;\u00e9conomie syntaxique et la s\u00e9curisation conceptuelle des scripts d&rsquo;analyse.<\/p>\n<p>L&rsquo;utilisation de <code>geom_col()<\/code> clarifie l&rsquo;intention du statisticien : elle stipule sans ambigu\u00eft\u00e9 que les donn\u00e9es sources ont d\u00e9j\u00e0 franchi l&rsquo;\u00e9tape de consolidation statistique et se pr\u00e9sentent sous la forme d&rsquo;un tableau pr\u00e9-agr\u00e9g\u00e9 o\u00f9 chaque ligne dicte la hauteur exacte de son composant. Cette formulation r\u00e9duit les risques de bugs lors de la maintenance logicielle collaborative et all\u00e8ge la charge cognitive li\u00e9e \u00e0 la relecture du code. De plus, les performances de compilation s&rsquo;av\u00e8rent strictement identiques entre les deux formulations, garantissant une efficience d&rsquo;ex\u00e9cution optimale m\u00eame sur des volum\u00e9tries de donn\u00e9es consid\u00e9rables.<\/p>\n<p>D&rsquo;un point de vue didactique et appliqu\u00e9, l&rsquo;adoption de <code>geom_col()<\/code> est aujourd&rsquo;hui pr\u00e9conis\u00e9e comme la meilleure pratique au sein de la communaut\u00e9 R contemporaine lorsqu&rsquo;une ordonn\u00e9e m\u00e9trique est d\u00e9clar\u00e9e au sein du bloc <code>aes()<\/code>. La structure du script d&rsquo;initialisation se simplifie ainsi en <code>ggplot(df_stress, aes(x = Departement, y = Effectif, fill = Niveau_Stress)) + geom_col()<\/code>, constituant la pierre angulaire minimale sur laquelle viendront se greffer l&rsquo;ensemble des personnalisations m\u00e9thodologiques avanc\u00e9es.<\/p>\n<h2>6. Barplot empil\u00e9 absolu contre barplot empil\u00e9 relatif \u00e0 100%<\/h2>\n<h3>6.1 M\u00e9canique du positionnement position=&rsquo;fill&rsquo;<\/h3>\n<p>Le diagramme en barres empil\u00e9es absolu, g\u00e9n\u00e9r\u00e9 par le positionnement <code>position = \"stack\"<\/code>, conserve l&rsquo;\u00e9chelle arithm\u00e9tique d&rsquo;origine des donn\u00e9es. Bien que pr\u00e9cieux pour comparer les volumes bruts globaux entre diff\u00e9rentes cat\u00e9gories principales, ce dispositif s&rsquo;av\u00e8re d\u00e9favorable lorsque la question d&rsquo;int\u00e9r\u00eat porte sur la structure interne relative des strates, notamment lorsque les effectifs totaux des groupes d&rsquo;abscisse pr\u00e9sentent des disparit\u00e9s quantitatives massives. Un d\u00e9partement comptant mille individus \u00e9crasera visuellement un service n&rsquo;en comptant qu&rsquo;une cinquantaine, masquant d&rsquo;\u00e9ventuelles similitudes ou anomalies dans la proportion de sujets en d\u00e9tresse psychologique.<\/p>\n<p>Pour neutraliser l&rsquo;effet de distorsion volumique li\u00e9 \u00e0 la taille totale des \u00e9chantillons, l&rsquo;analyste peut recourir \u00e0 la variante dite du \u00ab barplot empil\u00e9 relatif \u00e0 cent pour cent \u00bb. Au sein de <code>ggplot2<\/code>, cette transformation ne requiert aucun recalcul manuel fastidieux des pourcentages au niveau du tableau source ; elle s&rsquo;ex\u00e9cute de mani\u00e8re algorithmique directe via la modification de l&rsquo;argument de positionnement dans la g\u00e9om\u00e9trie : <code>position = \"fill\"<\/code> (ou formellement via la fonction constructrice <code>position_fill()<\/code>). Cette instruction force le moteur de rendu \u00e0 calculer dynamiquement la somme locale de chaque barre verticale et \u00e0 diviser la hauteur de chaque segment unitaire par ce total absolu.<\/p>\n<p>Sous l&rsquo;effet du positionnement <code>position = \"fill\"<\/code>, l&rsquo;ensemble des colonnes verticales acquiert une hauteur uniforme standardis\u00e9e normalis\u00e9e sur une \u00e9chelle continue s&rsquo;\u00e9tendant strictement de z\u00e9ro \u00e0 un (correspondant aux pourcentages de 0 % \u00e0 100 %). L&rsquo;h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9 des effectifs d&rsquo;\u00e9chantillonnage est temporairement \u00e9lid\u00e9e du champ visuel, permettant \u00e0 l&rsquo;observateur d&rsquo;isoler parfaitement la composition interne de chaque groupe et de proc\u00e9der \u00e0 des comparaisons morphologiques rigoureuses de ratios sans \u00eatre parasit\u00e9 par les \u00e9carts de taille globale des d\u00e9partements analys\u00e9s.<\/p>\n<h3>6.2 Ajustement formel de l&rsquo;axe des ordonn\u00e9es en pourcentages<\/h3>\n<p>Bien que le positionnement <code>position = \"fill\"<\/code> normalise la hauteur des barres \u00e0 la valeur unitaire, l&rsquo;axe vertical affiche par d\u00e9faut les coefficients de proportionnalit\u00e9 sous la forme de fractions d\u00e9cimales allant de 0.00 \u00e0 1.00. Pour satisfaire aux standards de clart\u00e9 requis par les publications \u00e0 comit\u00e9 de lecture, il est imp\u00e9ratif de reconfigurer cet \u00e9tiquetage m\u00e9trique afin de convertir ces valeurs d\u00e9cimales brutes en pourcentages lisibles, tout en calibrant pr\u00e9cis\u00e9ment les intervalles des graduations majeures et mineures.<\/p>\n<p>Cette personnalisation formelle mobilise l&rsquo;extension sp\u00e9cialis\u00e9e <code>scales<\/code>, int\u00e9gr\u00e9e harmonieusement au sein de la fonction de calibrage continue <code>scale_y_continuous()<\/code>. En assignant la fonction vectorielle <code>scales::percent<\/code> (ou sa variante contemporaine <code>scales::label_percent()<\/code>) \u00e0 l&rsquo;argument <code>labels<\/code>, l&rsquo;utilisateur automatise la multiplication arithm\u00e9tique par cent et la concat\u00e9nation du glyphe de pourcentage. Le param\u00e8tre <code>breaks<\/code> permet parall\u00e8lement de fixer avec une rigueur absolue l&rsquo;espacement cart\u00e9sien des rep\u00e8res, par exemple via la fonction de s\u00e9quence r\u00e9guli\u00e8re <code>seq(0, 1, by = 0.2)<\/code> pour mat\u00e9rialiser des paliers r\u00e9guliers de 20 %.<\/p>\n<p>Dans un contexte de publication francophone, les exigences de typographie \u00e9ditoriale imposent l&rsquo;insertion d&rsquo;un espace ins\u00e9cable entre la valeur num\u00e9rique et le symbole typographique du pourcentage, ainsi que l&rsquo;utilisation \u00e9ventuelle de la virgule comme s\u00e9parateur d\u00e9cimal. L&rsquo;instruction avanc\u00e9e <code>scales::label_percent(decimal.mark = \",\", suffix = \" %\")<\/code> permet d&rsquo;atteindre ce degr\u00e9 sup\u00e9rieur de conformit\u00e9 linguistique, garantissant une int\u00e9gration visuelle parfaite du barplot au sein d&rsquo;un manuscrit r\u00e9dig\u00e9 en langue fran\u00e7aise respectant les normes de l&rsquo;imprimerie nationale.<\/p>\n<h3>6.3 Comparatif d\u00e9cisionnel entre position stack et position fill<\/h3>\n<p>Le choix m\u00e9thodologique entre un positionnement cumulatif absolu (<code>position = \"stack\"<\/code>) et un positionnement proportionnel normalis\u00e9 (<code>position = \"fill\"<\/code>) proc\u00e8de d&rsquo;un arbitrage analytique profond dict\u00e9 par les hypoth\u00e8ses de recherche formul\u00e9es en amont du protocole statistique. Aucune de ces deux repr\u00e9sentations ne surpasse l&rsquo;autre de mani\u00e8re intrins\u00e8que ; elles r\u00e9pondent \u00e0 des finalit\u00e9s s\u00e9miotiques distinctes qu&rsquo;il convient d&rsquo;articuler avec discernement en fonction des objectifs de d\u00e9monstration.<\/p>\n<p>Le mode <code>position = \"stack\"<\/code> doit \u00eatre syst\u00e9matiquement privil\u00e9gi\u00e9 lorsque la magnitude globale du ph\u00e9nom\u00e8ne d&rsquo;int\u00e9r\u00eat constitue une information scientifique d&rsquo;importance \u00e9gale ou sup\u00e9rieure \u00e0 sa segmentation interne. Par exemple, si l&rsquo;objectif d&rsquo;une \u00e9tude \u00e9pid\u00e9miologique est de dimensionner les infrastructures d&rsquo;accueil hospitali\u00e8res en fonction du volume brut de patients attendus, effacer l&rsquo;information relative \u00e0 l&rsquo;effectif total par une normalisation proportionnelle priverait le d\u00e9cideur d&rsquo;un indicateur logistique capital. L&rsquo;observateur a besoin de percevoir imm\u00e9diatement que tel groupe contribue massivement au volume total d&rsquo;incidents recens\u00e9s.<\/p>\n<p>\u00c0 l&rsquo;inverse, <code>position = \"fill\"<\/code> s&rsquo;impose avec force d\u00e8s lors que l&rsquo;investigation clinique ou sociologique postule l&rsquo;existence d&rsquo;une alt\u00e9ration de la structure intrins\u00e8que d&rsquo;une condition ind\u00e9pendamment de sa pr\u00e9valence absolue dans la population g\u00e9n\u00e9rale. Si un groupe d&rsquo;intervention pr\u00e9sente un effectif restreint par rapport \u00e0 un groupe de contr\u00f4le volumineux, la normalisation \u00e0 100 % permet de d\u00e9montrer visuellement si la part relative des sujets en d\u00e9tresse s\u00e9v\u00e8re s&rsquo;est comprim\u00e9e sous l&rsquo;effet du traitement. Dans les monographies scientifiques de grande envergure, la compl\u00e9mentarit\u00e9 de ces deux visions est couramment exploit\u00e9e, soit par une pr\u00e9sentation en panneaux juxtapos\u00e9s, soit par l&rsquo;annotation explicite de l&rsquo;effectif global <code>N<\/code> au sommet de chaque colonne proportionnelle.<\/p>\n<h2>7. Personnalisation esth\u00e9tique : couleurs, th\u00e8mes et typographie<\/h2>\n<h3>7.1 Application des palettes chromatiques adapt\u00e9es<\/h3>\n<p>L&rsquo;attribution du spectre chromatique au sein d&rsquo;un barplot empil\u00e9 conditionne directement l&rsquo;exactitude de son interpr\u00e9tation et son accessibilit\u00e9 scientifique universelle. Le recours aux palettes par d\u00e9faut, g\u00e9n\u00e9r\u00e9es par rotation uniforme autour de l&rsquo;espace colorim\u00e9trique HSL, engendre souvent des distorsions perceptives dues \u00e0 des variations non lin\u00e9aires de luminance. Pour pallier ce biais, la mobilisation de palettes perceptuellement uniformes et universellement adapt\u00e9es aux diverses formes de dyschromatopsies (daltonisme) constitue une obligation \u00e9thique et m\u00e9thodologique fondamentale.<\/p>\n<p>L&rsquo;extension <code>viridis<\/code>, d\u00e9sormais int\u00e9gr\u00e9e nativement dans le c\u0153ur de <code>ggplot2<\/code> via la fonction <code>scale_fill_viridis_d()<\/code>, propose des d\u00e9grad\u00e9s sp\u00e9cifiquement calibr\u00e9s pour pr\u00e9server une gradation de luminance strictement monotone. Ces palettes, d\u00e9clin\u00e9es en options telles que Viridis, Magma, Plasma ou Cividis, garantissent que les donn\u00e9es conservent leur hi\u00e9rarchie visuelle m\u00eame lorsqu&rsquo;elles sont imprim\u00e9es en niveaux de gris purs ou per\u00e7ues par des lecteurs atteints de protanopie ou de deut\u00e9ranopie. Pour des donn\u00e9es purement cat\u00e9gorielles non hi\u00e9rarchis\u00e9es, l&rsquo;appel \u00e0 <code>scale_fill_brewer(palette = \"Set2\")<\/code> issu des travaux de Cynthia Brewer fournit une s\u00e9paration colorim\u00e9trique optimale sans favoriser ind\u00fbment une modalit\u00e9 par rapport aux autres.<\/p>\n<p>Dans le cas sp\u00e9cifique des \u00e9chelles psychom\u00e9triques ou attitudinales de type Likert, la s\u00e9miotique visuelle impose l&rsquo;usage de palettes dites divergentes ou d&rsquo;\u00e9chelles de saturation manuelle ordonn\u00e9es. Par l&rsquo;interm\u00e9diaire de l&rsquo;instruction <code>scale_fill_manual()<\/code>, le chercheur peut d\u00e9clarer un vecteur explicite de codes hexad\u00e9cimaux valid\u00e9s, associant par exemple des teintes neutres froides aux degr\u00e9s de stress mod\u00e9r\u00e9s et des teintes chaudes plus denses aux manifestations pathologiques s\u00e9v\u00e8res. Cette correspondance signifiante entre le signifiant chromatique et le signifi\u00e9 conceptuel renforce l&rsquo;imm\u00e9diatet\u00e9 de la communication des r\u00e9sultats scientifiques.<\/p>\n<h3>7.2 \u00c9puration typographique et s\u00e9lection de th\u00e8mes pr\u00e9configur\u00e9s<\/h3>\n<p>L&rsquo;adh\u00e9sion aux principes d&rsquo;excellence graphique th\u00e9oris\u00e9s par Edward Tufte exige l&rsquo;optimisation syst\u00e9matique du ratio donn\u00e9es-encre (<em>data-ink ratio<\/em>). Tout \u00e9l\u00e9ment graphique qui ne transmet pas directement de l&rsquo;information statistique ou ne contribue pas \u00e0 l&rsquo;orientation cart\u00e9sienne de base doit \u00eatre impitoyablement \u00e9lid\u00e9. L&rsquo;arri\u00e8re-plan gris quadrill\u00e9 par d\u00e9faut de <code>ggplot2<\/code>, bien que con\u00e7u pour stabiliser la perception des couleurs satur\u00e9es, constitue souvent un bruit visuel superflue dans le cadre d&rsquo;un rapport de recherche rigoureux.<\/p>\n<p>Le basculement vers des th\u00e8mes pr\u00e9configur\u00e9s de haute pr\u00e9cision typographique s&rsquo;ex\u00e9cute par l&rsquo;adjonction d&rsquo;une couche d\u00e9di\u00e9e. L&rsquo;instruction <code>theme_bw()<\/code> instaure un cadre orthogonal noir et blanc classique particuli\u00e8rement appr\u00e9ci\u00e9 des \u00e9diteurs de revues scientifiques. Pour une \u00e9puration plus radicale, <code>theme_classic()<\/code> \u00e9limine l&rsquo;int\u00e9gralit\u00e9 des quadrillages internes pour ne pr\u00e9server que les deux axes orthogonaux, tandis que <code>theme_minimal()<\/code> pr\u00e9serve de discr\u00e8tes lignes de guidage horizontales tout en supprimant la bo\u00eete de d\u00e9limitation externe, all\u00e9geant consid\u00e9rablement l&rsquo;espace visuel global.<\/p>\n<p>Au-del\u00e0 du choix de base, la fonction <code>theme()<\/code> offre une granularit\u00e9 de contr\u00f4le microm\u00e9trique sur l&rsquo;ensemble des \u00e9l\u00e9ments non g\u00e9om\u00e9triques. Elle permet d&rsquo;ajuster l&rsquo;alignement des textes d&rsquo;axes (<code>axis.text.x<\/code>), d&rsquo;augmenter l&rsquo;espacement des marges d&rsquo;affichage (<code>plot.margin<\/code>), d&rsquo;\u00e9liminer s\u00e9lectivement les lignes du quadrillage vertical (<code>panel.grid.major.x = element_blank()<\/code>) qui n&rsquo;ont aucune fonction le long d&rsquo;un axe cat\u00e9goriel discret, et de positionner la l\u00e9gende en bas de figure (<code>legend.position = \"bottom\"<\/code>) afin de r\u00e9allouer la largeur maximale de la page aux barres comparatives.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/groupedBarR3.png\" alt=\"R stacked barplot with custom theme\" \/><figcaption>R stacked barplot with custom theme<\/figcaption><\/figure>\n<h3>7.3 Titrage et annotations \u00e9ditoriales avec labs<\/h3>\n<p>Une figure scientifique ne saurait se suffire \u00e0 elle-m\u00eame ; elle doit \u00eatre rigoureusement contextualis\u00e9e et document\u00e9e par un appareil textuel pr\u00e9cis qui \u00e9limine toute ambigu\u00eft\u00e9 sur la provenance et la m\u00e9trique des donn\u00e9es repr\u00e9sent\u00e9es. La fonction <code>labs()<\/code> concentre l&rsquo;ensemble des d\u00e9clarations \u00e9ditoriales associ\u00e9es aux axes, aux l\u00e9gendes et au cadrage conceptuel g\u00e9n\u00e9ral du graphique.<\/p>\n<p>Le param\u00e8tre <code>title<\/code> doit \u00e9noncer avec clart\u00e9 la variable d\u00e9pendante fondamentale et l&rsquo;objet de l&rsquo;exp\u00e9rience, compl\u00e9t\u00e9 de mani\u00e8re idoine par un <code>subtitle<\/code> apportant des pr\u00e9cisions sur la taille de l&rsquo;\u00e9chantillon global <code>N<\/code> ou les conditions protocolaires sp\u00e9cifiques. Les arguments <code>x<\/code> et <code>y<\/code> doivent imp\u00e9rativement \u00e9craser les d\u00e9nominations techniques brutes issues de la base de donn\u00e9es informatique au profit d&rsquo;intitul\u00e9s scientifiquement rigoureux incluant les unit\u00e9s de mesure entre parenth\u00e8ses (par exemple, \u00ab D\u00e9partement acad\u00e9mique \u00bb et \u00ab Fr\u00e9quence relative (%) \u00bb ou \u00ab Effectif total de participants \u00bb).<\/p>\n<p>Le param\u00e8tre <code>fill<\/code> au sein de <code>labs()<\/code> permet de renommer l&rsquo;ent\u00eate de la bo\u00eete de l\u00e9gende pour expliciter le concept psychologique sous-jacent, tandis que l&rsquo;argument <code>caption<\/code> est r\u00e9serv\u00e9 aux mentions de bas de page. Cette derni\u00e8re zone textuelle accueille conventionnellement la r\u00e9f\u00e9rence m\u00e9thodologique source, les seuils de significativit\u00e9 des tests statistiques \u00e9ventuellement appliqu\u00e9s, ou les d\u00e9clarations relatives aux valeurs manquantes imput\u00e9es. Ce soin \u00e9ditorial garantit que la figure peut \u00eatre extraite de son manuscrit et comprise de mani\u00e8re enti\u00e8rement autonome par la communaut\u00e9 acad\u00e9mique.<\/p>\n<h2>8. \u00c9tiquetage textuel pr\u00e9cis des segments empil\u00e9s<\/h2>\n<h3>8.1 Calcul analytique des coordonn\u00e9es m\u00e9dianes de superposition<\/h3>\n<p>L&rsquo;un des d\u00e9fis algorithmiques les plus ardus lors de la conception d&rsquo;un barplot empil\u00e9 r\u00e9side dans l&rsquo;apposition d&rsquo;\u00e9tiquettes textuelles pr\u00e9cises (valeurs brutes ou pourcentages) au centre g\u00e9om\u00e9trique exact de chaque segment color\u00e9. Contrairement \u00e0 un barplot simple o\u00f9 l&rsquo;ordonn\u00e9e d&rsquo;ancrage textuel \u00e9quivaut simplement au sommet de la barre, le segment empil\u00e9 requiert le calcul d&rsquo;une coordonn\u00e9e m\u00e9diane le long de la pile verticale. Une erreur d&rsquo;ancrage se traduit instantan\u00e9ment par un chevauchement des \u00e9tiquettes avec les lignes de partition polygonales, annihilant la lisibilit\u00e9 du document.<\/p>\n<p>Sur le plan math\u00e9matique, l&rsquo;ordonn\u00e9e m\u00e9diane d&rsquo;un segment sp\u00e9cifique <span class=\"arabpsy-math-inline\" data-latex=\"i\">$i$<\/span> au sein d&rsquo;une pile ordonn\u00e9e de <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> segments correspond \u00e0 la somme cumulative des hauteurs des segments sous-jacents ($1$ \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"i-1\">$i-1$<\/span>) augment\u00e9e de la moiti\u00e9 de la hauteur propre du segment consid\u00e9r\u00e9 :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"Y_{centre, i} = \\sum_{j=1}^{i-1} H_j + \\frac{1}{2} H_i\">$$Y_{centre, i} = \\sum_{j=1}^{i-1} H_j + \\frac{1}{2} H_i$$<\/span><\/p>\n<p>Lorsque cette op\u00e9ration est impl\u00e9ment\u00e9e en amont dans <code>dplyr<\/code>, le chercheur doit ordonner rigoureusement ses donn\u00e9es via <code>arrange()<\/code>, appliquer la fonction de sommation progressive <code>cumsum()<\/code>, et tenir compte scrupuleusement de la direction d&#8217;empilement par d\u00e9faut op\u00e9r\u00e9e par le moteur de rendu de <code>ggplot2<\/code>, laquelle proc\u00e8de souvent dans l&rsquo;ordre inverse de l&rsquo;apparition des facteurs dans la structure matricielle.<\/p>\n<h3>8.2 Int\u00e9gration de geom_text et geom_label<\/h3>\n<p>Pour s&rsquo;affranchir de la complexit\u00e9 math\u00e9matique du calcul pr\u00e9-op\u00e9rationnel des sommes cumul\u00e9es, <code>ggplot2<\/code> offre une solution algorithmique int\u00e9gr\u00e9e d&rsquo;une grande \u00e9l\u00e9gance via la fonction de positionnement <code>position_stack()<\/code> (ou <code>position_fill()<\/code> pour les versions normalis\u00e9es). En transmettant l&rsquo;argument de centrage vertical unitaire <code>vjust = 0.5<\/code> au sein de <code>position_stack()<\/code>, le moteur calcule automatiquement le centro\u00efde cart\u00e9sien de chaque strate et y positionne l&rsquo;ancre du glyphe textuel.<\/p>\n<p>L&rsquo;adjonction de ces indicateurs s&rsquo;op\u00e8re couramment au moyen de la g\u00e9om\u00e9trie <code>geom_text()<\/code>. Au sein de son bloc esth\u00e9tique, l&rsquo;argument <code>label<\/code> est aliment\u00e9 par la variable num\u00e9rique d&rsquo;effectif ou par une cha\u00eene format\u00e9e exprimant le pourcentage. Afin de pr\u00e9server un contraste visuel satisfaisant avec les aplats chromatiques de fond, il convient d&rsquo;assigner une couleur de police neutre constante (telle que le blanc ou le noir profond selon la luminance de la palette) et de calibrer la graisse typographique via <code>fontface = \"bold\"<\/code> et l&rsquo;\u00e9chelle de taille avec <code>size<\/code>.<\/p>\n<p>Lorsque la palette de remplissage pr\u00e9sente des variations extr\u00eames de saturation rendant impossible le choix d&rsquo;une couleur d&rsquo;\u00e9criture universelle, l&rsquo;alternative <code>geom_label()<\/code> apporte une r\u00e9ponse robuste. Cette fonction g\u00e9n\u00e8re un petit cartouche rectangulaire opaque sous le texte, dot\u00e9 d&rsquo;une bordure subtile et d&rsquo;un fond clair semi-transparent (<code>alpha = 0.8<\/code>). Ce dispositif garantit une lisibilit\u00e9 optique absolue de chaque chiffre, pr\u00e9servant la pr\u00e9cision num\u00e9rique directe sans contraindre l&rsquo;observateur \u00e0 des allers-retours fastidieux vers l&rsquo;axe des ordonn\u00e9es.<\/p>\n<h3>8.3 R\u00e9solution des chevauchements d&rsquo;\u00e9tiquettes complexes<\/h3>\n<p>L&rsquo;apparition de segments de taille infinit\u00e9simale constitue l&rsquo;\u00e9cueil le plus s\u00e9v\u00e8re de l&rsquo;\u00e9tiquetage automatique au sein des barplots empil\u00e9s. Lorsqu&rsquo;un d\u00e9partement ou une cohorte ne compte qu&rsquo;une proportion marginale d&rsquo;individus dans une modalit\u00e9 donn\u00e9e (par exemple 1 % ou 2 %), l&rsquo;\u00e9paisseur g\u00e9om\u00e9trique du rectangle polygonale devient inf\u00e9rieure \u00e0 la hauteur physique des caract\u00e8res typographiques. L&rsquo;\u00e9tiquette d\u00e9borde alors in\u00e9vitablement sur les strates contigu\u00ebs, cr\u00e9ant une collision visuelle confuse qui alt\u00e8re l&rsquo;int\u00e9grit\u00e9 esth\u00e9tique de la figure.<\/p>\n<p>La premi\u00e8re strat\u00e9gie de r\u00e9solution consiste \u00e0 appliquer un filtrage conditionnel rigoureux directement dans la d\u00e9claration des donn\u00e9es de la couche d&rsquo;\u00e9tiquetage. En utilisant une fonction conditionnelle ternaire de type <code>ifelse(Effectif &gt; seuil, as.character(Effectif), \"\")<\/code>, l&rsquo;analyste supprime purement et simplement le texte pour les strates dont la magnitude est insuffisante pour accueillir un marquage interne d\u00e9cent. La distribution globale demeure lisible gr\u00e2ce \u00e0 la l\u00e9gende chromatique, tandis que la figure est expurg\u00e9e de ses encombrements parasitaires.<\/p>\n<p>Pour les contextes o\u00f9 chaque valeur doit \u00eatre imp\u00e9rativement mat\u00e9rialis\u00e9e num\u00e9riquement pour satisfaire aux exigences d&rsquo;audit scientifique, la mobilisation de l&rsquo;extension <code>ggrepel<\/code> devient imp\u00e9rative. Gr\u00e2ce \u00e0 sa g\u00e9om\u00e9trie <code>geom_text_repel()<\/code> associ\u00e9e \u00e0 des lignes de renvoi directionnelles (<em>leader lines<\/em>), les \u00e9tiquettes trop volumineuses pour \u00eatre contenues \u00e0 l&rsquo;int\u00e9rieur des segments sont automatiquement expuls\u00e9es hors de la pile graphique par un algorithme de r\u00e9pulsion physique simul\u00e9e. Cette m\u00e9canique sophistiqu\u00e9e pr\u00e9serve l&rsquo;exactitude exhaustive de l&rsquo;information tout en maintenant un standard de lisibilit\u00e9 irr\u00e9prochable sur l&rsquo;ensemble de l&rsquo;espace cart\u00e9sien.<\/p>\n<h2>9. Gestion avanc\u00e9e des facteurs et contr\u00f4le de l&rsquo;ordre d&#8217;empilement<\/h2>\n<h3>9.1 Ordonnancement des cat\u00e9gories principales sur l&rsquo;axe des abscisses<\/h3>\n<p>Le comportement algorithmique par d\u00e9faut de <code>ggplot2<\/code> face \u00e0 des variables cat\u00e9goriel-texte consiste \u00e0 convertir ces derni\u00e8res en facteurs dont les niveaux sont ordonn\u00e9s de mani\u00e8re strictement alphanum\u00e9rique. Si cette logique s\u00e9quentielle poss\u00e8de une justification op\u00e9rationnelle minimale, elle conduit presque invariablement \u00e0 des visualisations non optimales sur le plan s\u00e9miotique. L&rsquo;ordonnancement alphab\u00e9tique des d\u00e9partements ou des conditions exp\u00e9rimentales disperse l&rsquo;attention du lecteur et complique la d\u00e9tection imm\u00e9diate des gradients de performance ou de d\u00e9tresse psychologique.<\/p>\n<p>Pour instaurer une hi\u00e9rarchie visuelle signifiante, l&rsquo;analyste doit remodeler activement les niveaux du facteur sous-jacent \u00e0 l&rsquo;aide des outils sp\u00e9cialis\u00e9s de l&rsquo;extension <code>forcats<\/code>. La fonction <code>fct_reorder()<\/code> offre une solution programmatique puissante pour r\u00e9organiser dynamiquement l&rsquo;axe des abscisses en fonction d&rsquo;une m\u00e9trique de synth\u00e8se calcul\u00e9e sur une variable num\u00e9rique associ\u00e9e. L&rsquo;analyste peut ainsi classer les d\u00e9partements selon l&rsquo;effectif cumul\u00e9 total de mani\u00e8re \u00e0 produire une cascade monotone ascendante ou descendante de barres \u00e0 travers l&rsquo;\u00e9cran.<\/p>\n<p>Dans d&rsquo;autres configurations d&rsquo;analyse factorielle, l&rsquo;organisation spatiale doit refl\u00e9ter une logique protocolaire interne plut\u00f4t qu&rsquo;un gradient de fr\u00e9quence. L&rsquo;utilisation de la primitive de base <code>factor(x, levels = c(...))<\/code> permet de sp\u00e9cifier manuellement la succession rigoureuse des conditions (par exemple : \u00ab T\u00e9moin \u00bb, \u00ab Pr\u00e9-test \u00bb, \u00ab Post-test \u00bb, \u00ab Suivi \u00e0 long terme \u00bb). Ce contr\u00f4le pr\u00e9-graphique scrupuleux garantit que la progression visuelle de gauche \u00e0 droite sur l&rsquo;axe horizontal s&rsquo;aligne fid\u00e8lement sur la dynamique chronologique ou l&rsquo;intensit\u00e9 de manipulation de la variable ind\u00e9pendante.<\/p>\n<h3>9.2 Ma\u00eetrise de l&rsquo;ordre d&#8217;empilement interne des segments<\/h3>\n<p>Une divergence r\u00e9currente et hautement d\u00e9concertante pour l&rsquo;analyste d\u00e9butant r\u00e9side dans la d\u00e9synchronisation fr\u00e9quente entre l&rsquo;ordre d&rsquo;apparition des \u00e9tiquettes dans la bo\u00eete de l\u00e9gende et l&rsquo;ordre d&#8217;empilement effectif des strates polygonales le long de la barre verticale. Par construction math\u00e9matique, <code>ggplot2<\/code> empile les couches de bas en haut selon l&rsquo;ordre interne des niveaux du facteur, mais g\u00e9n\u00e8re la l\u00e9gende de haut en bas en suivant le m\u00eame ordre nominal, produisant un effet miroir d\u00e9routant qui impose une gymnastique cognitive inutile \u00e0 l&rsquo;observateur.<\/p>\n<p>Pour r\u00e9tablir une parfaite sym\u00e9trie topologique entre la figure et sa l\u00e9gende explicative, plusieurs leviers d&rsquo;action sont mobilisables. La m\u00e9thode la plus directe consiste \u00e0 inverser formellement la hi\u00e9rarchie factorielle de la variable assign\u00e9e \u00e0 <code>fill<\/code> \u00e0 l&rsquo;aide de la fonction <code>fct_rev()<\/code> du package <code>forcats<\/code> au sein m\u00eame du pipeline de mutation <code>dplyr<\/code>. En inversant les niveaux, la strate que le lecteur per\u00e7oit au sommet de la colonne graphique se trouve imm\u00e9diatement index\u00e9e en premi\u00e8re position au sommet de la l\u00e9gende textuelle associ\u00e9e.<\/p>\n<p>Alternativement, ce contr\u00f4le peut \u00eatre op\u00e9r\u00e9 sans modifier la structure des donn\u00e9es sous-jacentes en intervenant directement au niveau de la sp\u00e9cification des guides graphiques via l&rsquo;instruction <code>guides(fill = guide_legend(reverse = TRUE))<\/code>. Cette commande ordonne au moteur de rendu d&rsquo;inverser s\u00e9lectivement la disposition typographique de la bo\u00eete de l\u00e9gende. La ma\u00eetrise combin\u00e9e des fonctions <code>fct_rev()<\/code> et <code>guide_legend()<\/code> conf\u00e8re au chercheur une autorit\u00e9 g\u00e9om\u00e9trique totale sur l&rsquo;orientation de ses flux visuels, \u00e9liminant tout risque d&rsquo;inversion interpr\u00e9tative lors de la lecture des strates de s\u00e9v\u00e9rit\u00e9 clinique.<\/p>\n<h2>10. Techniques avanc\u00e9es : facettage et repr\u00e9sentations multi-groupes<\/h2>\n<h3>10.1 D\u00e9composition en matrices graphiques avec facet_wrap<\/h3>\n<p>Lorsque la structure du protocole de recherche int\u00e8gre une troisi\u00e8me variable nominale d&rsquo;int\u00e9r\u00eat\u2014telle que le genre des participants, le statut socio-professionnel ou le centre hospitalier d&rsquo;inclusion\u2014tenter d&rsquo;incorporer cette dimension au sein d&rsquo;une unique barre empil\u00e9e satur\u00e9e d&rsquo;encodages esth\u00e9tiques conduit irr\u00e9m\u00e9diablement \u00e0 une illisibilit\u00e9 compl\u00e8te. La s\u00e9miologie moderne pr\u00e9conise dans cette conjoncture le d\u00e9ploiement du principe des \u00ab petits multiples \u00bb (<em>small multiples<\/em>) th\u00e9oris\u00e9 par Edward Tufte, lequel postule la r\u00e9p\u00e9tition modulaire d&rsquo;un m\u00eame canevas graphique \u00e9l\u00e9mentaire \u00e0 travers les sous-ensembles de l&rsquo;\u00e9chantillon global.<\/p>\n<p>Sous <code>ggplot2<\/code>, ce m\u00e9canisme de partitionnement dynamique est orchestr\u00e9 avec une efficience remarquable par l&rsquo;instruction <code>facet_wrap()<\/code>. En lui transmettant une formule conditionnelle du type <code>~ Genre<\/code> ou <code>~ Centre_Hospitalier<\/code>, l&rsquo;algorithme segmente le jeu de donn\u00e9es unifi\u00e9 en sous-matrices ind\u00e9pendantes et trace une matrice de barplots empil\u00e9s rigoureusement calibr\u00e9s sur les m\u00eames \u00e9chelles g\u00e9om\u00e9triques. L&rsquo;utilisateur contr\u00f4le l&rsquo;architecture matricielle globale en fixant le nombre de colonnes d&rsquo;affichage via l&rsquo;argument <code>ncol<\/code> ou de rang\u00e9es via <code>nrow<\/code>.<\/p>\n<p>Un enjeu analytique majeur lors de l&rsquo;application de <code>facet_wrap()<\/code> r\u00e9side dans la gestion de la libert\u00e9 des \u00e9chelles cart\u00e9siennes. Si l&rsquo;argument <code>scales = \"fixed\"<\/code> constitue la norme scientifique stricte garantissant la validit\u00e9 des comparaisons inter-panneaux en maintenant des axes d&rsquo;ordonn\u00e9es identiques pour toutes les sous-figures, l&rsquo;option <code>scales = \"free_y\"<\/code> ou <code>scales = \"free_x\"<\/code> peut s&rsquo;av\u00e9rer n\u00e9cessaire dans des explorations de cohortes aux volum\u00e9tries excessivement disparates. Ce choix doit n\u00e9anmoins demeurer rigoureusement explicit\u00e9 en l\u00e9gende afin d&rsquo;\u00e9viter tout diagnostic visuel erron\u00e9 induit par des bascules d&rsquo;\u00e9chelle inaper\u00e7ues.<\/p>\n<h3>10.2 Organisation en grille bidimensionnelle avec facet_grid<\/h3>\n<p>Pour les plans exp\u00e9rimentaux hautement factoris\u00e9s croisant simultan\u00e9ment deux variables de mod\u00e9ration cat\u00e9gorielles distinctes (par exemple, le croisement complet d&rsquo;un groupe d&rsquo;\u00e2ge en quatre modalit\u00e9s et d&rsquo;une cohorte clinique en trois niveaux), l&rsquo;extension matricielle franchit un palier sup\u00e9rieur avec la fonction <code>facet_grid()<\/code>. Contrairement \u00e0 <code>facet_wrap()<\/code> qui enroule s\u00e9quentiellement une liste de panneaux le long d&rsquo;une bande uni-dimensionnelle, <code>facet_grid()<\/code> structure un \u00e9chiquier cart\u00e9sien bidimensionnel explicite r\u00e9gi par la formule <code>Variable_Lignes ~ Variable_Colonnes<\/code>.<\/p>\n<p>Cette organisation g\u00e9om\u00e9trique offre une puissance de comparaison analytique incomparable pour l&rsquo;identification des interactions d&rsquo;ordre sup\u00e9rieur en psychologie exp\u00e9rimentale. Les marges marginales globales peuvent \u00eatre int\u00e9gr\u00e9es automatiquement via le param\u00e8tre bool\u00e9en <code>margins = TRUE<\/code>, ins\u00e9rant des panneaux de synth\u00e8se r\u00e9capitulant les distributions agr\u00e9g\u00e9es sur l&rsquo;ensemble des strates. Cette morphologie d&rsquo;ensemble condense en un seul coup d&rsquo;\u0153il des matrices factorielles d&rsquo;une grande complexit\u00e9 qui n\u00e9cessiteraient autrement la r\u00e9daction de dizaines de pages de tableaux d&rsquo;analyses de contingence.<\/p>\n<p>L&rsquo;optimisation esth\u00e9tique d&rsquo;une grille factorielle de cette densit\u00e9 exige un r\u00e9glage minutieux des bandeaux textuels sup\u00e9rieurs et lat\u00e9raux d\u00e9signant les sous-groupes (<em>strip labels<\/em>). Au sein du bloc <code>theme()<\/code>, les param\u00e8tres <code>strip.background<\/code> et <code>strip.text<\/code> permettent d&rsquo;all\u00e9ger la teinte des cartouches de titrage et d&rsquo;adapter la taille de la typographie afin que l&rsquo;encre graphique globale demeure prioritairement allou\u00e9e aux barres de donn\u00e9es, conform\u00e9ment aux pr\u00e9ceptes de la visualisation scientifique contemporaine.<\/p>\n<h2>11. \u00c9tude de cas appliqu\u00e9e : d\u00e9pouillement d&rsquo;un questionnaire psychom\u00e9trique<\/h2>\n<h3>11.1 Structuration d&rsquo;une \u00e9chelle de mesure ordinale de type Likert<\/h3>\n<p>Afin de mettre en application la totalit\u00e9 de l&rsquo;\u00e9chafaudage m\u00e9thodologique pr\u00e9sent\u00e9 jusqu&rsquo;ici, nous d\u00e9veloppons une \u00e9tude de cas appliqu\u00e9e et int\u00e9grale d\u00e9di\u00e9e au d\u00e9pouillement graphique d&rsquo;un inventaire psychom\u00e9trique de d\u00e9tresse psychologique en milieu professionnel. Nous mod\u00e9lisons une enqu\u00eate d&rsquo;\u00e9valuation clinique administr\u00e9e \u00e0 un \u00e9chantillon repr\u00e9sentatif de cinq cents salari\u00e9s r\u00e9partis \u00e0 travers cinq directions strat\u00e9giques d&rsquo;un consortium industriel international. L&rsquo;instrument mobilise une \u00e9chelle de Likert ordinale standardis\u00e9e \u00e0 cinq points d&rsquo;ancrage s\u00e9mantique : \u00ab Fortement en d\u00e9saccord \u00bb, \u00ab En d\u00e9saccord \u00bb, \u00ab Neutre \u00bb, \u00ab D&rsquo;accord \u00bb et \u00ab Fortement d&rsquo;accord \u00bb.<\/p>\n<p>Le protocole computationnel d\u00e9bute par la g\u00e9n\u00e9ration et l&rsquo;assainissement de la matrice tabulaire dans l&rsquo;environnement R. Le script g\u00e9n\u00e8re les contingences exp\u00e9rimentales, agr\u00e8ge les occurrences individuelles sous forme d&rsquo;un tibble structur\u00e9 au format long, et op\u00e8re la conversion des modalit\u00e9s de r\u00e9ponse en un facteur ordinal rigoureusement typ\u00e9 \u00e0 l&rsquo;aide de l&rsquo;instruction <code>factor()<\/code> dot\u00e9e de ses \u00e9tiquettes ordonn\u00e9es. Une \u00e9tape de contr\u00f4le algorithmique s&rsquo;assure que le taux de r\u00e9ponse moyen par direction est conforme aux exigences de repr\u00e9sentativit\u00e9 et que la somme intra-groupe des pourcentages converge exactement vers la valeur unitaire de 100 %.<\/p>\n<p>Cette phase pr\u00e9liminaire met \u00e9galement en \u0153uvre une transformation des donn\u00e9es visant \u00e0 isoler les pourcentages relatifs intra-d\u00e9partements via la s\u00e9quence <code>group_by(Direction) |&gt; mutate(Pourcentage = Frequence \/ sum(Frequence) * 100)<\/code>. Ce calcul explicite, bien que rendu facultatif par l&rsquo;utilisation ult\u00e9rieure de <code>position = \"fill\"<\/code>, garantit une flexibilit\u00e9 absolue pour le formatage personnalis\u00e9 des cha\u00eenes de caract\u00e8res destin\u00e9es aux \u00e9tiquetages textuels de haute pr\u00e9cision qui viendront enrichir la figure de publication.<\/p>\n<h3>11.2 G\u00e9n\u00e9ration et raffinement du graphique de publication<\/h3>\n<p>L&rsquo;aboutissement de ce cas d&rsquo;\u00e9cole consiste en l&rsquo;\u00e9laboration d&rsquo;un script de publication complet, \u00e9l\u00e9gant et auto-suffisant, conjuguant les g\u00e9om\u00e9tries avanc\u00e9es, les palettes divergentes et un raffinement typographique irr\u00e9prochable. Pour maximiser la lisibilit\u00e9 des intitul\u00e9s descriptifs des directions professionnelles sans recourir \u00e0 des rotations de texte d&rsquo;abscisse qui fatiguent la lecture, nous introduisons la bascule orthogonale du rep\u00e8re cart\u00e9sien par la fonction <code>coord_flip()<\/code> (ou par l&rsquo;inversion directe des esth\u00e9tiques <code>x<\/code> et <code>y<\/code> permise dans les versions modernes de <code>ggplot2<\/code>).<\/p>\n<p>Le script int\u00e8gre la palette divergente <code>\"Spectral\"<\/code> issue de ColorBrewer ou une gamme chromatique personnalis\u00e9e <code>scale_fill_brewer(palette = \"RdYlBu\", direction = -1)<\/code>, qui affecte intuitivement des teintes bleut\u00e9es aux r\u00e9ponses sereines et des teintes ambr\u00e9es \u00e0 pourpres aux r\u00e9ponses traduisant une souffrance psychologique prononc\u00e9e. Les segments proportionnels sont \u00e9tiquet\u00e9s en leur centre m\u00e9dian par <code>geom_text()<\/code> en exploitant l&rsquo;argument <code>position = position_fill(vjust = 0.5)<\/code>, avec un masque d&rsquo;effacement automatique des labels correspondant aux strates d&rsquo;une ampleur relative inf\u00e9rieure \u00e0 5 % pour pr\u00e9venir toute pollution graphique.<\/p>\n<p>Le polissage final est compl\u00e9t\u00e9 par l&rsquo;application d&rsquo;un <code>theme_minimal()<\/code> \u00e9pur\u00e9, le repositionnement horizontal de la l\u00e9gende au sommet du graphique pour favoriser un balayage oculaire naturel, et l&rsquo;introduction d&rsquo;un appareil de titrage exhaustif via <code>labs()<\/code>. Enfin, la p\u00e9rennisation vectorielle du document fait l&rsquo;objet d&rsquo;un appel rigoureux \u00e0 la fonction <code>ggsave()<\/code>, qui enregistre le rendu dans des formats de publication haute d\u00e9finition (PDF vectoriel pour les manuscrits LaTeX, TIFF non compress\u00e9 \u00e0 300 DPI pour les \u00e9diteurs biom\u00e9dicaux, et PNG optimis\u00e9 pour la communication web), scellant une cha\u00eene de traitement allant de la saisie psychom\u00e9trique brute \u00e0 la figure de publication d&rsquo;excellence.<\/p>\n<h2>12. Bonnes pratiques, \u00e9cueils m\u00e9thodologiques et alternatives<\/h2>\n<h3>12.1 Erreurs m\u00e9thodologiques courantes et solutions techniques<\/h3>\n<p>L&rsquo;\u00e9laboration d&rsquo;un barplot empil\u00e9 n&rsquo;est pas exempte d&rsquo;\u00e9cueils m\u00e9thodologiques susceptibles d&rsquo;alt\u00e9rer la validit\u00e9 des conclusions tir\u00e9es par la communaut\u00e9 scientifique. La premi\u00e8re pathologie visuelle r\u00e9side dans la \u00ab saturation dimensionnelle \u00bb, survenant lorsqu&rsquo;un chercheur tente d&#8217;empiler un nombre excessif de sous-cat\u00e9gories au sein de la m\u00eame colonne (fr\u00e9quemment au-del\u00e0 de cinq ou six strates). Cette fragmentation extr\u00eame produit une mosa\u00efque de micro-segments impossible \u00e0 d\u00e9coder, exacerbant les biais perceptifs li\u00e9s \u00e0 l&rsquo;absence de ligne de base commune et diluant l&rsquo;attention de l&rsquo;observateur dans des d\u00e9tails anecdotiques.<\/p>\n<p>La solution technique \u00e0 cet \u00e9cueil consiste \u00e0 op\u00e9rer un regroupement s\u00e9mantique raisonn\u00e9 des modalit\u00e9s minoritaires en amont de la mod\u00e9lisation graphique. La biblioth\u00e8que <code>forcats<\/code> propose \u00e0 cette fin la fonction <code>fct_lump_n()<\/code> ou <code>fct_collapse()<\/code>, permettant d&rsquo;agr\u00e9ger syst\u00e9matiquement les cat\u00e9gories marginales sous un libell\u00e9 consolid\u00e9 unique tel que \u00ab Autres \u00bb ou \u00ab R\u00e9ponses combin\u00e9es \u00bb. Cette synth\u00e8se pr\u00e9alable r\u00e9tablit la pr\u00e9gnance des gradients fondamentaux tout en pr\u00e9servant l&rsquo;exhaustivit\u00e9 de l&rsquo;inventaire statistique sous-jacent.<\/p>\n<p>Un second \u00e9cueil s\u00e9v\u00e8re concerne l&rsquo;oblit\u00e9ration totale de l&rsquo;effet d&rsquo;\u00e9chantillonnage au sein des repr\u00e9sentations relatives \u00e0 100 % (<code>position = \"fill\"<\/code>). Pr\u00e9senter des barres proportionnelles rigoureusement identiques en hauteur sans indiquer les effectifs sous-jacents <code>n<\/code> peut conduire le lecteur \u00e0 accorder la m\u00eame confiance statistique \u00e0 une cohorte comportant vingt sujets qu&rsquo;\u00e0 un \u00e9chantillon consolid\u00e9 de deux mille individus. Pour d\u00e9samorcer ce risque de m\u00e9prise m\u00e9thodologique, le chercheur doit obligatoirement int\u00e9grer la taille de chaque sous-groupe directement au sein des libell\u00e9s de l&rsquo;axe cat\u00e9goriel (par exemple : \u00ab Enseignement (n = 450) \u00bb et \u00ab Logistique (n = 35) \u00bb), conf\u00e9rant ainsi \u00e0 la figure une transparence scientifique irr\u00e9prochable.<\/p>\n<h3>12.2 Alternatives graphiques au barplot empil\u00e9<\/h3>\n<p>La reconnaissance lucide des limites perceptives inh\u00e9rentes au barplot empil\u00e9 doit conduire l&rsquo;analyste \u00e0 envisager des dispositifs g\u00e9om\u00e9triques alternatifs lorsque la question scientifique exige une comparaison directe, pr\u00e9cise et sans distorsion des composantes individuelles.<\/p>\n<p>La premi\u00e8re alternative directe est le barplot group\u00e9 ou c\u00f4te \u00e0 c\u00f4te, instanci\u00e9 dans <code>ggplot2<\/code> par l&rsquo;ajustement <code>position = position_dodge(preserve = \"single\")<\/code>. En ramenant l&rsquo;ensemble des segments sur une ligne de base horizontale commune fix\u00e9e \u00e0 l&rsquo;ordonn\u00e9e z\u00e9ro, le diagramme group\u00e9 r\u00e9tablit la t\u00e2che perceptive au niveau d&rsquo;un jugement de longueur sur \u00e9chelle align\u00e9e, garantissant une acuit\u00e9 d&rsquo;\u00e9valuation maximale selon les crit\u00e8res de Cleveland et McGill. Ce format doit \u00eatre privil\u00e9gi\u00e9 d\u00e8s lors que l&rsquo;interaction univari\u00e9e entre les niveaux de stratification constitue le foyer exclusif de l&rsquo;analyse, au d\u00e9triment de l&rsquo;appr\u00e9hension de la somme globale.<\/p>\n<p>Pour le d\u00e9pouillement sp\u00e9cifique des \u00e9chelles psychom\u00e9triques ordinales bipolaires, le diagramme en barres divergentes (popularis\u00e9 par l&rsquo;extension <code>likert<\/code> ou par un calibrage n\u00e9gatif des coordonn\u00e9es cart\u00e9siennes dans <code>ggplot2<\/code>) repr\u00e9sente une modalit\u00e9 visuelle largement sup\u00e9rieure. En alignant les cat\u00e9gories neutres ou d&rsquo;inflexion directement sur un axe vertical z\u00e9ro central, les r\u00e9ponses de d\u00e9saccord se d\u00e9ploient vers la gauche tandis que les approbations progressent vers la droite, offrant une lecture imm\u00e9diate du tropisme affectif ou axiologique de l&rsquo;\u00e9chantillon sans les ambigu\u00eft\u00e9s induites par l&#8217;empilement cumulatif classique.<\/p>\n<p>Enfin, lorsque le croisement cat\u00e9goriel met en jeu des matrices denses associant un nombre \u00e9lev\u00e9 de cat\u00e9gories sur les deux dimensions, le recours \u00e0 des cartes thermiques cat\u00e9gorielles (<em>heatmaps<\/em> via <code>geom_tile()<\/code>) ou \u00e0 des arbres de proportions hi\u00e9rarchiques (<em>treemaps<\/em>) constitue l&rsquo;alternative de choix. Ces dispositifs mobilisent la luminance chromatique ordonn\u00e9e ou la tessellation spatiale pour cartographier la complexit\u00e9 sans imposer \u00e0 l&rsquo;\u0153il les acrobaties g\u00e9om\u00e9triques exig\u00e9es par le d\u00e9codage de barres empil\u00e9es excessivement fragment\u00e9es, parachevant ainsi l&rsquo;\u00e9ventail des solutions offertes au statisticien contemporain pour donner forme \u00e0 la rigueur de ses d\u00e9couvertes empiriques.<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>Brewer, C. A. (2006). Basic mapping principles for visualizing cancer data using geographic information systems (GIS). <em>American Journal of Preventive Medicine<\/em>, 30(2), S25-S36. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1016\/j.amepre.2005.09.007\">https:\/\/doi.org\/10.1016\/j.amepre.2005.09.007<\/a><\/li>\n<li>Cleveland, W. S., &amp; McGill, R. (1984). Graphical perception: Theory, experimentation, and application to the development of graphical methods. <em>Journal of the American Statistical Association<\/em>, 79(387), 531-554. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1080\/01621459.1984.10478080\">https:\/\/doi.org\/10.1080\/01621459.1984.10478080<\/a><\/li>\n<li>Treisman, A. (1985). Preattentive processing in vision. <em>Computer Vision, Graphics, and Image Processing<\/em>, 31(2), 156-177. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1016\/S0734-189X(85)80004-9\">https:\/\/doi.org\/10.1016\/S0734-189X(85)80004-9<\/a><\/li>\n<li>Tufte, E. R. (2001). <em>The visual display of quantitative information<\/em> (2nd ed.). Graphics Press.<\/li>\n<li>Wickham, H. (2014). Tidy data. <em>Journal of Statistical Software<\/em>, 59(10), 1-23. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.18637\/jss.v059.i10\">https:\/\/doi.org\/10.18637\/jss.v059.i10<\/a><\/li>\n<li>Wickham, H. (2016). <em>ggplot2: Elegant graphics for data analysis<\/em>. Springer-Verlag. <a rel=\"noopener noreferrer\" href=\"https:\/\/ggplot2-book.org\/\">https:\/\/ggplot2-book.org\/<\/a><\/li>\n<li>Wickham, H., \u00c7etinkaya-Rundel, M., &amp; Grolemund, G. (2023). <em>R for data science<\/em> (2nd ed.). O&rsquo;Reilly Media. <a rel=\"noopener noreferrer\" href=\"https:\/\/r4ds.hadley.nz\/\">https:\/\/r4ds.hadley.nz\/<\/a><\/li>\n<li>Wilkinson, L. (2005). <em>The grammar of graphics<\/em> (2nd ed.). Springer. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1007\/0-387-28695-0\">https:\/\/doi.org\/10.1007\/0-387-28695-0<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Guide acad\u00e9mique complet pour concevoir, personnaliser et interpr\u00e9ter des diagrammes en barres empil\u00e9es dans R \u00e0 l&rsquo;aide de ggplot2 avec exemples pratiques.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[2193,2687],"tags":[1884,6546,2688,3060,3993],"class_list":["post-4613","psych_stat","type-psych_stat","status-publish","hentry","category-programmation-r","category-visualisation-de-donnees","tag-analyse-de-donnees","tag-barplot-empile","tag-ggplot2","tag-tidyverse","tag-visualisation-r"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/4613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat"}],"about":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/types\/psych_stat"}],"author":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4613"}],"version-history":[{"count":0,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/4613\/revisions"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4613"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}