{"id":7740,"date":"2026-09-16T23:49:04","date_gmt":"2026-09-16T23:49:04","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-creer-histogramme-deux-variables-r\/"},"modified":"2026-09-16T23:49:08","modified_gmt":"2026-09-16T23:49:08","slug":"comment-creer-histogramme-deux-variables-r","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-creer-histogramme-deux-variables-r","title":{"rendered":"Comment cr\u00e9er un histogramme de deux variables dans R"},"content":{"rendered":"<p>L&rsquo;analyse exploratoire des donn\u00e9es quantitatives constitue le socle \u00e9pist\u00e9mologique sur lequel repose l&rsquo;ensemble de l&rsquo;inf\u00e9rence statistique contemporaine. Dans les disciplines empiriques telles que la psychologie cognitive, la neuropsychologie et les sciences du comportement, la simple r\u00e9duction des observations \u00e0 des m\u00e9triques ponctuelles de tendance centrale et de dispersion &mdash; telles que la moyenne arithm\u00e9tique et l&rsquo;\u00e9cart-type &mdash; s&rsquo;av\u00e8re fr\u00e9quemment insuffisante, voire trompeuse. La morphologie sous-jacente des distributions, la pr\u00e9sence d&rsquo;asym\u00e9tries subtiles, l&rsquo;\u00e9mergence de profils bimodaux ou encore l&#8217;empattement inhabituel des queues de distribution rec\u00e8lent des informations th\u00e9oriques capitales sur la nature des processus cognitifs ou cliniques sous-jacents. D\u00e8s lors, la visualisation graphique directe et non param\u00e9trique de la densit\u00e9 empirique s&rsquo;impose comme une d\u00e9marche analytique fondamentale avant toute mod\u00e9lisation probabiliste formelle.<\/p>\n<p>Parmi les repr\u00e9sentations visuelles disponibles dans l&rsquo;environnement statistique <a rel=\"noopener noreferrer\" href=\"https:\/\/www.r-project.org\/\">The R Project for Statistical Computing<\/a>, l&rsquo;histogramme demeure l&rsquo;outil d&rsquo;investigation le plus classique et le plus puissant pour sonder la distribution d&rsquo;une variable continue. Toutefois, lorsque l&rsquo;investigation m\u00e9thodologique exige la confrontation directe de deux cohortes d&rsquo;individus, de deux conditions exp\u00e9rimentales contrast\u00e9es ou de deux vagues d&rsquo;\u00e9valuation temporelle, la repr\u00e9sentation isol\u00e9e et s\u00e9quentielle de chaque sous-groupe entrave la d\u00e9tection des disparit\u00e9s subtiles. La juxtaposition c\u00f4te \u00e0 c\u00f4te force l&rsquo;\u0153il \u00e0 effectuer des saccades perceptives complexes, diluant la pr\u00e9cision des jugements comparatifs sur les zones de recouvrement et d&rsquo;incongruence.<\/p>\n<p>La fusion g\u00e9om\u00e9trique de deux distributions continues au sein d&rsquo;un rep\u00e8re cart\u00e9sien unique, par le truchement d&rsquo;un histogramme bivari\u00e9 superpos\u00e9, offre une r\u00e9ponse visuelle optimale \u00e0 ce d\u00e9fi analytique. Cette approche permet de cartographier instantan\u00e9ment la distance entre les centres de gravit\u00e9, l&rsquo;h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9 des dispersions et la compacit\u00e9 des intersections distributionnelles. N\u00e9anmoins, l&rsquo;obtention d&rsquo;un rendu graphique rigoureux, lisible et conforme aux standards de diffusion acad\u00e9mique exige la ma\u00eetrise d&rsquo;un ensemble de param\u00e8tres techniques stricts : gestion fine de la transparence chromatique, synchronisation absolue des coupures d&rsquo;intervalles, calcul pr\u00e9dictif des limites d&rsquo;axes et contr\u00f4le de la densit\u00e9. Ce guide exhaustif expose les fondements th\u00e9oriques, les m\u00e9canismes algorithmiques et les impl\u00e9mentations computationnelles n\u00e9cessaires \u00e0 la cr\u00e9ation d&rsquo;histogrammes comparatifs de haute vol\u00e9e sous R.<\/p>\n<h2>1. Introduction \u00e0 la visualisation bivari\u00e9e des distributions continues dans R<\/h2>\n<h3>1.1 Pertinence \u00e9pist\u00e9mologique de la comparaison distributionnelle en psychom\u00e9trie<\/h3>\n<p>Dans l&rsquo;arsenal m\u00e9thodologique de la <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Psychom%C3%A9trie\">psychom\u00e9trie<\/a> et de la biom\u00e9trie, l&rsquo;\u00e9valuation de construits latents &mdash; qu&rsquo;il s&rsquo;agisse de l&rsquo;intelligence fluide, de la s\u00e9v\u00e9rit\u00e9 d&rsquo;un \u00e9pisode d\u00e9pressif ou de la latence de traitement sensoriel &mdash; aboutit invariablement \u00e0 la production de scores num\u00e9riques continus ou pseudo-continus. L&rsquo;habitude historique consistant \u00e0 synth\u00e9tiser ces mesures par le bin\u00f4me moyenne-variance rel\u00e8ve d&rsquo;une simplification issue d&rsquo;une vision strictement gaussienne du monde. Or, les donn\u00e9es empiriques r\u00e9elles violent r\u00e9guli\u00e8rement cette id\u00e9alisation. L&rsquo;analyse exclusive des moyennes occulte syst\u00e9matiquement des ph\u00e9nom\u00e8nes structurants : un m\u00eame indice moyen peut masquer deux distributions radicalement dissemblables, l&rsquo;une unimodale sym\u00e9trique et l&rsquo;autre scind\u00e9e en deux sous-populations cliniques distinctes.<\/p>\n<p>L&rsquo;observation simultan\u00e9e de deux distributions au moyen d&rsquo;outils visuels calibr\u00e9s offre une perspective heuristique irrempla\u00e7able. Elle permet aux chercheurs d&rsquo;\u00e9valuer visuellement les \u00e9carts de sym\u00e9trie, l&rsquo;intensit\u00e9 de la variabilit\u00e9 interindividuelle et le degr\u00e9 d&rsquo;adh\u00e9sion aux postulats math\u00e9matiques pr\u00e9requis aux tests d&rsquo;hypoth\u00e8ses inf\u00e9rentiels classiques, comme le test t de Student ou l&rsquo;analyse de variance univari\u00e9e (ANOVA). Cette inspection pr\u00e9liminaire pr\u00e9serve l&rsquo;analyste des pi\u00e8ges inh\u00e9rents aux tests de significativit\u00e9 aveugles, qui demeurent vuln\u00e9rables aux distorsions morphologiques.<\/p>\n<p>En outre, la localisation g\u00e9ographique imm\u00e9diate des valeurs extr\u00eames ou atypiques (les <em>outliers<\/em>) et l&rsquo;estimation de l&rsquo;aire de chevauchement empirique procurent une intuition directe de la taille d&rsquo;effet \u00e9cologique de l&rsquo;intervention \u00e9tudi\u00e9e. L&rsquo;\u00e9tendue de cette zone d&rsquo;intersection informe directement sur la discriminabilit\u00e9 pratique des deux cohortes : une faible intersection refl\u00e8te une dissociation claire des profils ph\u00e9notypiques ou comportementaux. R s&rsquo;est impos\u00e9 mondialement comme l&rsquo;\u00e9cosyst\u00e8me de pr\u00e9dilection pour ce type d&rsquo;exploration, gr\u00e2ce \u00e0 son architecture logicielle orient\u00e9e vers la recherche reproductible et la manipulation matricielle haute fid\u00e9lit\u00e9.<\/p>\n<h3>1.2 Principes fondamentaux de l&rsquo;histogramme bivari\u00e9 superpos\u00e9<\/h3>\n<p>Le concept d&rsquo;histogramme superpos\u00e9 repose sur l&rsquo;ancrage spatial de deux s\u00e9ries de donn\u00e9es distinctes le long d&rsquo;un axe horizontal commun (l&rsquo;axe des abscisses), partageant une \u00e9chelle de mesure rigoureusement unifi\u00e9e. Les fr\u00e9quences d&rsquo;occurrence &mdash; ou, plus rigoureusement, les densit\u00e9s de probabilit\u00e9 associ\u00e9es &mdash; sont alors projet\u00e9es verticalement sur l&rsquo;axe des ordonn\u00e9es sous la forme de barres contigu\u00ebs. La difficult\u00e9 premi\u00e8re de ce paradigme r\u00e9side dans le probl\u00e8me de l&rsquo;occlusion visuelle : si l&rsquo;on superpose deux corps opaques sur un m\u00eame espace g\u00e9om\u00e9trique bidimensionnel, la couche sup\u00e9rieure masque in\u00e9vitablement la couche inf\u00e9rieure, oblit\u00e9rant l&rsquo;information quantitative sous-jacente.<\/p>\n<p>Pour contourner cet obstacle perceptif sans recourir \u00e0 un \u00e9talement tridimensionnel &mdash; souvent n\u00e9faste pour l&rsquo;exactitude de la lecture m\u00e9trique &mdash;, la superposition transparente \u00e9merge comme la solution s\u00e9miologique la plus \u00e9l\u00e9gante. Le principe consiste \u00e0 combiner deux encres virtuelles translucides qui, lorsqu&rsquo;elles se rencontrent dans une zone commune d&rsquo;occupation spatiale, synth\u00e9tisent une troisi\u00e8me teinte hybride par m\u00e9lange chromatique optique. Le lecteur per\u00e7oit ainsi sans effort cognitif la zone propre au premier groupe, la zone propre au second groupe, et la surface mitoyenne o\u00f9 les deux distributions coexistent.<\/p>\n<p>Il est imp\u00e9ratif d&rsquo;op\u00e9rer une distinction m\u00e9thodologique rigoureuse selon la nature du plan exp\u00e9rimental sous-jacent. La comparaison visuelle peut impliquer deux groupes d&rsquo;individus totalement ind\u00e9pendants (par exemple, un groupe t\u00e9moin confront\u00e9 \u00e0 un groupe exp\u00e9rimental) ou deux mesures quantitatives r\u00e9p\u00e9t\u00e9es sur les m\u00eames sujets (mesures appari\u00e9es pr\u00e9- et post-traitement). Dans ce dernier cas, l&rsquo;histogramme bivari\u00e9 renseigne sur l&rsquo;\u00e9volution globale de la distribution de la cohorte, mais fait abstraction des trajectoires individuelles intra-sujets, ce qui suppose une prudence interpr\u00e9tative ad\u00e9quate quant \u00e0 la dynamique temporelle du changement.<\/p>\n<h3>1.3 Cadre technique : le moteur graphique de base de R versus les extensions<\/h3>\n<p>L&rsquo;environnement R propose historiquement deux grands paradigmes pour la synth\u00e8se graphique des donn\u00e9es quantitatives : le syst\u00e8me graphique de base (souvent d\u00e9sign\u00e9 sous l&rsquo;appellation <em>base R graphics<\/em>) structur\u00e9 autour du package interne <code>graphics<\/code>, et le paradigme d\u00e9claratif moderne incarn\u00e9 par la biblioth\u00e8que <a rel=\"noopener noreferrer\" href=\"https:\/\/ggplot2.tidyverse.org\/\">ggplot2<\/a>, issue de l&rsquo;\u00e9cosyst\u00e8me du tidyverse. Le moteur graphique de base de R, con\u00e7u d\u00e8s les origines par Ross Ihaka et Robert Gentleman, repose sur un mod\u00e8le d&rsquo;affichage s\u00e9quentiel calqu\u00e9 sur la m\u00e9taphore de la toile de peintre (<em>painter&rsquo;s canvas model<\/em>).<\/p>\n<p>Dans ce mod\u00e8le proc\u00e9dural \u00e9l\u00e9mentaire, chaque commande graphique projette des \u00e9l\u00e9ments visuels (axes, \u00e9tiquettes, barres, polygones) sur un support d&rsquo;affichage r\u00e9cepteur. L&rsquo;argument graphique <code>add = TRUE<\/code> constitue la clef de vo\u00fbte technique permettant de suspendre la r\u00e9initialisation automatique du canevas et d&rsquo;autoriser l&rsquo;application de couches suppl\u00e9mentaires directement sur l&rsquo;image en cours de composition. Cette approche offre une transparence op\u00e9rationnelle totale, une rapidit\u00e9 de rendu computationnel in\u00e9gal\u00e9e pour de tr\u00e8s grands volumes de donn\u00e9es et une absence absolue de d\u00e9pendances logicielles externes, garantissant une p\u00e9rennit\u00e9 d&rsquo;ex\u00e9cution sur le tr\u00e8s long terme.<\/p>\n<p>Le pr\u00e9sent protocole m\u00e9thodologique se concentre en profondeur sur l&rsquo;exploitation experte de ce moteur natif de R. En ma\u00eetrisant les m\u00e9canismes fondamentaux de bas niveau de la fonction <code>hist()<\/code>, l&rsquo;analyste acquiert une compr\u00e9hension intime des primitives graphiques, des syst\u00e8mes de coordonn\u00e9es locales et du contr\u00f4le matriciel des couleurs, comp\u00e9tences qui s&rsquo;av\u00e8rent transf\u00e9rables et compl\u00e9mentaires \u00e0 la ma\u00eetrise ult\u00e9rieure de syntaxes d\u00e9claratives plus abstraites. L&rsquo;objectif consiste \u00e0 transformer un appel proc\u00e9dural basique en une figure vectorielle de qualit\u00e9 \u00e9ditoriale, publiable directement dans les revues internationales les plus exigeantes.<\/p>\n<figure class=\"wpt-preserved-image\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/multHistR1.png\" alt=\"\" \/><\/figure>\n<h2>2. Fondements math\u00e9matiques et statistiques de l&rsquo;histogramme comparatif<\/h2>\n<h3>2.1 Discr\u00e9tisation des variables et s\u00e9lection des intervalles de classe (bins)<\/h3>\n<p>D&rsquo;un point de vue math\u00e9matique formel, un histogramme n&rsquo;est pas une simple juxtaposition de diagrammes en b\u00e2tons, mais une m\u00e9thode non param\u00e9trique d&rsquo;estimation de la fonction de densit\u00e9 de probabilit\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"f(x)\">$f(x)$<\/span> d&rsquo;une variable al\u00e9atoire continue <span class=\"arabpsy-math-inline\" data-latex=\"X\">$X$<\/span>. Soit un \u00e9chantillon d&rsquo;observations ind\u00e9pendantes et identiquement distribu\u00e9es <span class=\"arabpsy-math-inline\" data-latex=\"x_1, x_2, dots, x_n\">$x_1, x_2, dots, x_n$<\/span> d\u00e9fini sur un support r\u00e9el born\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"[a, b]\">$[a, b]$<\/span>. La construction de l&rsquo;histogramme requiert une partition rigoureuse de cet intervalle en <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> sous-intervalles disjoints et contigus, d\u00e9sign\u00e9s sous le terme d&rsquo;intervalles de classe ou <em>bins<\/em>, d\u00e9limit\u00e9s par une s\u00e9quence ordonn\u00e9e de coupures <span class=\"arabpsy-math-inline\" data-latex=\"{t_0, t_1, dots, t_k}\">${t_0, t_1, dots, t_k}$<\/span> o\u00f9 <span class=\"arabpsy-math-inline\" data-latex=\"t_0 = a\">$t_0 = a$<\/span> et <span class=\"arabpsy-math-inline\" data-latex=\"t_k = b\">$t_k = b$<\/span>.<\/p>\n<p>La largeur d&rsquo;un intervalle de classe \u00e9l\u00e9mentaire <span class=\"arabpsy-math-inline\" data-latex=\"j\">$j$<\/span> est formul\u00e9e par <span class=\"arabpsy-math-inline\" data-latex=\"h_j = t_j - t_{j-1}\">$h_j = t_j &#8211; t_{j-1}$<\/span>. Lorsque les intervalles poss\u00e8dent tous la m\u00eame largeur uniforme <span class=\"arabpsy-math-inline\" data-latex=\"h\">$h$<\/span>, le choix de ce param\u00e8tre scalaire unique <span class=\"arabpsy-math-inline\" data-latex=\"h\">$h$<\/span> conditionne l&rsquo;arbitrage fondamental entre le biais statistique et la variance de l&rsquo;estimation. Si <span class=\"arabpsy-math-inline\" data-latex=\"h\">$h$<\/span> est excessivement grand, l&rsquo;histogramme souffre d&rsquo;un ph\u00e9nom\u00e8ne de sur-lissage (<em>oversmoothing<\/em>), effa\u00e7ant les singularit\u00e9s morphologiques cruciales de la population d&rsquo;origine. Inversement, une valeur de <span class=\"arabpsy-math-inline\" data-latex=\"h\">$h$<\/span> d\u00e9mesur\u00e9ment faible induit un sous-lissage (<em>undersmoothing<\/em>), saturant la repr\u00e9sentation visuelle de variations stochastiques purement al\u00e9atoires propres \u00e0 l&rsquo;\u00e9chantillon pr\u00e9lev\u00e9.<\/p>\n<p>Trois formulations algorithmiques majeures r\u00e9gissent historiquement le calcul automatique de <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> et de <span class=\"arabpsy-math-inline\" data-latex=\"h\">$h$<\/span> dans les logiciels de calcul num\u00e9rique :<\/p>\n<ul>\n<li><strong>La r\u00e8gle de Sturges :<\/strong> Formule classique bas\u00e9e sur l&rsquo;approximation binomiale de la loi normale, formul\u00e9e par <span class=\"arabpsy-math-inline\" data-latex=\"k = 1 + \\lceil \\log_2(n) \\rceil\">$k = 1 + \\lceil \\log_2(n) \\rceil$<\/span>. Bien qu&rsquo;elle constitue l&rsquo;option par d\u00e9faut historique dans R, elle sous-estime drastiquement le nombre de classes optimal lorsque <span class=\"arabpsy-math-inline\" data-latex=\"n &gt; 200\">$n &gt; 200$<\/span> ou lorsque les distributions d\u00e9vient sensiblement de la normalit\u00e9.<\/li>\n<li><strong>La r\u00e8gle de Scott :<\/strong> Optimis\u00e9e pour minimiser l&rsquo;erreur quadratique moyenne int\u00e9gr\u00e9e (MISE) sous l&rsquo;hypoth\u00e8se gaussienne, d\u00e9finissant la largeur id\u00e9ale par <span class=\"arabpsy-math-inline\" data-latex=\"h = 3.49 \\cdot \\hat{\\sigma} \\cdot n^{-1\/3}\">$h = 3.49 \\cdot \\hat{\\sigma} \\cdot n^{-1\/3}$<\/span>, o\u00f9 <span class=\"arabpsy-math-inline\" data-latex=\"\\hat{\\sigma}\">$\\hat{\\sigma}$<\/span> repr\u00e9sente l&rsquo;\u00e9cart-type d&rsquo;\u00e9chantillon.<\/li>\n<li><strong>La r\u00e8gle de Freedman-Diaconis :<\/strong> Nettement plus robuste aux asym\u00e9tries et \u00e0 la pr\u00e9sence de valeurs extr\u00eames, cette formulation substitue l&rsquo;\u00e9cart-type par l&rsquo;\u00e9cart interquartile (IQR) selon l&rsquo;\u00e9quation <span class=\"arabpsy-math-inline\" data-latex=\"h = 2 \\cdot \\text{IQR}(X) \\cdot n^{-1\/3}\">$h = 2 \\cdot \\text{IQR}(X) \\cdot n^{-1\/3}$<\/span>.<\/li>\n<\/ul>\n<p>Dans le cadre d&rsquo;un histogramme comparant deux s\u00e9ries distinctes, une contrainte m\u00e9thodologique absolue s&rsquo;impose : les deux variables doivent imp\u00e9rativement partager le m\u00eame vecteur de coupures <span class=\"arabpsy-math-inline\" data-latex=\"{t_j}\">${t_j}$<\/span>. L&rsquo;application ind\u00e9pendante d&rsquo;algorithmes de discr\u00e9tisation automatis\u00e9s sur chaque groupe aboutit quasi syst\u00e9matiquement \u00e0 des largeurs de classe divergentes et \u00e0 des d\u00e9calages d&rsquo;intervalles, induisant des artefacts de perception cognitive qui annihilent la validit\u00e9 de la comparaison distributionnelle.<\/p>\n<h3>2.2 Mesures de fr\u00e9quence : effectifs absolus versus densit\u00e9s de probabilit\u00e9<\/h3>\n<p>L&rsquo;utilisation brute des effectifs observ\u00e9s (les fr\u00e9quences absolues <span class=\"arabpsy-math-inline\" data-latex=\"n_j\">$n_j$<\/span>) sur l&rsquo;axe des ordonn\u00e9es constitue une erreur analytique r\u00e9currente lorsqu&rsquo;on compare deux \u00e9chantillons de tailles in\u00e9gales (<span class=\"arabpsy-math-inline\" data-latex=\"N_1 \\neq N_2\">$N_1 \\neq N_2$<\/span>). Dans une telle configuration, le groupe b\u00e9n\u00e9ficiant de l&rsquo;\u00e9chantillon le plus pl\u00e9thorique dominera visuellement l&rsquo;espace cart\u00e9sien par des hauteurs de barres disproportionn\u00e9es, masquant potentiellement le fait que la probabilit\u00e9 relative d&rsquo;observer une plage de scores donn\u00e9e est rigoureusement identique dans les deux cohortes.<\/p>\n<p>Pour r\u00e9tablir une \u00e9quit\u00e9 g\u00e9om\u00e9trique et probabiliste irr\u00e9prochable, l&rsquo;analyste doit proc\u00e9der \u00e0 une normalisation surfacique en convertissant les fr\u00e9quences absolues en densit\u00e9s de probabilit\u00e9. L&rsquo;estimateur de densit\u00e9 associ\u00e9 \u00e0 la <span class=\"arabpsy-math-inline\" data-latex=\"j\">$j$<\/span>-i\u00e8me classe est d\u00e9fini rigoureusement par la relation math\u00e9matique :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\hat{f}(x) = \\frac{n_j}{N \\cdot h_j} \\quad \\text{pour tout } x in [t_{j-1}, t_j[\">$$\\hat{f}(x) = \\frac{n_j}{N \\cdot h_j} \\quad \\text{pour tout } x in [t_{j-1}, t_j[$$<\/span><\/p>\n<p>o\u00f9 <span class=\"arabpsy-math-inline\" data-latex=\"n_j\">$n_j$<\/span> repr\u00e9sente l&rsquo;effectif de la classe, <span class=\"arabpsy-math-inline\" data-latex=\"N\">$N$<\/span> la taille globale de l&rsquo;\u00e9chantillon consid\u00e9r\u00e9, et <span class=\"arabpsy-math-inline\" data-latex=\"h_j\">$h_j$<\/span> la largeur du sous-intervalle. Cette formulation conf\u00e8re \u00e0 l&rsquo;histogramme normalis\u00e9 une propri\u00e9t\u00e9 fondamentale : l&rsquo;aire totale couverte par l&rsquo;ensemble des rectangles sous la courbe polygonale est strictement \u00e9gale \u00e0 l&rsquo;unit\u00e9 (<span class=\"arabpsy-math-inline\" data-latex=\"\\int \\hat{f}(x) dx = 1\">$\\int \\hat{f}(x) dx = 1$<\/span>).<\/p>\n<p>D\u00e8s lors que cette normalisation est effective pour les deux s\u00e9ries de donn\u00e9es, l&rsquo;aire g\u00e9om\u00e9trique d\u00e9finie par l&rsquo;intersection visuelle des deux histogrammes prend une signification probabiliste directe. Elle correspond \u00e0 l&rsquo;int\u00e9grale du minimum des deux fonctions de densit\u00e9 empiriques, quantifiant math\u00e9matiquement le coefficient de recouvrement (<em>overlapping coefficient<\/em>, OVL). Cette grandeur non param\u00e9trique refl\u00e8te directement la proportion d&rsquo;individus des deux populations partageant des scores indistinguables, offrant un compl\u00e9ment quantitatif d&rsquo;une valeur inestimable aux indicateurs statistiques standards.<\/p>\n<h3>2.3 Sensibilit\u00e9 aux caract\u00e9ristiques morphologiques des distributions<\/h3>\n<p>L&rsquo;histogramme bivari\u00e9 agit comme un r\u00e9v\u00e9lateur des quatre premiers moments statistiques d&rsquo;une distribution, permettant une appr\u00e9ciation conjointe et imm\u00e9diate des singularit\u00e9s structurelles de chaque groupe d&rsquo;\u00e9tude :<\/p>\n<ul>\n<li><strong>Le moment d&rsquo;ordre 1 (Tendance centrale) :<\/strong> Le d\u00e9calage spatial des sommets ou des centres de masse le long de l&rsquo;axe des abscisses traduit visuellement l&rsquo;\u00e9cart entre les moyennes empiriques (<span class=\"arabpsy-math-inline\" data-latex=\"\\bar{X}_1\">$\\bar{X}_1$<\/span> et <span class=\"arabpsy-math-inline\" data-latex=\"\\bar{X}_2\">$\\bar{X}_2$<\/span>) ou les m\u00e9dianes respectives.<\/li>\n<li><strong>Le moment d&rsquo;ordre 2 (Dispersion) :<\/strong> L&rsquo;\u00e9talement horizontal comparatif des bases des histogrammes renseigne directement sur l&rsquo;h\u00e9t\u00e9rosc\u00e9dasticit\u00e9 des donn\u00e9es. Un groupe pr\u00e9sentant une variance accrue se manifestera par une base \u00e9largie et une hauteur de cr\u00eate amoindrie, conform\u00e9ment au principe de conservation de la masse unitaire en mode densit\u00e9.<\/li>\n<li><strong>Le moment d&rsquo;ordre 3 (Asym\u00e9trie ou Skewness) :<\/strong> L&rsquo;allongement diff\u00e9rentiel d&rsquo;une tra\u00een\u00e9e lat\u00e9rale vers la droite (asym\u00e9trie positive) ou vers la gauche (asym\u00e9trie n\u00e9gative) permet de d\u00e9celer la pr\u00e9sence de planchers ou de plafonds de mesure, fr\u00e9quents dans les inventaires psychopathologiques.<\/li>\n<li><strong>Le moment d&rsquo;ordre 4 (Aplatissement ou Kurtosis) :<\/strong> La comparaison visuelle de la concentration centrale des observations autour du mode (leptocurticit\u00e9) par rapport \u00e0 des profils plus aplatis aux queues \u00e9paisses (platycurticit\u00e9) apporte des \u00e9clairages cruciaux sur la susceptibilit\u00e9 des groupes \u00e0 produire des scores extr\u00eames impr\u00e9vus.<\/li>\n<\/ul>\n<p>Au-del\u00e0 de ces moments classiques, la morphologie globale met en lumi\u00e8re des configurations impossibles \u00e0 r\u00e9sumer par de simples param\u00e8tres num\u00e9riques, notamment la multimodalit\u00e9. La d\u00e9couverte d&rsquo;une distribution bimodale dans une cohorte clinique cens\u00e9e \u00eatre homog\u00e8ne signale immanquablement l&rsquo;existence de sous-groupes nosographiques latents, motivant une stratification ult\u00e9rieure de l&rsquo;\u00e9chantillon ou l&rsquo;application de mod\u00e8les de m\u00e9langes gaussiens (<em>mixture models<\/em>).<\/p>\n<h2>3. Pr\u00e9paration de l&rsquo;environnement R et simulation de jeux de donn\u00e9es<\/h2>\n<h3>3.1 Configuration de la session de travail et reproductibilit\u00e9 scientifique<\/h3>\n<p>La production d&rsquo;analyses scientifiques rigoureuses exige un contr\u00f4le m\u00e9ticuleux de l&rsquo;environnement computationnel d&rsquo;ex\u00e9cution afin de satisfaire aux imp\u00e9ratifs internationaux de reproductibilit\u00e9 m\u00e9thodologique. Dans le langage R, chaque session de travail h\u00e9rite d&rsquo;un \u00e9tat interne propre, incluant l&rsquo;historique des param\u00e8tres graphiques configur\u00e9s et l&rsquo;\u00e9tat d&rsquo;initialisation du g\u00e9n\u00e9rateur congruentiel de nombres pseudo-al\u00e9atoires.<\/p>\n<p>Avant de proc\u00e9der \u00e0 la g\u00e9n\u00e9ration des donn\u00e9es et \u00e0 la composition visuelle, il convient de r\u00e9initialiser l&rsquo;\u00e9tat global du syst\u00e8me. L&rsquo;effacement des variables r\u00e9sidentes en m\u00e9moire via l&rsquo;instruction <code>rm(list = ls())<\/code> assure qu&rsquo;aucune contamination crois\u00e9e ne r\u00e9sulte de calculs ant\u00e9rieurs. De m\u00eame, la commande <code>graphics.off()<\/code> permet de fermer tous les p\u00e9riph\u00e9riques graphiques pr\u00e9c\u00e9demment ouverts, restaurant les marges et les agencements matriciels d&rsquo;origine d\u00e9finis par la fonction <code>par()<\/code>.<\/p>\n<p>Pour permettre \u00e0 tout chercheur d&rsquo;obtenir au bit pr\u00e8s les m\u00eames visualisations, le g\u00e9n\u00e9rateur de nombres pseudo-al\u00e9atoires doit \u00eatre ancr\u00e9 de mani\u00e8re d\u00e9terministe via la fonction <code>set.seed()<\/code>, en utilisant un nombre entier arbitraire comme graine de r\u00e9plication (par exemple, <code>set.seed(2024)<\/code>). Il est \u00e9galement recommand\u00e9 de consigner formellement les m\u00e9tadonn\u00e9es de la session analytique en appelant <code>sessionInfo()<\/code> dans les scripts sources, documentant ainsi la version exacte de R et l&rsquo;architecture du syst\u00e8me d&rsquo;exploitation h\u00f4te.<\/p>\n<h3>3.2 G\u00e9n\u00e9ration de distributions gaussiennes contrast\u00e9es via rnorm()<\/h3>\n<p>Afin d&rsquo;illustrer la syntaxe d&rsquo;impl\u00e9mentation sur un cas d&rsquo;\u00e9cole parfaitement contr\u00f4l\u00e9, nous proc\u00e9dons \u00e0 la mod\u00e9lisation math\u00e9matique de deux cohortes d&rsquo;observations issues de deux processus stochastiques gaussiens ind\u00e9pendants. La fonction native <code>rnorm()<\/code> de R offre un g\u00e9n\u00e9rateur d&rsquo;\u00e9chantillons al\u00e9atoires optimis\u00e9, utilisant par d\u00e9faut l&rsquo;algorithme d&rsquo;inversion de Box-Muller ou la m\u00e9thode de Ziggurat selon la configuration du compilateur.<\/p>\n<p>Nous d\u00e9finissons un effectif d&rsquo;\u00e9chantillonnage repr\u00e9sentatif fix\u00e9 \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"N = 1000\">$N = 1000$<\/span> observations par condition exp\u00e9rimentale, procurant une stabilit\u00e9 asymptotique suffisante pour limiter le bruit d&rsquo;\u00e9chantillonnage lors de l&rsquo;estimation de densit\u00e9. La premi\u00e8re s\u00e9rie de donn\u00e9es, repr\u00e9sentative d&rsquo;une condition de r\u00e9f\u00e9rence ou de contr\u00f4le, est param\u00e9tr\u00e9e selon une loi normale standardis\u00e9e centr\u00e9e sur <span class=\"arabpsy-math-inline\" data-latex=\"\\mu_1 = 0.60\">$\\mu_1 = 0.60$<\/span> avec un \u00e9cart-type restreint <span class=\"arabpsy-math-inline\" data-latex=\"\\sigma_1 = 0.10\">$\\sigma_1 = 0.10$<\/span>. La seconde s\u00e9rie, incarnant une condition clinique ou exp\u00e9rimentale, est g\u00e9n\u00e9r\u00e9e \u00e0 partir d&rsquo;une loi normale centr\u00e9e sur <span class=\"arabpsy-math-inline\" data-latex=\"\\mu_2 = 0.40\">$\\mu_2 = 0.40$<\/span>, partageant le m\u00eame \u00e9cart-type <span class=\"arabpsy-math-inline\" data-latex=\"\\sigma_2 = 0.10\">$\\sigma_2 = 0.10$<\/span>.<\/p>\n<p>Dans un script d&rsquo;analyse formel, l&rsquo;ex\u00e9cution s&rsquo;articule comme suit :<\/p>\n<ul>\n<li>D\u00e9finition de la taille d&rsquo;\u00e9chantillon : <code>n_obs &lt;- 1000<\/code><\/li>\n<li>G\u00e9n\u00e9ration du vecteur contr\u00f4le : <code>groupe_controle &lt;- rnorm(n = n_obs, mean = 0.60, sd = 0.10)<\/code><\/li>\n<li>G\u00e9n\u00e9ration du vecteur exp\u00e9rimental : <code>groupe_exp &lt;- rnorm(n = n_obs, mean = 0.40, sd = 0.10)<\/code><\/li>\n<\/ul>\n<p>Une validation descriptive syst\u00e9matique s&rsquo;effectue ensuite par le biais des fonctions <code>summary()<\/code> et <code>sd()<\/code> appliqu\u00e9es sur chaque objet. Cette inspection garantit que les moyennes empiriques convergent \u00e9troitement vers les esp\u00e9rances th\u00e9oriques programm\u00e9es (respectivement $0.60$ et $0.40$) et que les \u00e9tendues de variation restent conformes aux attentes statistiques (les donn\u00e9es s&rsquo;inscrivant th\u00e9oriquement \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"\\pm 3\\sigma\">$\\pm 3\\sigma$<\/span>, soit approximativement entre $0.10$ et $0.90$).<\/p>\n<h3>3.3 Contextualisation psychologique des variables simul\u00e9es<\/h3>\n<p>L&rsquo;ancrage des exercices computationnels dans des cadres d&rsquo;application concrets est indispensable pour guider les d\u00e9cisions de mise en forme graphique ult\u00e9rieures. Les deux variables synth\u00e9tis\u00e9es peuvent mod\u00e9liser fid\u00e8lement des indices psychom\u00e9triques standardis\u00e9s ou des marqueurs chronom\u00e9triques issus de protocoles de neuropsychologie cognitive. Par exemple, ces valeurs peuvent \u00eatre interpr\u00e9t\u00e9es comme des temps de r\u00e9action moyens lors d&rsquo;une t\u00e2che de discrimination visuo-spatiale chronom\u00e9tr\u00e9e, normalis\u00e9s sur une \u00e9chelle proportionnelle comprise entre z\u00e9ro et une seconde.<\/p>\n<p>Alternativement, ces vecteurs peuvent symboliser l&rsquo;\u00e9volution de scores de d\u00e9tresse psychologique \u00e9valu\u00e9s \u00e0 l&rsquo;aide d&rsquo;une \u00e9chelle clinique valid\u00e9e (telle que l&rsquo;inventaire d&rsquo;anxi\u00e9t\u00e9 de Beck ou l&rsquo;\u00e9chelle DASS-21), r\u00e9\u00e9chelonn\u00e9e lin\u00e9airement dans l&rsquo;intervalle <span class=\"arabpsy-math-inline\" data-latex=\"[0 ; 1]\">$[0 ; 1]$<\/span>. Dans ce paradigme \u00e9valuatif, la variable <code>groupe_controle<\/code> (centr\u00e9e sur $0.60$) traduirait le niveau d&rsquo;anxi\u00e9t\u00e9 basal mesur\u00e9 avant l&rsquo;initiation d&rsquo;un programme de psychoth\u00e9rapie cognitive bas\u00e9e sur la pleine conscience, tandis que la variable <code>groupe_exp<\/code> (centr\u00e9e sur $0.40$) refl\u00e9terait l&rsquo;abaissement significatif de cette charge affective \u00e0 la suite de l&rsquo;intervention clinique.<\/p>\n<p>L&rsquo;analogie clinique fournit des rep\u00e8res essentiels pour d\u00e9terminer l&#8217;emplacement judicieux des l\u00e9gendes explicatives, la nature des libell\u00e9s d&rsquo;axes et la pertinence de l&rsquo;alignement des intervalles de discr\u00e9tisation. Elle rappelle \u00e9galement \u00e0 l&rsquo;analyste que la zone de superposition g\u00e9om\u00e9trique entre les deux histogrammes quantifie le taux d&rsquo;individus dont le niveau de d\u00e9tresse post-th\u00e9rapeutique demeure statistiquement indissociable du profil pr\u00e9traitement, r\u00e9v\u00e9lant la proportion de non-r\u00e9pondeurs th\u00e9rapeutiques.<\/p>\n<h2>4. La syntaxe \u00e9l\u00e9mentaire avec la fonction hist() et l&rsquo;argument add<\/h2>\n<h3>4.1 G\u00e9n\u00e9ration du premier histogramme de r\u00e9f\u00e9rence<\/h3>\n<p>Le moteur graphique natif de R initialise un nouveau rep\u00e8re orthogonal chaque fois qu&rsquo;une fonction de tra\u00e7age de haut niveau est invoqu\u00e9e sans sp\u00e9cification contraire. La fonction fondamentale <code>hist()<\/code> fait partie de ces primitives graphiques majeures. Lorsqu&rsquo;elle re\u00e7oit un vecteur de valeurs num\u00e9riques en premier argument, elle effectue simultan\u00e9ment deux op\u00e9rations distinctes : le calcul en m\u00e9moire de la distribution statistique (partition des valeurs, comptage des effectifs par classe) et la projection optique des rectangles sur le p\u00e9riph\u00e9rique graphique courant.<\/p>\n<p>Dans sa forme la plus rudimentaire, l&rsquo;affichage de la cohorte exp\u00e9rimentale s&rsquo;amorce par l&rsquo;instruction :<\/p>\n<p><code>hist(groupe_exp, col = \"red\")<\/code><\/p>\n<p>\u00c0 cet instant, le syst\u00e8me cart\u00e9sien \u00e9value l&rsquo;\u00e9tendue des donn\u00e9es du vecteur <code>groupe_exp<\/code> et calcule automatiquement les bornes minimales et maximales des axes des abscisses et des ordonn\u00e9es. Des marges de r\u00e9serve p\u00e9riph\u00e9riques standards (g\u00e9n\u00e9ralement fix\u00e9es \u00e0 4 % au-del\u00e0 des extr\u00eames de la partition) sont inject\u00e9es par le moteur de rendu. Les graduations num\u00e9riques, les encoches de rep\u00e8re (<em>ticks<\/em>), le titre g\u00e9n\u00e9ral et les \u00e9tiquettes par d\u00e9faut sont instantan\u00e9ment fig\u00e9s au sein de la m\u00e9moire tampon de la fen\u00eatre graphique.<\/p>\n<p>Ce premier trac\u00e9 d\u00e9finit de mani\u00e8re immuable l&rsquo;\u00e9chelle m\u00e9trique absolue du graphique. D\u00e8s que cette toile est imprim\u00e9e, toute commande ult\u00e9rieure venant s&rsquo;y greffer sera contrainte par les fronti\u00e8res spatiales \u00e9tablies lors de cette passe inaugurale. Il est donc crucial de noter que si la seconde distribution poss\u00e8de une emprise spatiale plus vaste ou des pics d&rsquo;effectifs plus prononc\u00e9s, elle se heurtera aux bornes pr\u00e9\u00e9tablies par ce premier histogramme.<\/p>\n<h3>4.2 Superposition de la seconde variable par le param\u00e8tre add=TRUE<\/h3>\n<p>Pour briser le comportement par d\u00e9faut de R consistant \u00e0 effacer automatiquement le canevas existant avant d&rsquo;afficher un nouveau graphique de haut niveau, les concepteurs du syst\u00e8me <code>graphics<\/code> ont pourvu la fonction <code>hist()<\/code> d&rsquo;un param\u00e8tre bool\u00e9en fondamental : l&rsquo;argument <code>add<\/code>. Lorsque ce commutateur logique est explicitement assign\u00e9 \u00e0 la valeur <code>TRUE<\/code> (sa valeur nominale \u00e9tant <code>FALSE<\/code>), la fonction suspend toute routine d&rsquo;initialisation matricielle et projette les barres de fr\u00e9quence directement par-dessus le trac\u00e9 pr\u00e9existant.<\/p>\n<p>L&rsquo;impl\u00e9mentation na\u00efve de cette superposition s&rsquo;\u00e9crit de la mani\u00e8re suivante :<\/p>\n<p><code>hist(groupe_controle, col = \"blue\", add = TRUE)<\/code><\/p>\n<p>Le moteur calcule alors les classes du second vecteur (<code>groupe_controle<\/code>) et dessine les rectangles correspondants avec une couleur de remplissage bleue opaque. L&rsquo;ordre d&rsquo;ex\u00e9cution s\u00e9quentielle r\u00e9git l&#8217;empilement physique des pixels \u00e0 l&rsquo;\u00e9cran : les \u00e9l\u00e9ments invoqu\u00e9s en second viennent peindre et recouvrir les couches g\u00e9om\u00e9triques cr\u00e9\u00e9es en premier plan. Le r\u00e9sultat imm\u00e9diat est l&rsquo;oblit\u00e9ration pure et simple de l&rsquo;information sous-jacente partout o\u00f9 les barres bleues s&rsquo;\u00e9l\u00e8vent au-dessus ou devant les barres rouges trac\u00e9es lors de l&rsquo;\u00e9tape pr\u00e9c\u00e9dente.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/multHistR2.png\" alt=\"Histogram for two variables in R\" \/><figcaption>Histogram for two variables in R<\/figcaption><\/figure>\n<h3>4.3 Diagnostic des limitations de l&rsquo;approche \u00e9l\u00e9mentaire<\/h3>\n<p>L&rsquo;analyse critique du rendu visuel obtenu par cet encha\u00eenement rudimentaire met en exergue trois d\u00e9faillances m\u00e9thodologiques r\u00e9dhibitoires qui disqualifient imm\u00e9diatement cette figure pour un usage scientifique professionnel :<\/p>\n<ul>\n<li><strong>L&rsquo;occlusion optique totale :<\/strong> L&rsquo;utilisation d&rsquo;identifiants de couleurs opaques (comme les constantes textuelles <code>\"red\"<\/code> et <code>\"blue\"<\/code>) emp\u00eache toute lecture des surfaces masqu\u00e9es. Les parties de l&rsquo;histogramme rouge dissimul\u00e9es derri\u00e8re l&rsquo;histogramme bleu deviennent strictement invisibles, annulant la possibilit\u00e9 d&rsquo;appr\u00e9cier la forme r\u00e9elle de la premi\u00e8re distribution dans la zone de chevauchement.<\/li>\n<li><strong>La troncature d&rsquo;axes asym\u00e9trique :<\/strong> Les limites d&rsquo;axes horizontales (<code>xlim<\/code>) et verticales (<code>ylim<\/code>) ayant \u00e9t\u00e9 calibr\u00e9es exclusivement sur la base des donn\u00e9es du vecteur <code>groupe_exp<\/code>, toute valeur du vecteur <code>groupe_controle<\/code> qui d\u00e9borderait vers la droite ou qui s&rsquo;\u00e9l\u00e8verait \u00e0 une altitude sup\u00e9rieure \u00e0 la cr\u00eate maximale du premier groupe est impitoyablement amput\u00e9e du rendu visuel, sans qu&rsquo;aucun message d&rsquo;erreur explicite ne soit notifi\u00e9 dans la console R.<\/li>\n<li><strong>L&rsquo;incoh\u00e9rence des coupures d&rsquo;intervalles (bins) :<\/strong> R ayant ex\u00e9cut\u00e9 l&rsquo;algorithme de discr\u00e9tisation de Sturges de mani\u00e8re ind\u00e9pendante sur chaque cohorte, les points de d\u00e9marcation des colonnes ne sont pas align\u00e9s. Des barres de largeurs ou de phases d\u00e9cal\u00e9es s&rsquo;entrecroisent de mani\u00e8re chaotique, cr\u00e9ant des illusions d&rsquo;optique parasites.<\/li>\n<\/ul>\n<p>Ces imperfections d\u00e9montrent sans \u00e9quivoque que la simple juxtaposition s\u00e9quentielle via <code>add = TRUE<\/code> ne saurait constituer une solution m\u00e9thodologique p\u00e9renne sans l&rsquo;adjonction de param\u00e8tres de contr\u00f4le avanc\u00e9s.<\/p>\n<h2>5. Ma\u00eetrise de la transparence optique par la fonction rgb()<\/h2>\n<h3>5.1 Fondements chromatiques de l&rsquo;espace RVB et canal de transparence alpha<\/h3>\n<p>Pour r\u00e9soudre le d\u00e9fi de l&rsquo;occlusion spatiale, la physique de la couleur assist\u00e9e par ordinateur propose le recours \u00e0 la composition alpha (<em>alpha blending<\/em>). Dans l&rsquo;espace colorim\u00e9trique <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Rouge_vert_bleu\">Rouge-Vert-Bleu (RVB)<\/a>, une couleur per\u00e7ue sur un affichage num\u00e9rique est classiquement d\u00e9finie par un triplet vectoriel <span class=\"arabpsy-math-inline\" data-latex=\"[R, V, B]\">$[R, V, B]$<\/span> repr\u00e9sentant les intensit\u00e9s respectives des composantes spectrales primaires.<\/p>\n<p>Le canal alpha, formalis\u00e9 \u00e0 l&rsquo;origine par les chercheurs Edwin Catmull et Alvy Ray Smith au d\u00e9but des ann\u00e9es 1970, introduit une quatri\u00e8me dimension scalaire normalis\u00e9e <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha in [0, 1]\">$\\alpha in [0, 1]$<\/span>, quantifiant le coefficient d&rsquo;opacit\u00e9 de la surface peinte. Une valeur <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 1\">$\\alpha = 1$<\/span> d\u00e9signe un mat\u00e9riau parfaitement opaque qui r\u00e9fl\u00e9chit ou absorbe toute radiation sans rien laisser filtrer de la couche inf\u00e9rieure, tandis qu&rsquo;une valeur <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 0\">$\\alpha = 0$<\/span> conf\u00e8re \u00e0 la mati\u00e8re une translucidit\u00e9 int\u00e9grale, la rendant optiquement imperceptible.<\/p>\n<p>Dans l&rsquo;environnement R, les cha\u00eenes de caract\u00e8res nomm\u00e9es classiques (\u00e0 l&rsquo;instar de <code>\"red\"<\/code>, <code>\"darkgreen\"<\/code> ou <code>\"lightblue\"<\/code>) renvoient vers une palette pr\u00e9\u00e9tablie d\u00e9pourvue de flexibilit\u00e9 sur le param\u00e8tre alpha. La primitive native <code>rgb()<\/code> contourne cette limitation structurelle en autorisant la manipulation programmatique directe des quatre canaux. Sa signature math\u00e9matique s&rsquo;\u00e9nonce selon :<\/p>\n<p><code>rgb(red, green, blue, alpha, maxColorValue = 1)<\/code><\/p>\n<p>o\u00f9 les quatre premiers arguments scalaires acceptent des valeurs num\u00e9riques continues \u00e9chelonn\u00e9es de $0$ \u00e0 $1$ (lorsque le diviseur maximal est cal\u00e9 sur l&rsquo;unit\u00e9).<\/p>\n<h3>5.2 Impl\u00e9mentation d&rsquo;une translucidit\u00e9 \u00e9quilibr\u00e9e (alpha = 0.2 \u00e0 0.5)<\/h3>\n<p>Le param\u00e9trage du degr\u00e9 de translucidit\u00e9 ne rel\u00e8ve pas d&rsquo;une simple fantaisie esth\u00e9tique, mais proc\u00e8de d&rsquo;un calibrage psychophysique rigoureux. Si le canal alpha est configur\u00e9 \u00e0 un niveau excessivement faible (par exemple <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha &lt; 0.10\">$\\alpha &lt; 0.10$<\/span>), les barres de fr\u00e9quence deviennent quasi spectrales, se fondant dans la couleur de fond du canevas et rendant difficile la discrimination de la silhouette globale de l&rsquo;histogramme. Inversement, un coefficient alpha trop \u00e9lev\u00e9 (<span class=\"arabpsy-math-inline\" data-latex=\"\\alpha &gt; 0.60\">$\\alpha &gt; 0.60$<\/span>) r\u00e9introduit l&rsquo;\u00e9cueil de l&rsquo;occlusion partielle, saturant les canaux r\u00e9cepteurs de l&rsquo;observateur.<\/p>\n<p>Dans la pratique acad\u00e9mique, la plage optimale de lisibilit\u00e9 s&rsquo;\u00e9tablit entre <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 0.20\">$\\alpha = 0.20$<\/span> et <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 0.50\">$\\alpha = 0.50$<\/span>, avec un point d&rsquo;\u00e9quilibre particuli\u00e8rement fonctionnel cal\u00e9 \u00e0 $0.30$. Ce niveau assure une transmission lumineuse de 70 % \u00e0 travers chaque couche graphique, autorisant une vision sans distorsion des plans arri\u00e8re-plans.<\/p>\n<p>Nous proc\u00e9dons ainsi \u00e0 l&rsquo;instanciation de deux variables chromatiques expertes au sein de l&rsquo;environnement R :<\/p>\n<ul>\n<li>Couleur exp\u00e9rimentale translucide (teinte rouge chaude) :<br \/><code>coul_exp &lt;- rgb(red = 1, green = 0, blue = 0, alpha = 0.3)<\/code><\/li>\n<li>Couleur contr\u00f4le translucide (teinte bleue froide) :<br \/><code>coul_ctrl &lt;- rgb(red = 0, green = 0, blue = 1, alpha = 0.3)<\/code><\/li>\n<\/ul>\n<p>L&rsquo;injection directe de ces descripteurs vectoriels au sein de l&rsquo;argument <code>col<\/code> des appels successifs de la fonction <code>hist()<\/code> transforme radicalement le comportement de rendu du moteur graphique : les barres trac\u00e9es en second plan ne d\u00e9truisent plus les pixels du premier plan, mais s&rsquo;agr\u00e8gent avec eux par fusion optique soustractive.<\/p>\n<h3>5.3 Analyse chromatique de la zone d&rsquo;intersection g\u00e9om\u00e9trique<\/h3>\n<p>L&rsquo;interaction physique de deux couches transparentes ob\u00e9it \u00e0 la loi classique de l&rsquo;interpolation lin\u00e9aire de composition alpha (op\u00e9ration <em>over<\/em>). Lorsqu&rsquo;une barre bleue translucide (<span class=\"arabpsy-math-inline\" data-latex=\"\\alpha_2 = 0.3\">$\\alpha_2 = 0.3$<\/span>) recouvre une barre rouge translucide (<span class=\"arabpsy-math-inline\" data-latex=\"\\alpha_1 = 0.3\">$\\alpha_1 = 0.3$<\/span>) pos\u00e9e sur un arri\u00e8re-plan blanc neutre, le moteur de tramage graphique de R calcule une couleur synth\u00e9tique r\u00e9sultante au prorata des coefficients de transmission de chaque couche.<\/p>\n<p>Sur le plan perceptif, ce m\u00e9tissage spectral donne naissance \u00e0 une troisi\u00e8me couleur distincte : une nuance pourpre ou violac\u00e9e hautement identifiable. L&rsquo;\u00e9mergence optique de cette teinte pourpre d\u00e9limite instantan\u00e9ment pour le lecteur la surface exacte de cohabitation g\u00e9om\u00e9trique des deux distributions. L&rsquo;observateur visualise ainsi simultan\u00e9ment trois entit\u00e9s territoriales distinctes :<\/p>\n<ul>\n<li>La zone rouge unilat\u00e9rale : portion de l&rsquo;espace empirique occup\u00e9e exclusivement par la cohorte exp\u00e9rimentale (faibles scores de latence ou d&rsquo;anxi\u00e9t\u00e9) ;<\/li>\n<li>La zone bleue unilat\u00e9rale : domaine morphologique sous l&rsquo;apanage strict de la cohorte t\u00e9moin (scores \u00e9lev\u00e9s) ;<\/li>\n<li>La zone violette centrale : espace d&rsquo;intersection probabiliste partag\u00e9, traduisant le recouvrement direct des observations empiriques des deux populations.<\/li>\n<\/ul>\n<p>Sur le plan de l&rsquo;inclusivit\u00e9 scientifique et de l&rsquo;ergonomie visuelle, le choix d&rsquo;un couple rouge-bleu requiert une attention particuli\u00e8re. Pour les \u00e9valuateurs ou lecteurs atteints de dyschromatopsies cong\u00e9nitales (particuli\u00e8rement de deut\u00e9ranopie ou de protanopie, affectant jusqu&rsquo;\u00e0 8 % de la population masculine), le contraste rouge-vert doit \u00eatre imp\u00e9rativement proscrit. Le bin\u00f4me chromatique rouge\/bleu ou vermillon\/bleu de cobalt garantit une excellente pr\u00e9servation de l&rsquo;accessibilit\u00e9 visuelle, car le canal bleu est pr\u00e9serv\u00e9 chez l&rsquo;immense majorit\u00e9 des sujets daltoniens.<\/p>\n<h2>6. Harmonisation rigoureuse des \u00e9chelles g\u00e9om\u00e9triques (xlim et ylim)<\/h2>\n<h3>6.1 Le pi\u00e8ge de la troncature des limites d&rsquo;axes lors du second trac\u00e9<\/h3>\n<p>Le moteur graphique sous-jacent de <code>base R<\/code> fonctionne selon un principe de rigidit\u00e9 spatiale apr\u00e8s l&rsquo;ex\u00e9cution de la premi\u00e8re commande de haut niveau. D\u00e8s que le premier histogramme a achev\u00e9 sa routine d&rsquo;affichage, le syst\u00e8me verrouille d\u00e9finitivement la matrice de transformation affinitaire qui convertit les coordonn\u00e9es du monde utilisateur (les unit\u00e9s r\u00e9elles des scores continus et des fr\u00e9quences) en coordonn\u00e9es d&rsquo;affichage physiques du p\u00e9riph\u00e9rique (les pixels ou points typographiques).<\/p>\n<p>Si la seconde variable inject\u00e9e via l&rsquo;argument <code>add = TRUE<\/code> poss\u00e8de des caract\u00e9ristiques de distribution plus larges &mdash; par exemple des valeurs s&rsquo;\u00e9tirant jusqu&rsquo;\u00e0 $0.95$ alors que la premi\u00e8re variable plafonnait \u00e0 $0.70$ &mdash;, les barres correspondantes sont purement et simplement amput\u00e9es par le cadre graphique. Le syst\u00e8me ne redimensionne jamais r\u00e9troactivement l&rsquo;axe horizontal. De m\u00eame, si le mode du second \u00e9chantillon culmine \u00e0 un effectif de $250$ individus par classe alors que le premier appel avait configur\u00e9 un plafond vertical <span class=\"arabpsy-math-inline\" data-latex=\"y_{\\max}\">$y_{\\max}$<\/span> \u00e0 $180$, les barres sup\u00e9rieures du second groupe seront d\u00e9capit\u00e9es \u00e0 la fronti\u00e8re physique sup\u00e9rieure du graphique.<\/p>\n<p>Cette mutilation g\u00e9om\u00e9trique, souvent discr\u00e8te si l&rsquo;on ne scrute pas avec rigueur les donn\u00e9es matricielles brutes, conduit l&rsquo;analyste \u00e0 des conclusions empiriques erron\u00e9es en faussant son appr\u00e9ciation de la variance et de la kurtosis du second groupe. Il est donc m\u00e9thodologiquement imp\u00e9ratif de pr\u00e9-calculer explicitement les dimensions maximales n\u00e9cessaires pour englober la totalit\u00e9 des deux jeux de donn\u00e9es avant d&rsquo;\u00e9mettre le moindre appel graphique.<\/p>\n<h3>6.2 Calcul dynamique et param\u00e9trage explicite de l&rsquo;argument xlim<\/h3>\n<p>Pour assurer une int\u00e9gration horizontale sans faille, le chercheur doit calculer de fa\u00e7on algorithmique les bornes extr\u00eames absolues r\u00e9unissant les deux cohortes. Le langage R propose la fonction native <code>range()<\/code>, laquelle extrait le minimum et le maximum stricts au sein d&rsquo;un vecteur ou d&rsquo;une concat\u00e9nation de structures.<\/p>\n<p>Le calcul s&rsquo;orchestre dynamiquement selon l&rsquo;instruction suivante :<\/p>\n<p><code>limites_x &lt;- range(c(groupe_exp, groupe_controle))<\/code><\/p>\n<p>Cette commande fusionne virtuellement les deux s\u00e9ries en un ensemble unifi\u00e9 de $2000$ points et en isole les deux extr\u00eames. Dans un contexte psychom\u00e9trique o\u00f9 les m\u00e9triques s&rsquo;ancrent sur des \u00e9chelles fixes et th\u00e9oriquement born\u00e9es par construction &mdash; comme un score standardis\u00e9 calibr\u00e9 sur <span class=\"arabpsy-math-inline\" data-latex=\"[0 ; 1]\">$[0 ; 1]$<\/span> &mdash;, il est encore plus rigoureux de neutraliser la d\u00e9pendance aux al\u00e9as d&rsquo;\u00e9chantillonnage en fixant explicitement les limites aux fronti\u00e8res du construit th\u00e9orique :<\/p>\n<p><code>limites_x &lt;- c(0, 1)<\/code><\/p>\n<p>Le vecteur \u00e0 deux \u00e9l\u00e9ments r\u00e9sultant doit ensuite \u00eatre syst\u00e9matiquement pass\u00e9 en param\u00e8tre \u00e0 l&rsquo;argument <code>xlim<\/code> lors de l&rsquo;appel du premier histogramme :<\/p>\n<p><code>hist(groupe_exp, xlim = limites_x, ...)<\/code><\/p>\n<p>En inscrivant cette contrainte dimensionnelle d\u00e8s l&rsquo;amorce du trac\u00e9, l&rsquo;espace horizontal initialis\u00e9 sera dimensionn\u00e9 pour accueillir sans troncature l&rsquo;int\u00e9gralit\u00e9 de la seconde distribution, garantissant l&rsquo;int\u00e9grit\u00e9 de la g\u00e9om\u00e9trie comparative.<\/p>\n<h3>6.3 Normalisation verticale et param\u00e9trage explicite de l&rsquo;argument ylim<\/h3>\n<p>La neutralisation du risque de d\u00e9capitation verticale des barres de fr\u00e9quence rel\u00e8ve d&rsquo;une logique algorithmique similaire, mais requiert une \u00e9tape interm\u00e9diaire de simulation computationnelle. \u00c9tant donn\u00e9 que les hauteurs de cr\u00eates d\u00e9pendent directement du d\u00e9coupage en classes qui sera appliqu\u00e9, il est impossible de d\u00e9duire le maximum de l&rsquo;axe des ordonn\u00e9es par une simple analyse des extrema des donn\u00e9es brutes.<\/p>\n<p>La strat\u00e9gie optimale consiste \u00e0 exploiter une fonctionnalit\u00e9 m\u00e9connue mais extr\u00eamement puissante de la fonction <code>hist()<\/code> : l&rsquo;argument <code>plot = FALSE<\/code>. Cet argument ordonne \u00e0 la routine de calcul d&rsquo;ex\u00e9cuter l&rsquo;int\u00e9gralit\u00e9 de la discr\u00e9tisation et de la comptabilisation des fr\u00e9quences sans projeter le moindre \u00e9l\u00e9ment sur l&rsquo;\u00e9cran, en retournant une structure d&rsquo;objet complexe de classe formelle <code>histogram<\/code>.<\/p>\n<p>Le protocole algorithmique s&rsquo;articule comme suit :<\/p>\n<ul>\n<li>Calcul hors-\u00e9cran du premier profil :<br \/><code>h1 &lt;- hist(groupe_exp, breaks = coupures_communes, plot = FALSE)<\/code><\/li>\n<li>Calcul hors-\u00e9cran du second profil :<br \/><code>h2 &lt;- hist(groupe_controle, breaks = coupures_communes, plot = FALSE)<\/code><\/li>\n<li>Extraction conjointe du pic d&rsquo;effectif ou de densit\u00e9 maximal :<br \/><code>max_y &lt;- max(c(h1<span class=\"arabpsy-math-inline\" data-latex=\"counts, h2\">$counts, h2$<\/span>counts))<\/code> (ou <code>max(c(h1<span class=\"arabpsy-math-inline\" data-latex=\"density, h2\">$density, h2$<\/span>density))<\/code> si le trac\u00e9 utilise les densit\u00e9s)<\/li>\n<li>Calcul d&rsquo;une marge de s\u00e9curit\u00e9 verticale (majoration de 15 \u00e0 20 % pour d\u00e9gager l&rsquo;espace n\u00e9cessaire \u00e0 l&rsquo;implantation ult\u00e9rieure de la bo\u00eete de l\u00e9gende) :<br \/><code>limites_y &lt;- c(0, max_y * 1.20)<\/code><\/li>\n<\/ul>\n<p>En assignant formellement ce vecteur <code>limites_y<\/code> \u00e0 l&rsquo;argument <code>ylim<\/code> du premier histogramme trac\u00e9, la totalit\u00e9 de la hauteur cart\u00e9sienne est verrouill\u00e9e \u00e0 une altitude suffisante pour pr\u00e9venir tout \u00e9cr\u00eatage du second histogramme superpos\u00e9.<\/p>\n<h3>6.4 Synchronisation des largeurs de classes par le param\u00e8tre breaks<\/h3>\n<p>Le dernier \u00e9cueil g\u00e9om\u00e9trique majeur &mdash; et le plus insidieux sur le plan statistique &mdash; concerne la discordance des coupures de discr\u00e9tisation. Si l&rsquo;on omet de sp\u00e9cifier manuellement les bornes de classes, R appliquera ind\u00e9pendamment l&rsquo;algorithme de partition sur chaque groupe, ce qui g\u00e9n\u00e9rera fatalement des classes d&rsquo;\u00e9tendues ou de d\u00e9calages asynchrones.<\/p>\n<p>Pour \u00e9liminer toute aberration visuelle, l&rsquo;analyste doit construire une grille de d\u00e9coupage unique et partag\u00e9e, qui s&rsquo;\u00e9tend sur la totalit\u00e9 du domaine couvert par les deux distributions. Cette grille est synth\u00e9tis\u00e9e \u00e0 l&rsquo;aide de la fonction g\u00e9n\u00e9ratrice de s\u00e9quences r\u00e9guli\u00e8res <code>seq()<\/code> :<\/p>\n<p><code>coupures_communes &lt;- seq(from = limites_x[1], to = limites_x[2], by = 0.025)<\/code><\/p>\n<p>Cette commande engendre un vecteur ordonn\u00e9 d&rsquo;intervalles constants de largeur <span class=\"arabpsy-math-inline\" data-latex=\"h = 0.025\">$h = 0.025$<\/span> couvrant uniform\u00e9ment le continuum d&rsquo;\u00e9valuation de $0$ \u00e0 $1$. Ce vecteur unifi\u00e9 doit ensuite \u00eatre inject\u00e9 imp\u00e9rativement dans l&rsquo;argument <code>breaks<\/code> de l&rsquo;ensemble des appels graphiques successifs :<\/p>\n<ul>\n<li><code>hist(groupe_exp, breaks = coupures_communes, ...)<\/code><\/li>\n<li><code>hist(groupe_controle, breaks = coupures_communes, add = TRUE, ...)<\/code><\/li>\n<\/ul>\n<p>Cette synchronisation algorithmique assure que chaque colonne de la distribution exp\u00e9rimentale s&rsquo;aligne au millim\u00e8tre pr\u00e8s sur la colonne correspondante de la distribution de contr\u00f4le. Les rectangles fusionnent alors selon une g\u00e9om\u00e9trie cart\u00e9sienne irr\u00e9prochable, supprimant tout d\u00e9phasage visuel artificiel et autorisant une lecture directe des variations morphologiques.<\/p>\n<h2>7. Typographie acad\u00e9mique, titrage et \u00e9tiquetage standardis\u00e9<\/h2>\n<h3>7.1 R\u00e9daction scientifique des \u00e9tiquettes d&rsquo;axes (xlab et ylab)<\/h3>\n<p>Dans la communication scientifique de haut niveau, le formalisme et la rigueur typographique des \u00e9tiquettes p\u00e9riph\u00e9riques constituent le reflet direct de la pr\u00e9cision m\u00e9thodologique globale de l&rsquo;\u00e9tude. Par d\u00e9faut, le moteur graphique de R g\u00e9n\u00e8re des libell\u00e9s m\u00e9caniques automatis\u00e9s qui reprennent textuellement les noms des objets informatiques pass\u00e9s en argument (par exemple <code>groupe_exp<\/code> pour l&rsquo;abscisse et <code>Frequency<\/code> pour l&rsquo;ordonn\u00e9e). Ces d\u00e9nominations brutes doivent imp\u00e9rativement \u00eatre proscrites lors de la pr\u00e9paration d&rsquo;un manuscrit scientifique.<\/p>\n<p>L&rsquo;axe des abscisses (argument <code>xlab<\/code>) doit expliciter la nature s\u00e9mantique exacte du construit mesur\u00e9, en mentionnant syst\u00e9matiquement entre parenth\u00e8ses ou entre crochets l&rsquo;unit\u00e9 physique ou psychom\u00e9trique retenue :<\/p>\n<p><code>xlab = \"Score de latence sensorielle standardis\u00e9 (en secondes)\"<\/code><\/p>\n<p>Concernant l&rsquo;axe des ordonn\u00e9es (argument <code>ylab<\/code>), une pr\u00e9cision formelle absolue est requise quant \u00e0 la m\u00e9trique repr\u00e9sent\u00e9e. S&rsquo;il s&rsquo;agit d&rsquo;un comptage discret, le terme \u00ab Fr\u00e9quence absolue \u00bb ou \u00ab Effectif observ\u00e9 \u00bb s&rsquo;impose. Si l&rsquo;histogramme a fait l&rsquo;objet d&rsquo;une normalisation unitaire (via <code>freq = FALSE<\/code>), le terme \u00ab Densit\u00e9 de probabilit\u00e9 empirique \u00bb doit \u00eatre substitu\u00e9 sans \u00e9quivoque, afin de pr\u00e9venir tout contresens interpr\u00e9tatif de la part des relecteurs.<\/p>\n<p>La lisibilit\u00e9 textuelle peut \u00eatre modul\u00e9e \u00e0 l&rsquo;aide des param\u00e8tres de contr\u00f4le micro-typographique natifs de R :<\/p>\n<ul>\n<li><code>cex.lab = 1.15<\/code> : majore de 15 % la taille des \u00e9tiquettes d&rsquo;axes par rapport \u00e0 l&rsquo;\u00e9chelle nominale ;<\/li>\n<li><code>font.lab = 2<\/code> : impose une typographie en caract\u00e8res gras pour maximiser le contraste visuel ;<\/li>\n<li><code>cex.axis = 0.95<\/code> : calibre discr\u00e8tement l&rsquo;\u00e9chelle de corps des graduations chiffr\u00e9es des axes.<\/li>\n<\/ul>\n<h3>7.2 Structuration du titre principal et du sous-titre m\u00e9thodologique<\/h3>\n<p>La politique \u00e9ditoriale des revues affili\u00e9es \u00e0 l&rsquo;<a rel=\"noopener noreferrer\" href=\"https:\/\/www.apa.org\/\">American Psychological Association (APA)<\/a> ou \u00e0 l&rsquo;IEEE impose des conventions pr\u00e9cises quant \u00e0 l&rsquo;agencement des titres de figures. Selon les normes internationales en vigueur (style APA 7\u00e8me \u00e9dition), les figures destin\u00e9es \u00e0 la publication formelle ne doivent g\u00e9n\u00e9ralement pas arborer un bandeau de titre massif centr\u00e9 \u00e0 l&rsquo;int\u00e9rieur du cadre graphique. Le contenu informationnel est traditionnellement d\u00e9port\u00e9 \u00e0 l&rsquo;ext\u00e9rieur de la planche, au sein d&rsquo;une l\u00e9gende textuelle sous-jacente formalis\u00e9e (num\u00e9rot\u00e9e sous la forme <em>Figure 1. Titre de la figure&#8230;<\/em>).<\/p>\n<p>Toutefois, dans le cadre de communications orales lors de congr\u00e8s scientifiques, de supports de s\u00e9minaires ou de rapports techniques d&rsquo;\u00e9tape, la pr\u00e9sence d&rsquo;un titre principal int\u00e9gr\u00e9 (argument <code>main<\/code>) et d&rsquo;un sous-titre contextuel (argument <code>sub<\/code>) est recommand\u00e9e pour permettre une auto-suffisance documentaire du graphique. La formulation du titre principal doit condenser la nature synth\u00e9tique de la comparaison sans verbosit\u00e9 inutile :<\/p>\n<p><code>main = \"Comparaison distributionnelle des latences attentionnelles\"<\/code><\/p>\n<p>L&rsquo;argument <code>sub<\/code> peut \u00eatre astucieusement exploit\u00e9 pour documenter les caract\u00e9ristiques d&rsquo;\u00e9chantillonnage de bas niveau sans alourdir le corps du texte principal :<\/p>\n<p><code>sub = \"Taille d'\u00e9chantillon totale N = 2000 (n_1 = 1000, n_2 = 1000) ; pas d'\u00e9chantillonnage h = 0.025\"<\/code><\/p>\n<p>Il est \u00e9galement possible d&rsquo;ajuster l&rsquo;alignement typographique horizontal du titre via le param\u00e8tre <code>adj<\/code> : une valeur <code>adj = 0<\/code> ancre \u00e9l\u00e9gamment le texte \u00e0 l&rsquo;extr\u00e9mit\u00e9 gauche du cadre cart\u00e9sien, conform\u00e9ment aux tendances esth\u00e9tiques de la visualisation de donn\u00e9es moderne.<\/p>\n<h3>7.3 Esth\u00e9tique g\u00e9n\u00e9rale des axes et des marges graphiques<\/h3>\n<p>L&rsquo;apparence globale du graphique peut \u00eatre raffin\u00e9e pour satisfaire aux canons contemporains du design d&rsquo;information statistique. Par d\u00e9faut, le moteur graphique de base de R imprime les valeurs num\u00e9riques des graduations de l&rsquo;axe vertical parall\u00e8lement \u00e0 la ligne de l&rsquo;axe, contraignant le lecteur \u00e0 incliner la t\u00eate \u00e0 90 degr\u00e9s pour d\u00e9chiffrer les chiffres de l&rsquo;axe des ordonn\u00e9es. L&rsquo;activation du param\u00e8tre graphique universel <code>las = 1<\/code> (inclus au sein de la fonction globale <code>par()<\/code> ou pass\u00e9 directement dans <code>hist()<\/code>) aligne horizontalement l&rsquo;ensemble des graduations num\u00e9riques num\u00e9riques des deux axes, abolissant cette gymnastique posturale.<\/p>\n<p>De plus, l&rsquo;encadrement rectangulaire standard (l&rsquo;enclos p\u00e9riph\u00e9rique noir complet) enferme visuellement les distributions de mani\u00e8re souvent superflue. L&rsquo;application de l&rsquo;argument <code>bty = \"l\"<\/code> (pour <em>box type: L-shape<\/em>) \u00e9pure le canevas en ne conservant que l&rsquo;axe des abscisses et l&rsquo;axe des ordonn\u00e9es, mat\u00e9rialisant un angle droit parfait qui all\u00e8ge consid\u00e9rablement la charge cognitive du trac\u00e9.<\/p>\n<p>Enfin, le calibrage g\u00e9om\u00e9trique des marges p\u00e9riph\u00e9riques de la fen\u00eatre de rendu s&rsquo;ajuste rigoureusement en amont au moyen de la commande <code>par(mar = c(5, 5, 4, 2) + 0.1)<\/code>. Ce vecteur \u00e0 quatre dimensions alloue un espace suffisant pour les \u00e9tiquettes en bas (marge 1) et \u00e0 gauche (marge 2), tout en resserrant les espacements superflus en haut (marge 3) et \u00e0 droite (marge 4), optimisant ainsi la surface utile d\u00e9di\u00e9e \u00e0 la projection des rectangles empiriques.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/multHistR3.png\" alt=\"Histogram of two variables in R example\" \/><figcaption>Histogram of two variables in R example<\/figcaption><\/figure>\n<h2>8. Conception et positionnement de la l\u00e9gende explicative<\/h2>\n<h3>8.1 Syntaxe fondamentale de la fonction legend()<\/h3>\n<p>La projection simultan\u00e9e de multiples s\u00e9ries continues sur un m\u00eame canevas perd l&rsquo;int\u00e9gralit\u00e9 de sa valeur p\u00e9dagogique et m\u00e9thodologique en l&rsquo;absence d&rsquo;un ancrage s\u00e9mantique univoque. La fonction native <code>legend()<\/code> constitue l&rsquo;outil d\u00e9di\u00e9 au d\u00e9ploiement de bo\u00eetes explicatives vectorielles au sein de l&rsquo;environnement graphique de base de R. Contrairement aux syst\u00e8mes d\u00e9claratifs automatis\u00e9s, la programmation proc\u00e9durale de <code>legend()<\/code> exige une instanciation explicite apr\u00e8s la finalisation des couches distributionnelles.<\/p>\n<p>Le positionnement spatial de la l\u00e9gende peut s&rsquo;effectuer au moyen de coordonn\u00e9es cart\u00e9siennes absolues <span class=\"arabpsy-math-inline\" data-latex=\"(x, y)\">$(x, y)$<\/span> ou, de mani\u00e8re beaucoup plus r\u00e9siliente et adaptative, par l&rsquo;interm\u00e9diaire de mots-cl\u00e9s d&rsquo;ancrage topologique pr\u00e9configur\u00e9s tels que <code>\"topright\"<\/code> (coin sup\u00e9rieur droit), <code>\"topleft\"<\/code> (coin sup\u00e9rieur gauche) ou <code>\"top\"<\/code> (centre sup\u00e9rieur). Pour notre exemple comparatif o\u00f9 la distribution exp\u00e9rimentale se concentre \u00e0 gauche et la distribution de contr\u00f4le \u00e0 droite, l&rsquo;ancrage sup\u00e9rieur central ou sup\u00e9rieur gauche s&rsquo;impose pour \u00e9viter toute interf\u00e9rence physique avec les sommets des rectangles.<\/p>\n<p>L&rsquo;appel fondamental s&rsquo;articule comme suit :<\/p>\n<p><code>legend(\"topright\", legend = c(\"Condition Exp\u00e9rimentale\", \"Condition Contr\u00f4le\"), fill = c(coul_exp, coul_ctrl), bty = \"o\", cex = 0.9)<\/code><\/p>\n<p>Le param\u00e8tre vectoriel <code>legend<\/code> associe textuellement chaque label \u00e0 son identit\u00e9 clinique ou exp\u00e9rimentale formelle. L&rsquo;argument crucial <code>fill<\/code> re\u00e7oit le vecteur des couleurs de remplissage. Une vigilance technique absolue s&rsquo;impose ici : il est indispensable de passer \u00e0 <code>fill<\/code> les descripteurs int\u00e9grant exactement la m\u00eame formulation de transparence calcul\u00e9e via <code>rgb()<\/code> que celle utilis\u00e9e dans les appels <code>hist()<\/code>. L&rsquo;utilisation par m\u00e9garde de teintes opaques dans la bo\u00eete de l\u00e9gende induirait une discordance chromatique flagrante entre la l\u00e9gende et les barres trac\u00e9es \u00e0 l&rsquo;\u00e9cran.<\/p>\n<h3>8.2 Repr\u00e9sentation de la zone de recouvrement au sein de la l\u00e9gende<\/h3>\n<p>Bien que la codification bipartite classique (rouge versus bleu) suffise pour des lecteurs familiers de l&rsquo;analyse visuelle, la rigueur s\u00e9miotique incite \u00e0 expliciter formellement la signification de la troisi\u00e8me teinte hybride r\u00e9sultant de la synth\u00e8se soustractive dans la zone de chevauchement. De nombreux \u00e9valuateurs scientifiques non form\u00e9s \u00e0 la lecture des histogrammes \u00e0 canaux alpha peuvent s&rsquo;interroger sur l&rsquo;identit\u00e9 de cette composante violac\u00e9e.<\/p>\n<p>Une solution \u00e9l\u00e9gante consiste \u00e0 int\u00e9grer une troisi\u00e8me entr\u00e9e explicative au sein de la l\u00e9gende. Le d\u00e9fi r\u00e9side alors dans la d\u00e9termination computationnelle de la nuance r\u00e9sultante exacte. Sous un arri\u00e8re-plan blanc standard (<span class=\"arabpsy-math-inline\" data-latex=\"\\text{RGB} = [1, 1, 1]\">$\\text{RGB} = [1, 1, 1]$<\/span>), la combinaison s\u00e9quentielle de deux couches translucides d&rsquo;opacit\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha_1 = 0.3\">$\\alpha_1 = 0.3$<\/span> et <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha_2 = 0.3\">$\\alpha_2 = 0.3$<\/span> peut \u00eatre mod\u00e9lis\u00e9e math\u00e9matiquement pour calculer la r\u00e9flectance spectrale finale.<\/p>\n<p>Dans un script d&rsquo;affichage avanc\u00e9, cette nuance mixte peut \u00eatre simul\u00e9e par superposition ou approch\u00e9e par un vecteur chromatique interm\u00e9diaire d\u00e9di\u00e9 :<\/p>\n<p><code>coul_inter &lt;- rgb(red = 0.5, green = 0, blue = 0.5, alpha = 0.5)<\/code><\/p>\n<p>La signature de la l\u00e9gende s&rsquo;\u00e9largit alors de la fa\u00e7on suivante :<\/p>\n<ul>\n<li>\u00c9tiquettes : <code>legend = c(\"Condition Exp\u00e9rimentale\", \"Condition Contr\u00f4le\", \"Zone de chevauchement\")<\/code><\/li>\n<li>Couleurs de remplissage : <code>fill = c(coul_exp, coul_ctrl, coul_inter)<\/code><\/li>\n<\/ul>\n<p>Cette exhaustivit\u00e9 graphique \u00e9limine toute ambigu\u00eft\u00e9 s\u00e9miologique et renforce la clart\u00e9 p\u00e9dagogique du document soumis \u00e0 l&rsquo;\u00e9valuation par les pairs.<\/p>\n<h3>8.3 Optimisation g\u00e9om\u00e9trique et pr\u00e9vention des chevauchements d&rsquo;\u00e9l\u00e9ments<\/h3>\n<p>L&rsquo;un des \u00e9cueils majeurs lors de l&rsquo;int\u00e9gration d&rsquo;une bo\u00eete de l\u00e9gende concerne le masquage physique accidentel des donn\u00e9es empiriques. Si la bo\u00eete de l\u00e9gende est disproportionn\u00e9e ou positionn\u00e9e de mani\u00e8re impr\u00e9voyante, ses contours opaques peuvent recouvrir les cr\u00eates sup\u00e9rieures de l&rsquo;histogramme, an\u00e9antissant pr\u00e9cis\u00e9ment l&rsquo;effort de transparence d\u00e9ploy\u00e9 sur les barres de fr\u00e9quence.<\/p>\n<p>Pour pr\u00e9venir cette nuisance spatiale, plusieurs param\u00e8tres de r\u00e9glage fin doivent \u00eatre m\u00e9ticuleusement articul\u00e9s :<\/p>\n<ul>\n<li><strong>Le facteur d&rsquo;\u00e9chelle textuelle (<code>cex<\/code>) :<\/strong> L&rsquo;assignation d&rsquo;une valeur comprise entre <code>cex = 0.80<\/code> et <code>cex = 0.90<\/code> r\u00e9duit proportionnellement la taille de la bo\u00eete et des caract\u00e8res sans nuire \u00e0 l&rsquo;intelligibilit\u00e9 de la typographie.<\/li>\n<li><strong>La neutralisation du cadre de bordure (<code>bty<\/code>) :<\/strong> L&rsquo;instruction <code>bty = \"n\"<\/code> supprime totalement le rectangle d&rsquo;encadrement p\u00e9riph\u00e9rique et le fond opaque de la bo\u00eete de l\u00e9gende. Les \u00e9tiquettes et les carr\u00e9s color\u00e9s flottent alors harmonieusement dans l&rsquo;espace vierge du canevas, ce qui all\u00e8ge consid\u00e9rablement la composition graphique.<\/li>\n<li><strong>L&rsquo;ajustement pr\u00e9ventif de l&rsquo;axe vertical (<code>ylim<\/code>) :<\/strong> Comme expos\u00e9 \u00e0 la section 6.3, l&rsquo;incorporation d&rsquo;une r\u00e9serve altim\u00e9trique de 20 % au sommet de l&rsquo;axe <span class=\"arabpsy-math-inline\" data-latex=\"y\">$y$<\/span> est la technique la plus p\u00e9renne pour lib\u00e9rer un sanctuaire g\u00e9om\u00e9trique st\u00e9rile au sein duquel la bo\u00eete de l\u00e9gende peut s&rsquo;\u00e9panouir sans jamais heurter la moindre barre distributionnelle.<\/li>\n<\/ul>\n<h2>9. Histogrammes en densit\u00e9 de probabilit\u00e9 et int\u00e9gration de courbes de lissage<\/h2>\n<h3>9.1 Bascule vers les fr\u00e9quences relatives via l&rsquo;argument freq=FALSE<\/h3>\n<p>Lorsque le dispositif exp\u00e9rimental compare deux cohortes caract\u00e9ris\u00e9es par des volum\u00e9tries d&rsquo;\u00e9chantillonnage divergentes &mdash; cas omnipr\u00e9sent en psychopathologie compar\u00e9e o\u00f9 le groupe clinique est structurellement plus restreint que le groupe t\u00e9moin &mdash;, la projection des effectifs absolus fausse la comparaison optique. La bascule vers une mesure de fr\u00e9quence relative continue devient une n\u00e9cessit\u00e9 math\u00e9matique absolue.<\/p>\n<p>Au sein de la fonction <code>hist()<\/code>, ce basculement est orchestr\u00e9 par l&rsquo;activation du param\u00e8tre logique <code>freq = FALSE<\/code> (ou son \u00e9quivalent formel <code>prob = TRUE<\/code>). Sous ce mode op\u00e9ratoire, le moteur de calcul r\u00e9vise la formule d&rsquo;affectation verticale : au lieu d&rsquo;imprimer la valeur brute de comptage <span class=\"arabpsy-math-inline\" data-latex=\"n_j\">$n_j$<\/span>, il divise cette grandeur par l&rsquo;effectif total <span class=\"arabpsy-math-inline\" data-latex=\"N\">$N$<\/span> du groupe et par la largeur d&rsquo;intervalle <span class=\"arabpsy-math-inline\" data-latex=\"h_j\">$h_j$<\/span>.<\/p>\n<p>La cons\u00e9quence math\u00e9matique imm\u00e9diate est l&rsquo;ajustement de l&rsquo;axe des ordonn\u00e9es sur une \u00e9chelle de densit\u00e9 de probabilit\u00e9 continue. Il est imp\u00e9ratif de souligner aupr\u00e8s des analystes que les valeurs inscrites le long de l&rsquo;axe vertical peuvent d\u00e8s lors d\u00e9passer la valeur $1.0$ sans violer les axiomes de Kolmogorov de la th\u00e9orie des probabilit\u00e9s. La densit\u00e9 n&rsquo;est pas une probabilit\u00e9 ponctuelle, mais un taux de probabilit\u00e9 par unit\u00e9 d&rsquo;abscisse ; seule l&rsquo;aire sous-jacente &mdash; r\u00e9sultant de la multiplication de la hauteur par la largeur de classe &mdash; est born\u00e9e par l&rsquo;unit\u00e9.<\/p>\n<p>Lors de cette bascule en mode densit\u00e9, le recalcul des limites verticales via la fonction <code>hist(..., plot = FALSE)<\/code> doit imp\u00e9rativement extraire le vecteur d&rsquo;attributs <code>$density<\/code> et non plus <code>$counts<\/code>, sous peine de dimensionner l&rsquo;axe des ordonn\u00e9es sur des \u00e9chelles num\u00e9riques totalement inadapt\u00e9es.<\/p>\n<h3>9.2 Calcul et superposition des courbes d&rsquo;estimation de densit\u00e9 par noyau (KDE)<\/h3>\n<p>L&rsquo;estimation non param\u00e9trique par la m\u00e9thode des histogrammes pr\u00e9sente intrins\u00e8quement une discontinuit\u00e9 g\u00e9om\u00e9trique en gradins, tributaire du positionnement des coupures d&rsquo;intervalles. Pour compl\u00e9ter cette mod\u00e9lisation discr\u00e8te par une courbe continue liss\u00e9e, la technique de l&rsquo;<a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Estimation_par_noyau_de_la_densit%C3%A9\">estimation de densit\u00e9 par noyau<\/a> (<em>Kernel Density Estimation<\/em>, KDE) constitue le standard international de r\u00e9f\u00e9rence.<\/p>\n<p>L&rsquo;estimateur continu de Parzen-Rosenblatt est formalis\u00e9 par :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\hat{f}_h(x) = \\frac{1}{n h} \\sum_{i=1}^{n} K\\left(\\frac{x - x_i}{h}\\right)\">$$\\hat{f}_h(x) = \\frac{1}{n h} \\sum_{i=1}^{n} K\\left(\\frac{x &#8211; x_i}{h}\\right)$$<\/span><\/p>\n<p>o\u00f9 <span class=\"arabpsy-math-inline\" data-latex=\"K(\\cdot)\">$K(\\cdot)$<\/span> est une fonction de pond\u00e9ration sym\u00e9trique unitaire (le noyau gaussien dans l&rsquo;immense majorit\u00e9 des applications) et <span class=\"arabpsy-math-inline\" data-latex=\"h\">$h$<\/span> repr\u00e9sente la largeur de bande (<em>bandwidth<\/em>), qui r\u00e9gule la souplesse du lissage.<\/p>\n<p>Dans l&rsquo;environnement R, le calcul de cette trajectoire s&rsquo;ex\u00e9cute nativement via la primitive <code>density()<\/code>, et sa projection par-dessus l&rsquo;histogramme de densit\u00e9 existant s&rsquo;effectue au moyen de la fonction de bas niveau <code>lines()<\/code> :<\/p>\n<ul>\n<li>Calcul du profil de densit\u00e9 exp\u00e9rimental :<br \/><code>dens_exp &lt;- density(groupe_exp, bw = \"SJ\")<\/code><\/li>\n<li>Calcul du profil de densit\u00e9 t\u00e9moin :<br \/><code>dens_ctrl &lt;- density(groupe_controle, bw = \"SJ\")<\/code><\/li>\n<li>Superposition de la premi\u00e8re ligne continue :<br \/><code>lines(dens_exp, col = \"darkred\", lwd = 2.5, lty = 1)<\/code><\/li>\n<li>Superposition de la seconde ligne continue :<br \/><code>lines(dens_ctrl, col = \"darkblue\", lwd = 2.5, lty = 2)<\/code><\/li>\n<\/ul>\n<p>L&rsquo;option <code>bw = \"SJ\"<\/code> ordonne l&rsquo;application de l&rsquo;algorithme de s\u00e9lection de largeur de bande de Sheather et Jones, tr\u00e8s sup\u00e9rieur \u00e0 la r\u00e8gle empirique de Silverman en pr\u00e9sence de structures distributionnelles complexes. La diff\u00e9renciation stylistique &mdash; associant un trait plein \u00e9pais (<code>lty = 1<\/code>, <code>lwd = 2.5<\/code>) \u00e0 la courbe exp\u00e9rimentale et un trait discontinu (<code>lty = 2<\/code>, <code>lwd = 2.5<\/code>) \u00e0 la courbe de contr\u00f4le &mdash; garantit une discrimination visuelle parfaite, m\u00eame en cas de reproduction ult\u00e9rieure du manuscrit en niveaux de gris monochromes.<\/p>\n<h3>9.3 Repr\u00e9sentation des estimateurs param\u00e9triques th\u00e9oriques<\/h3>\n<p>Une d\u00e9marche m\u00e9thodologique compl\u00e9mentaire particuli\u00e8rement instructive consiste \u00e0 confronter la distribution empirique observ\u00e9e non pas seulement \u00e0 son lissage empirique par noyau, mais au mod\u00e8le math\u00e9matique th\u00e9orique postul\u00e9 <em>a priori<\/em> (par exemple, la loi normale de Laplace-Gauss). Cette confrontation visuelle fait office d&rsquo;outil diagnostique pour \u00e9valuer la conformit\u00e9 des r\u00e9sidus avant d&rsquo;appliquer des mod\u00e8les lin\u00e9aires g\u00e9n\u00e9raux ou des r\u00e9gressions param\u00e9triques.<\/p>\n<p>La g\u00e9n\u00e9ration de cette trajectoire th\u00e9orique mobilise la fonction <code>dnorm()<\/code>, aliment\u00e9e rigoureusement par les param\u00e8tres empiriques de moyenne et d&rsquo;\u00e9cart-type estim\u00e9s sur l&rsquo;\u00e9chantillon :<\/p>\n<ul>\n<li>\u00c9chantillonnage horizontal d&rsquo;un continuum tr\u00e8s dense :<br \/><code>axe_abscisses &lt;- seq(min(limites_x), max(limites_x), length.out = 500)<\/code><\/li>\n<li>Calcul des ordonn\u00e9es th\u00e9oriques normales de la condition exp\u00e9rimentale :<br \/><code>y_theorique_exp &lt;- dnorm(axe_abscisses, mean = mean(groupe_exp), sd = sd(groupe_exp))<\/code><\/li>\n<li>Projection de la courbe th\u00e9orique sur le canevas :<br \/><code>lines(axe_abscisses, y_theorique_exp, col = \"black\", lwd = 1.5, lty = 3)<\/code><\/li>\n<\/ul>\n<p>L&rsquo;interaction conjointe de ces trois strates graphiques compl\u00e9mentaires &mdash; les barres translucides de l&rsquo;histogramme discret, la ligne ondul\u00e9e de l&rsquo;estimateur par noyau non param\u00e9trique et la cloche sym\u00e9trique du mod\u00e8le th\u00e9orique gaussien &mdash; procure une profondeur diagnostique in\u00e9gal\u00e9e. L&rsquo;analyste discerne d&rsquo;un simple coup d&rsquo;\u0153il les zones d&rsquo;asym\u00e9trie locale o\u00f9 les observations empiriques divergent de la trajectoire math\u00e9matique formelle.<\/p>\n<h2>10. Approche alternative contemporaine : R\u00e9alisation d&rsquo;histogrammes bivari\u00e9s avec ggplot2<\/h2>\n<h3>10.1 Structuration pr\u00e9alable des donn\u00e9es au format long (Tidy Data)<\/h3>\n<p>Tandis que le syst\u00e8me graphique de base de R traite avec aisance des vecteurs ind\u00e9pendants isol\u00e9s r\u00e9sidant en m\u00e9moire (format matriciel large ou structures d\u00e9solidaris\u00e9es), le paradigme contemporain incarn\u00e9 par <a rel=\"noopener noreferrer\" href=\"https:\/\/cran.r-project.org\/package=ggplot2\">ggplot2<\/a> repose sur les principes formels de la grammaire des graphiques de Leland Wilkinson et l&rsquo;architecture des donn\u00e9es ordonn\u00e9es (<em>tidy data<\/em>) th\u00e9oris\u00e9e par Hadley Wickham.<\/p>\n<p>Dans ce mod\u00e8le conceptuel, un ensemble de donn\u00e9es ne doit pas \u00eatre repr\u00e9sent\u00e9 par de multiples vecteurs dispers\u00e9s, mais par une table rectangulaire unitaire (un <code>data.frame<\/code> ou un <code>tibble<\/code>) satisfaisant \u00e0 trois axiomes fondamentaux :<\/p>\n<ul>\n<li>Chaque variable correspond \u00e0 une colonne unique ;<\/li>\n<li>Chaque observation \u00e9l\u00e9mentaire correspond \u00e0 une ligne unique ;<\/li>\n<li>Chaque type d&rsquo;unit\u00e9 observationnelle forme une table distincte.<\/li>\n<\/ul>\n<p>D\u00e8s lors, pour tracer un histogramme bivari\u00e9 sous <code>ggplot2<\/code>, la premi\u00e8re \u00e9tape m\u00e9thodologique implique la restructuration des deux vecteurs <code>groupe_exp<\/code> et <code>groupe_controle<\/code> en un unique tableau \u00e0 structure longue. Cette transformation s&rsquo;impl\u00e9mente au moyen des fonctions de manipulation de donn\u00e9es modernes de R :<\/p>\n<p><code>donnees_longues &lt;- data.frame(<br \/>\n&nbsp;&nbsp;Score = c(groupe_exp, groupe_controle),<br \/>\n&nbsp;&nbsp;Condition = factor(rep(c(\"Exp\u00e9rimentale\", \"Contr\u00f4le\"), each = n_obs))<br \/>\n)<\/code><\/p>\n<p>La colonne <code>Score<\/code> concentre ainsi l&rsquo;ensemble des $2000$ valeurs m\u00e9triques continues, tandis que la colonne factorielle <code>Condition<\/code> agit comme une \u00e9tiquette cat\u00e9gorielle d\u00e9finissant l&rsquo;appartenance de chaque ligne \u00e0 son sous-groupe exp\u00e9rimental respectif.<\/p>\n<h3>10.2 Construction de la g\u00e9om\u00e9trie geom_histogram() sous ggplot2<\/h3>\n<p>Une fois cette architecture tabulaire consolid\u00e9e, l&rsquo;\u00e9laboration de l&rsquo;histogramme superpos\u00e9 s&rsquo;exprime selon une syntaxe d\u00e9clarative fluide. Contrairement \u00e0 la logique proc\u00e9durale pas-\u00e0-pas de <code>base R<\/code>, <code>ggplot2<\/code> associe abstraitement des variables de donn\u00e9es \u00e0 des propri\u00e9t\u00e9s visuelles (les correspondances esth\u00e9tiques ou <em>aesthetic mappings<\/em>), puis empile des couches g\u00e9om\u00e9triques de mani\u00e8re d\u00e9clarative.<\/p>\n<p>Le script d&rsquo;impl\u00e9mentation standard prend la forme suivante :<\/p>\n<p><code>library(ggplot2)<br \/>\nggplot(donnees_longues, aes(x = Score, fill = Condition)) +<br \/>\n&nbsp;&nbsp;geom_histogram(aes(y = after_stat(density)),<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position = \"identity\",<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alpha = 0.35,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;binwidth = 0.025,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color = \"white\") +<br \/>\n&nbsp;&nbsp;scale_fill_manual(values = c(\"Exp\u00e9rimentale\" = \"red\", \"Contr\u00f4le\" = \"blue\")) +<br \/>\n&nbsp;&nbsp;labs(title = \"Comparaison distributionnelle des latences attentionnelles\",<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x = \"Score de latence standardis\u00e9 (sec)\",<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y = \"Densit\u00e9 de probabilit\u00e9 empirique\") +<br \/>\n&nbsp;&nbsp;theme_classic()<\/code><\/p>\n<p>Dans ce bloc d&rsquo;instructions, le commutateur g\u00e9om\u00e9trique <code>position = \"identity\"<\/code> joue un r\u00f4le d\u00e9terminant : par d\u00e9faut, <code>geom_histogram()<\/code> empile verticalement les barres des diff\u00e9rentes cat\u00e9gories (<code>position = \"stack\"<\/code>), ce qui alt\u00e8re la lecture de la distribution du second groupe dont la base ne repose plus sur l&rsquo;axe z\u00e9ro. L&rsquo;instruction <code>position = \"identity\"<\/code> force l&rsquo;ancrage direct de toutes les classes sur le plancher cart\u00e9sien horizontal, autorisant la superposition transparente. La fonction <code>after_stat(density)<\/code> assure la normalisation automatique unitaire, tandis que <code>theme_classic()<\/code> purge le canevas de tout quadrillage superflu pour se conformer au style sobre de l&rsquo;APA.<\/p>\n<h3>10.3 Comparaison critique entre la m\u00e9thode base R et la grammaire ggplot2<\/h3>\n<p>L&rsquo;arbitrage entre l&#8217;emploi du moteur natif <code>graphics<\/code> et la biblioth\u00e8que <code>ggplot2<\/code> soul\u00e8ve des consid\u00e9rations techniques et pragmatiques dont l&rsquo;analyste doit avoir pleinement conscience :<\/p>\n<ul>\n<li><strong>Gestion de la l\u00e9gende et des dimensions :<\/strong> <code>ggplot2<\/code> excelle par son automatisation int\u00e9grale. Les \u00e9chelles <code>xlim<\/code> et <code>ylim<\/code> sont ajust\u00e9es de mani\u00e8re algorithmique globale sans risque d&rsquo;amputation, et la bo\u00eete de l\u00e9gende est g\u00e9n\u00e9r\u00e9e sans intervention manuelle de calcul spatial. Dans <code>base R<\/code>, chaque coordonn\u00e9e et chaque marge doivent \u00eatre d\u00e9finies explicitement par le chercheur.<\/li>\n<li><strong>D\u00e9pendances logicielles et reproductibilit\u00e9 \u00e0 long terme :<\/strong> <code>base R<\/code> ne requiert aucun package externe, garantissant une stabilit\u00e9 de compilation s\u00e9culaire et une immunit\u00e9 totale face aux ruptures d&rsquo;API. \u00c0 l&rsquo;inverse, l&rsquo;usage de <code>ggplot2<\/code> introduit un arbre complexe de d\u00e9pendances (comme <code>rlang<\/code>, <code>tibble<\/code>, <code>vctrs<\/code>) qui peuvent \u00e9voluer au fil des versions.<\/li>\n<li><strong>V\u00e9locit\u00e9 et charge computationnelle :<\/strong> Pour la manipulation d&rsquo;\u00e9chantillons massifs (de l&rsquo;ordre de plusieurs dizaines de millions d&rsquo;observations), le trac\u00e9 s\u00e9quentiel de <code>base R<\/code> offre des performances d&rsquo;ex\u00e9cution nettement sup\u00e9rieures et une consommation de m\u00e9moire vive r\u00e9sidente r\u00e9duite, s&rsquo;affranchissant du surco\u00fbt de restructuration au format long.<\/li>\n<li><strong>Contr\u00f4le chirurgical des primitives graphiques :<\/strong> <code>base R<\/code> autorise l&rsquo;injection directe d&rsquo;instructions g\u00e9om\u00e9triques de bas niveau (polygones, textes ancr\u00e9s, fl\u00e8ches directrices) n&rsquo;importe o\u00f9 sur la matrice d&rsquo;affichage sans avoir \u00e0 contourner le cadre rigide d&rsquo;une grammaire d\u00e9clarative.<\/li>\n<\/ul>\n<p>En synth\u00e8se, la ma\u00eetrise conjointe des deux approches dote l&rsquo;analyste d&rsquo;une polyvalence compl\u00e8te : <code>ggplot2<\/code> pour la vitesse de prototypage dans les flux d&rsquo;analyses tidy standards, et <code>base R<\/code> pour la p\u00e9rennit\u00e9 algorithmique, la production de scripts autonomes l\u00e9gers et le contr\u00f4le absolu de chaque pixel projet\u00e9.<\/p>\n<h2>11. Pi\u00e8ges analytiques fr\u00e9quents et strat\u00e9gies de d\u00e9bogage<\/h2>\n<h3>11.1 Incoh\u00e9rence de l&rsquo;ordre d&rsquo;affichage et suppression visuelle accidentelle<\/h3>\n<p>La composition graphique sous <code>base R<\/code> \u00e9tant tributaire de l&rsquo;ordre s\u00e9quentiel d&rsquo;ex\u00e9cution des lignes de code, une interversion dans la chronologie des appels peut d\u00e9grader substantiellement le rendu visuel. Si la distribution dont la dispersion est la plus restreinte et le pic d&rsquo;altitude le plus vertigineux est trac\u00e9e en second plan avec une opacit\u00e9 mal dos\u00e9e, elle peut noyer les barres plus \u00e9tal\u00e9es du premier groupe.<\/p>\n<p>Une strat\u00e9gie \u00e9prouv\u00e9e consiste \u00e0 tracer syst\u00e9matiquement en premier plan la distribution qui poss\u00e8de la variance la plus ample (la base la plus \u00e9tal\u00e9e) ou les effectifs les plus dispers\u00e9s, permettant au second groupe plus concentr\u00e9 de venir s&rsquo;inscrire au c\u0153ur de l&rsquo;ar\u00e8ne graphique. Par ailleurs, il arrive fr\u00e9quemment qu&rsquo;\u00e0 la suite d&rsquo;appels multiples de <code>hist(..., add = TRUE)<\/code>, la nettet\u00e9 des axes cart\u00e9siens et des graduations soit partiellement d\u00e9grad\u00e9e par le dessin des rectangles adjacents.<\/p>\n<p>Pour restaurer une nettet\u00e9 g\u00e9om\u00e9trique absolue, il est hautement recommand\u00e9 d&rsquo;ex\u00e9cuter la fonction <code>box()<\/code> en cl\u00f4ture de routine graphique :<\/p>\n<p><code>box(bty = \"l\", lwd = 1.2)<\/code><\/p>\n<p>Cette instruction simple rafra\u00eechit la matrice vectorielle des axes orthogonalement positionn\u00e9s au premier plan, redessinant des lignes d&rsquo;axes parfaitement aff\u00fbt\u00e9es par-dessus les \u00e9ventuels d\u00e9bordements de barres de fr\u00e9quence.<\/p>\n<h3>11.2 Mauvaise gestion des valeurs manquantes (NA) et anomalies de troncature<\/h3>\n<p>Dans les jeux de donn\u00e9es observationnelles r\u00e9els, la pr\u00e9sence de valeurs non attribu\u00e9es (marqu\u00e9es sous l&rsquo;identifiant <code>NA<\/code> pour <em>Not Available<\/em>) repr\u00e9sente une source fr\u00e9quente de dysfonctionnements silencieux. Par d\u00e9faut, la primitive <code>hist()<\/code> \u00e9vacue automatiquement les valeurs <code>NA<\/code> lors de la phase de discr\u00e9tisation, mais signale parfois un avertissement selon la typologie des arguments fournis.<\/p>\n<p>L&rsquo;impact des valeurs manquantes devient particuli\u00e8rement pernicieux lors des phases de pr\u00e9-calcul g\u00e9om\u00e9trique automatis\u00e9. Si l&rsquo;on applique la fonction <code>range(c(x1, x2))<\/code> sur des vecteurs h\u00e9bergeant ne serait-ce qu&rsquo;une seule valeur manquante, la fonction retournera in\u00e9luctablement le vecteur <code>c(NA, NA)<\/code>. L&rsquo;injection subs\u00e9quente de cet objet au sein de l&rsquo;argument <code>xlim<\/code> provoquera le crash imm\u00e9diat de la routine graphique avec le message d&rsquo;erreur explicite : <em>need finite &lsquo;xlim&rsquo; values<\/em>.<\/p>\n<p>Pour immuniser les scripts d&rsquo;analyse contre ce biais structurel, l&rsquo;analyste doit formellement assainir les vecteurs pr\u00e9alablement au trac\u00e9 :<\/p>\n<ul>\n<li>\u00c9radication rigoureuse des valeurs manquantes :<br \/><code>v1_propre &lt;- na.omit(groupe_exp)<\/code><br \/><code>v2_propre &lt;- na.omit(groupe_controle)<\/code><\/li>\n<li>Alternativement, s\u00e9curisation de l&rsquo;extraction des limites par le commutateur universel :<br \/><code>limites_x &lt;- range(c(groupe_exp, groupe_controle), na.rm = TRUE)<\/code><\/li>\n<\/ul>\n<p>Ce protocole d\u00e9fensif assure que les calculs d&rsquo;intervalles et d&rsquo;\u00e9chelles reposent exclusivement sur des r\u00e9els finis et valides.<\/p>\n<h3>11.3 Interpr\u00e9tation fallacieuse induite par un mauvais choix de classes<\/h3>\n<p>Le pi\u00e8ge statistique le plus redoutable r\u00e9side dans la manipulation involontaire de la morphologie per\u00e7ue via un mauvais calibrage du param\u00e8tre de largeur de classe (<em>bin width<\/em>). Un d\u00e9coupage excessivement granulaire d\u00e9coupe artificiellement une distribution continue sous la forme d&rsquo;une succession chaotique de pics isol\u00e9s entrecoup\u00e9s de vides d&rsquo;effectifs nuls, simulant une instabilit\u00e9 stochastique ou une multimodalit\u00e9 fictive qui n&rsquo;a aucune r\u00e9alit\u00e9 dans la population parente.<\/p>\n<p>Inversement, le sur-lissage caus\u00e9 par un nombre d&rsquo;intervalles excessivement faible (par exemple 4 ou 5 classes sur l&rsquo;ensemble du domaine) compresse l&rsquo;information quantitative de mani\u00e8re outranci\u00e8re. Ce ph\u00e9nom\u00e8ne peut occulter totalement un \u00e9cart significatif de variance entre les deux cohortes ou masquer une asym\u00e9trie clinique essentielle, conf\u00e9rant artificiellement une silhouette gaussienne banale \u00e0 une distribution profond\u00e9ment asym\u00e9trique.<\/p>\n<p>Pour garantir la robustesse scientifique de la visualisation, l&rsquo;analyste doit appliquer un protocole de validation crois\u00e9e :<\/p>\n<ul>\n<li>Calculer la largeur de classe selon la formulation rigoureuse de Freedman-Diaconis appliqu\u00e9e conjointement aux deux cohortes : <span class=\"arabpsy-math-inline\" data-latex=\"h = 2 \\cdot \\overline{\\text{IQR}} \\cdot N_{\\text{total}}^{-1\/3}\">$h = 2 \\cdot \\overline{\\text{IQR}} \\cdot N_{\\text{total}}^{-1\/3}$<\/span> ;<\/li>\n<li>G\u00e9n\u00e9rer visuellement trois variantes de test (l&rsquo;une avec le pas th\u00e9orique <span class=\"arabpsy-math-inline\" data-latex=\"h\">$h$<\/span>, l&rsquo;une avec un pas <span class=\"arabpsy-math-inline\" data-latex=\"0.5 \\cdot h\">$0.5 \\cdot h$<\/span>, et l&rsquo;une avec un pas <span class=\"arabpsy-math-inline\" data-latex=\"1.5 \\cdot h\">$1.5 \\cdot h$<\/span>) ;<\/li>\n<li>S&rsquo;assurer que les inf\u00e9rences visuelles tir\u00e9es sur le chevauchement, l&rsquo;asym\u00e9trie et les \u00e9carts de tendance centrale demeurent parfaitement stables d&rsquo;une variante \u00e0 l&rsquo;autre.<\/li>\n<\/ul>\n<h2>12. Protocoles d&rsquo;exportation haute fid\u00e9lit\u00e9 pour publication acad\u00e9mique<\/h2>\n<h3>12.1 Sauvegarde matricielle et vectorielle de haute pr\u00e9cision<\/h3>\n<p>La composition d&rsquo;un graphique irr\u00e9prochable au sein de la fen\u00eatre de visualisation interactive de RStudio ou de la console R ne pr\u00e9juge en rien de sa qualit\u00e9 de restitution finale sur une page imprim\u00e9e ou un document \u00e9lectronique structur\u00e9. L&rsquo;analyste doit imp\u00e9rativement ma\u00eetriser les m\u00e9canismes de redirection vers les p\u00e9riph\u00e9riques graphiques autonomes du syst\u00e8me.<\/p>\n<p>Deux familles technologiques de formats d&rsquo;exportation se disputent les exigences \u00e9ditoriales :<\/p>\n<ul>\n<li><strong>Les formats vectoriels purs (PDF, SVG) :<\/strong> \u00c0 privil\u00e9gier syst\u00e9matiquement pour les publications acad\u00e9miques. Ces formats n&rsquo;enregistrent pas une grille fig\u00e9e de pixels, mais codent g\u00e9om\u00e9triquement chaque ligne, rectangle, caract\u00e8re typographique et valeur de transparence sous forme d&rsquo;\u00e9quations vectorielles math\u00e9matiques. Le rendu conserve une nettet\u00e9 infinie, ind\u00e9pendamment du niveau de zoom appliqu\u00e9 par le lecteur. L&rsquo;exportation s&rsquo;orchestre via la primitive native <code>pdf()<\/code> :<br \/>\n    <code>pdf(\"Figure1_Comparaison_Histogrammes.pdf\", width = 8, height = 6, pointsize = 11)<\/code><br \/>\n    <em>&#8230; ex\u00e9cution des commandes d&rsquo;affichage hist(), lines(), legend() &#8230;<\/em><br \/>\n    <code>dev.off()<\/code><\/li>\n<li><strong>Les formats matriciels rasteris\u00e9s haute r\u00e9solution (TIFF, PNG) :<\/strong> Fr\u00e9quemment r\u00e9clam\u00e9s par les comit\u00e9s \u00e9ditoriaux de revues biom\u00e9dicales pour l&rsquo;impression finale sur presse. Dans ce cas, une r\u00e9solution spatiale minimale de 300 \u00e0 600 DPI (<em>Dots Per Inch<\/em>) est formellement exig\u00e9e pour \u00e9radiquer tout ph\u00e9nom\u00e8ne d&rsquo;aliasing ou de pixellisation des bordures. L&rsquo;impl\u00e9mentation requiert le param\u00e9trage rigoureux de la fonction <code>png()<\/code> ou <code>tiff()<\/code> :<br \/>\n    <code>png(\"Figure1_Haute_Resolution.png\", width = 18, height = 13, units = \"cm\", res = 300)<\/code><br \/>\n    <em>&#8230; ex\u00e9cution des commandes d&rsquo;affichage &#8230;<\/em><br \/>\n    <code>dev.off()<\/code><\/li>\n<\/ul>\n<p>Il est imp\u00e9ratif de souligner l&rsquo;obligation structurelle de cl\u00f4turer l&rsquo;enregistrement par l&rsquo;appel formel <code>dev.off()<\/code>. Cette instruction force le syst\u00e8me d&rsquo;exploitation \u00e0 vider les m\u00e9moires tampons d&rsquo;\u00e9criture, \u00e0 \u00e9crire les tables vectorielles de fin de fichier et \u00e0 lib\u00e9rer le descripteur de fichier verrouill\u00e9 sur le disque dur.<\/p>\n<h3>12.2 Conformit\u00e9 avec les normes \u00e9ditoriales de psychologie (style APA 7)<\/h3>\n<p>L&rsquo;adaptation d&rsquo;une figure aux directives du manuel de publication de l&rsquo;APA (7\u00e8me \u00e9dition) impose un ensemble d&rsquo;arbitrages stylistiques exigeants visant \u00e0 maximiser la sobri\u00e9t\u00e9 cognitive du support graphique :<\/p>\n<ul>\n<li><strong>Sobri\u00e9t\u00e9 des polices typographiques :<\/strong> L&rsquo;APA pr\u00e9conise express\u00e9ment l&#8217;emploi exclusif de polices de caract\u00e8res sans empattement (<em>sans-serif<\/em>) telles qu&rsquo;Arial, Helvetica ou Calibri, pour leur lisibilit\u00e9 optimale sur \u00e9cran et papier. Dans R, ces familles peuvent \u00eatre invoqu\u00e9es globalement via le param\u00e8tre <code>family = \"sans\"<\/code> au sein de <code>par()<\/code>.<\/li>\n<li><strong>Traitement des contrastes monochromes :<\/strong> Bien que la diffusion num\u00e9rique autorise la polychromie compl\u00e8te, une proportion significative de lecteurs continue d&rsquo;imprimer les articles sur des dispositifs d&rsquo;impression laser monochromes. L&rsquo;analyste averti v\u00e9rifie la r\u00e9silience de son histogramme superpos\u00e9 une fois converti en niveaux de gris. Si n\u00e9cessaire, les surfaces unicolores translucides peuvent \u00eatre enrichies par des motifs de hachures g\u00e9om\u00e9triques diff\u00e9rentiels gr\u00e2ce \u00e0 l&rsquo;argument natif <code>density<\/code> et <code>angle<\/code> de la fonction <code>hist()<\/code> (par exemple, des hachures orient\u00e9es \u00e0 45 degr\u00e9s pour le groupe 1 et \u00e0 135 degr\u00e9s pour le groupe 2).<\/li>\n<li><strong>D\u00e9sengorgement de la planche graphique :<\/strong> Les notes techniques d\u00e9crivant la significativit\u00e9 statistique (<span class=\"arabpsy-math-inline\" data-latex=\"p\">$p$<\/span>-values, indices de d de Cohen, intervalles de confiance \u00e0 95 %) doivent \u00eatre \u00e9vacu\u00e9es du c\u0153ur du canevas pour \u00eatre consign\u00e9es m\u00e9thodiquement au sein de la l\u00e9gende textuelle ext\u00e9rieure normalis\u00e9e qui accompagne la planche dans le manuscrit d\u00e9finitif.<\/li>\n<\/ul>\n<h3>12.3 Encapsulation du code dans une fonction R r\u00e9utilisable et p\u00e9renne<\/h3>\n<p>L&rsquo;aboutissement de toute d\u00e9marche de programmation statistique scientifique r\u00e9side dans l&rsquo;abstraction et l&rsquo;encapsulation algorithmique. Plut\u00f4t que de recopier manuellement des dizaines de lignes de code proc\u00e9dural \u00e0 chaque nouveau projet, il est particuli\u00e8rement vertueux de consigner cette machinerie m\u00e9thodologique au sein d&rsquo;une fonction R g\u00e9n\u00e9rique, hautement param\u00e9trable et r\u00e9utilisable au sein de pipelines de traitement ouverts.<\/p>\n<p>Voici l&rsquo;architecture formelle d&rsquo;une fonction d\u00e9di\u00e9e, synth\u00e9tisant l&rsquo;ensemble des pr\u00e9ceptes techniques d\u00e9velopp\u00e9s tout au long de ce protocole :<\/p>\n<p><code>plot_dual_histogram &lt;- function(var1, var2,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nom_var1 = \"Groupe 1\", nom_var2 = \"Groupe 2\",<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;coul1_rgb = c(1, 0, 0), coul2_rgb = c(0, 0, 1),<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alpha_val = 0.35, largeur_classe = NULL,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mode_densite = TRUE, lab_x = \"Score standardis\u00e9\",<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;titre_general = \"\", tracer_noyau = TRUE) {<\/p>\n<p>&nbsp;&nbsp;# 1. Assainissement des vecteurs<br \/>\n&nbsp;&nbsp;v1 &lt;- na.omit(as.numeric(var1))<br \/>\n&nbsp;&nbsp;v2 &lt;- na.omit(as.numeric(var2))<\/p>\n<p>&nbsp;&nbsp;# 2. Harmonisation des bornes horizontales<br \/>\n&nbsp;&nbsp;lim_x &lt;- range(c(v1, v2))<br \/>\n&nbsp;&nbsp;etendue &lt;- lim_x[2] - lim_x[1]<br \/>\n&nbsp;&nbsp;lim_x[1] &lt;- lim_x[1] - (etendue * 0.05)<br \/>\n&nbsp;&nbsp;lim_x[2] &lt;- lim_x[2] + (etendue * 0.05)<\/p>\n<p>&nbsp;&nbsp;# 3. Synchronisation algorithmique des coupures<br \/>\n&nbsp;&nbsp;if (is.null(largeur_classe)) {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;h_fd &lt;- 2 * mean(c(IQR(v1), IQR(v2))) * (length(v1) + length(v2))^(-1\/3)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;largeur_classe &lt;- ifelse(h_fd &gt; 0, h_fd, etendue \/ 30)<br \/>\n&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;coupures &lt;- seq(lim_x[1], lim_x[2] + largeur_classe, by = largeur_classe)<\/p>\n<p>&nbsp;&nbsp;# 4. Pr\u00e9-calcul des fr\u00e9quences pour dimensionnement vertical<br \/>\n&nbsp;&nbsp;h1 &lt;- hist(v1, breaks = coupures, plot = FALSE)<br \/>\n&nbsp;&nbsp;h2 &lt;- hist(v2, breaks = coupures, plot = FALSE)<\/p>\n<p>&nbsp;&nbsp;if (mode_densite) {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;y_max_base &lt;- max(c(h1<span class=\"arabpsy-math-inline\" data-latex=\"density, h2\">$density, h2$<\/span>density))<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;if (tracer_noyau) {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d1 &lt;- density(v1, bw = \"SJ\")<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d2 &lt;- density(v2, bw = \"SJ\")<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y_max_base &lt;- max(c(y_max_base, d1<span class=\"arabpsy-math-inline\" data-latex=\"y, d2\">$y, d2$<\/span>y))<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;lab_y &lt;- \"Densit\u00e9 de probabilit\u00e9\"<br \/>\n&nbsp;&nbsp;} else {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;y_max_base &lt;- max(c(h1<span class=\"arabpsy-math-inline\" data-latex=\"counts, h2\">$counts, h2$<\/span>counts))<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;lab_y &lt;- \"Fr\u00e9quence absolue\"<br \/>\n&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;lim_y &lt;- c(0, y_max_base * 1.25)<\/p>\n<p>&nbsp;&nbsp;# 5. Instanciation des couleurs translucides<br \/>\n&nbsp;&nbsp;c1 &lt;- rgb(coul1_rgb[1], coul1_rgb[2], coul1_rgb[3], alpha = alpha_val)<br \/>\n&nbsp;&nbsp;c2 &lt;- rgb(coul2_rgb[1], coul2_rgb[2], coul2_rgb[3], alpha = alpha_val)<br \/>\n&nbsp;&nbsp;c1_bord &lt;- rgb(coul1_rgb[1], coul1_rgb[2], coul1_rgb[3], alpha = min(1, alpha_val + 0.3))<br \/>\n&nbsp;&nbsp;c2_bord &lt;- rgb(coul2_rgb[1], coul2_rgb[2], coul2_rgb[3], alpha = min(1, alpha_val + 0.3))<\/p>\n<p>&nbsp;&nbsp;# 6. Ex\u00e9cution graphique s\u00e9quentielle<br \/>\n&nbsp;&nbsp;hist(v1, breaks = coupures, freq = !mode_densite, col = c1, border = c1_bord,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xlim = lim_x, ylim = lim_y, xlab = lab_x, ylab = lab_y,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;main = titre_general, las = 1, bty = \"l\", cex.lab = 1.1, cex.axis = 0.95)<\/p>\n<p>&nbsp;&nbsp;hist(v2, breaks = coupures, freq = !mode_densite, col = c2, border = c2_bord,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add = TRUE)<\/p>\n<p>&nbsp;&nbsp;# 7. Trac\u00e9 optionnel des densit\u00e9s par noyau<br \/>\n&nbsp;&nbsp;if (mode_densite &amp;&amp; tracer_noyau) {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;lines(d1, col = rgb(coul1_rgb[1] * 0.7, coul1_rgb[2] * 0.7, coul1_rgb[3] * 0.7), lwd = 2.2)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;lines(d2, col = rgb(coul2_rgb[1] * 0.7, coul2_rgb[2] * 0.7, coul2_rgb[3] * 0.7), lwd = 2.2, lty = 2)<br \/>\n&nbsp;&nbsp;}<\/p>\n<p>&nbsp;&nbsp;# 8. Rendu de la l\u00e9gende<br \/>\n&nbsp;&nbsp;legend(\"topright\", legend = c(nom_var1, nom_var2), fill = c(c1, c2),<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border = c(c1_bord, c2_bord), bty = \"n\", cex = 0.9)<\/p>\n<p>&nbsp;&nbsp;# 9. R\u00e9-affirmation du cadre<br \/>\n&nbsp;&nbsp;box(bty = \"l\", lwd = 1.2)<br \/>\n}<\/code><\/p>\n<p>Cette fonction g\u00e9n\u00e9rique synth\u00e9tise en un ensemble autonome l&rsquo;ensemble des bonnes pratiques document\u00e9es : d\u00e9tection dynamique d&rsquo;intervalles optimaux selon Freedman-Diaconis, calcul anticip\u00e9 d&rsquo;\u00e9chelles globales unifi\u00e9es, fusion optique par composition alpha, estimation non param\u00e9trique par noyau de Sheather-Jones et typographie \u00e9pur\u00e9e conforme aux canons internationaux. L&rsquo;analyste dispose d\u00e8s lors d&rsquo;un composant m\u00e9thodologique robuste, enti\u00e8rement p\u00e9renne et d\u00e9ployable en une seule ligne d&rsquo;instruction dans l&rsquo;ensemble de ses futurs protocoles de recherche quantitative.<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>American Psychological Association. (2020). <em>Publication manual of the American Psychological Association<\/em> (7th ed.). American Psychological Association. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1037\/0000165-000\">https:\/\/doi.org\/10.1037\/0000165-000<\/a><\/li>\n<li>Freedman, D., &amp; Diaconis, P. (1981). On the histogram as a density estimator: <span class=\"arabpsy-math-inline\" data-latex=\"L_2\">$L_2$<\/span> theory. <em>Zeitschrift f\u00fcr Wahrscheinlichkeitstheorie und verwandte Gebiete<\/em>, 57(4), 453-476. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1007\/BF01025868\">https:\/\/doi.org\/10.1007\/BF01025868<\/a><\/li>\n<li>Ihaka, R., &amp; Gentleman, R. (1996). R: A language for data analysis and graphics. <em>Journal of Computational and Graphical Statistics<\/em>, 5(3), 299-314. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1080\/10618600.1996.10474713\">https:\/\/doi.org\/10.1080\/10618600.1996.10474713<\/a><\/li>\n<li>Murrell, P. (2018). <em>R graphics<\/em> (3rd ed.). Chapman and Hall\/CRC. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1201\/9780429447273\">https:\/\/doi.org\/10.1201\/9780429447273<\/a><\/li>\n<li>R Core Team. (2024). <em>R: A language and environment for statistical computing<\/em>. R Foundation for Statistical Computing. <a rel=\"noopener noreferrer\" href=\"https:\/\/www.R-project.org\/\">https:\/\/www.R-project.org\/<\/a><\/li>\n<li>Scott, D. W. (1979). On optimal and data-based histograms. <em>Biometrika<\/em>, 66(3), 605-610. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1093\/biomet\/66.3.605\">https:\/\/doi.org\/10.1093\/biomet\/66.3.605<\/a><\/li>\n<li>Sheather, S. J., &amp; Jones, M. C. (1991). A reliable data-based bandwidth selection method for kernel density estimation. <em>Journal of the Royal Statistical Society: Series B (Methodological)<\/em>, 53(3), 683-690. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1111\/j.2517-6161.1991.tb01857.x\">https:\/\/doi.org\/10.1111\/j.2517-6161.1991.tb01857.x<\/a><\/li>\n<li>Silverman, B. W. (1986). <em>Density estimation for statistics and data analysis<\/em>. Chapman and Hall. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1007\/978-1-4899-3324-9\">https:\/\/doi.org\/10.1007\/978-1-4899-3324-9<\/a><\/li>\n<li>Sturges, H. A. (1926). The choice of a class interval. <em>Journal of the American Statistical Association<\/em>, 21(153), 65-66. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1080\/01621459.1926.10502161\">https:\/\/doi.org\/10.1080\/01621459.1926.10502161<\/a><\/li>\n<li>Wickham, H. (2016). <em>ggplot2: Elegant graphics for data analysis<\/em> (2nd ed.). Springer-Verlag. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1007\/978-3-319-24277-4\">https:\/\/doi.org\/10.1007\/978-3-319-24277-4<\/a><\/li>\n<li>Wilkinson, L. (2005). <em>The grammar of graphics<\/em> (2nd ed.). Springer-Verlag. <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 m\u00e9thodologique et acad\u00e9mique complet pour superposer et comparer graphiquement deux distributions continues dans R \u00e0 l&rsquo;aide d&rsquo;histogrammes bivari\u00e9s.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[1829,2193],"tags":[3329,16,2658,2069,2041],"class_list":["post-7740","psych_stat","type-psych_stat","status-publish","hentry","category-methodologie-statistique","category-programmation-r","tag-histogramme","tag-psychometrie","tag-r","tag-statistique-descriptive","tag-visualisation-de-donnees"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/7740","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=7740"}],"version-history":[{"count":1,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/7740\/revisions"}],"predecessor-version":[{"id":7744,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/7740\/revisions\/7744"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}