{"id":8462,"date":"2026-10-14T18:02:23","date_gmt":"2026-10-14T18:02:23","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-imputer-valeurs-manquantes-r-exemples\/"},"modified":"2026-10-14T18:02:23","modified_gmt":"2026-10-14T18:02:23","slug":"comment-imputer-valeurs-manquantes-r-exemples","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-imputer-valeurs-manquantes-r-exemples","title":{"rendered":"Comment imputer les valeurs manquantes dans R (avec exemples)"},"content":{"rendered":"<p>Dans le paysage contemporain de la science des donn\u00e9es, de l&rsquo;\u00e9pid\u00e9miologie quantitative et de l&rsquo;\u00e9conom\u00e9trie appliqu\u00e9e, la compl\u00e9tude des jeux de donn\u00e9es constitue une hypoth\u00e8se th\u00e9orique id\u00e9ale que la r\u00e9alit\u00e9 empirique contredit syst\u00e9matiquement. Qu&rsquo;il s&rsquo;agisse d&rsquo;enqu\u00eates psychosociales marqu\u00e9es par l&rsquo;attrition des r\u00e9pondants, de registres cliniques hospitaliers alt\u00e9r\u00e9s par des examens non r\u00e9alis\u00e9s ou de capteurs environnementaux sujets \u00e0 des d\u00e9faillances mat\u00e9rielles intermittentes, la pr\u00e9sence de donn\u00e9es manquantes repr\u00e9sente la r\u00e8gle plut\u00f4t que l&rsquo;exception. Loin de constituer une simple nuisance d&rsquo;ordre logistique que l&rsquo;on pourrait contourner par une suppression opportuniste des lignes incompl\u00e8tes, les donn\u00e9es manquantes attaquent les fondements m\u00eames de l&rsquo;inf\u00e9rence statistique. Elles introduisent des distorsions au niveau des distributions marginales, alt\u00e8rent les matrices de variance-covariance et affaiblissent la puissance des tests d&rsquo;hypoth\u00e8ses, mena\u00e7ant ainsi la validit\u00e9 interne et externe des conclusions scientifiques.<\/p>\n<p>Le langage statistique <strong>R<\/strong> s&rsquo;est impos\u00e9 au fil des trois derni\u00e8res d\u00e9cennies comme la plateforme de r\u00e9f\u00e9rence internationale pour le traitement, l&rsquo;exploration et la mod\u00e9lisation statistique avanc\u00e9e. Sa flexibilit\u00e9 computationnelle, conjugu\u00e9e \u00e0 la richesse incomparable de son \u00e9cosyst\u00e8me de packages sp\u00e9cialis\u00e9s, offre aux chercheurs et analystes un arsenal m\u00e9thodologique sans \u00e9quivalent pour aborder la probl\u00e9matique des donn\u00e9es manquantes. De la manipulation \u00e9l\u00e9mentaire en R base jusqu&rsquo;aux architectures d&rsquo;imputation multiple par \u00e9quations cha\u00een\u00e9es ou aux algorithmes d&rsquo;apprentissage automatique non param\u00e9triques, R permet de transcender la tentation archa\u00efque du nettoyage par \u00e9limination pour adopter des strat\u00e9gies d&rsquo;imputation robustes, rigoureuses et reproductibles.<\/p>\n<p>Ce guide exhaustif a pour vocation d&rsquo;articuler la th\u00e9orie statistique la plus rigoureuse avec la mise en \u0153uvre programmatique en langage R. \u00c0 travers un parcours didactique et approfondi en douze volets, nous explorerons les fondements probabilistes r\u00e9gissant les m\u00e9canismes de perte d&rsquo;information, les outils de diagnostic visuel et structurel, les techniques univari\u00e9es d\u00e9terministes, les algorithmes it\u00e9ratifs et d&rsquo;apprentissage machine multivari\u00e9s, pour conclure sur les standards de validation m\u00e9trologique et de communication scientifique. Chaque section analyse en d\u00e9tail les compromis math\u00e9matiques sous-jacents, les commandes ex\u00e9cutables et les pi\u00e8ges conceptuels \u00e0 \u00e9viter pour garantir une int\u00e9grit\u00e9 analytique sans faille.<\/p>\n<h2>1. Fondements th\u00e9oriques des donn\u00e9es manquantes en analyse statistique<\/h2>\n<h3>1.1 Typologie des m\u00e9canismes de donn\u00e9es manquantes selon Rubin<\/h3>\n<p>La formalisation math\u00e9matique moderne des m\u00e9canismes de donn\u00e9es manquantes trouve sa gen\u00e8se dans les travaux s\u00e9minaux du statisticien <a rel=\"noopener noreferrer\" href=\"https:\/\/academic.oup.com\/biomet\/article\/63\/3\/581\/270932\">Donald Rubin<\/a> publi\u00e9s en 1976. Rubin a \u00e9tabli une taxonomie probabiliste qui structure l&rsquo;ensemble des approches m\u00e9thodologiques contemporaines. Cette typologie postule l&rsquo;existence d&rsquo;une variable indicatrice de manquance, g\u00e9n\u00e9ralement not\u00e9e sous forme matricielle par <em>R<\/em>, li\u00e9e aux donn\u00e9es th\u00e9oriquement compl\u00e8tes <em>Y<\/em>, elles-m\u00eames scind\u00e9es en une fraction observ\u00e9e <em>Y_obs<\/em> et une fraction manquante <em>Y_mis<\/em>. Trois r\u00e9gimes distincts gouvernent la distribution conditionnelle de <em>R<\/em> sachant <em>Y<\/em>.<\/p>\n<p>Le premier m\u00e9canisme est d\u00e9sign\u00e9 sous le terme de \u00ab donn\u00e9es manquantes compl\u00e8tement au hasard \u00bb (<em>Missing Completely at Random<\/em>, ou <strong>MCAR<\/strong>). Sous cette hypoth\u00e8se tr\u00e8s contraignante, la probabilit\u00e9 qu&rsquo;une observation soit manquante est strictement ind\u00e9pendante tant des valeurs observ\u00e9es que des valeurs non observ\u00e9es du jeu de donn\u00e9es. Math\u00e9matiquement, cela s&rsquo;exprime par l&rsquo;\u00e9galit\u00e9 <em>P(R | Y_obs, Y_mis) = P(R)<\/em>. Dans une telle situation, le sous-\u00e9chantillon des individus pr\u00e9sentant des profils d&rsquo;observation int\u00e8gres peut \u00eatre assimil\u00e9 \u00e0 un sous-\u00e9chantillon al\u00e9atoire simple issu de la population m\u00e8re. Bien que s\u00e9duisant sur le plan computationnel car il ne g\u00e9n\u00e8re aucun biais syst\u00e9matique dans l&rsquo;estimation des moyennes ou des coefficients de r\u00e9gression, le m\u00e9canisme MCAR demeure exceptionnel dans la pratique exp\u00e9rimentale ou observationnelle.<\/p>\n<p>Le second m\u00e9canisme, pr\u00e9dominant dans les sciences quantitatives, est le m\u00e9canisme \u00ab manquant au hasard \u00bb (<em>Missing at Random<\/em>, ou <strong>MAR<\/strong>). Contrairement \u00e0 ce que son appellation intuitive pourrait sugg\u00e9rer, la perte de donn\u00e9es n&rsquo;est pas fortuite \u00e0 l&rsquo;\u00e9chelle globale : la probabilit\u00e9 de manquance d\u00e9pend syst\u00e9matiquement des variables observ\u00e9es <em>Y_obs<\/em>, mais devient conditionnellement ind\u00e9pendante des valeurs sous-jacentes manquantes <em>Y_mis<\/em> une fois ces variables observ\u00e9es prises en compte. La formulation probabiliste s&rsquo;\u00e9crit <em>P(R | Y_obs, Y_mis) = P(R | Y_obs)<\/em>. Par exemple, si les hommes plus \u00e2g\u00e9s omettent plus fr\u00e9quemment de d\u00e9clarer leur niveau d&rsquo;anxi\u00e9t\u00e9 dans un essai clinique, mais que pour une tranche d&rsquo;\u00e2ge et un sexe donn\u00e9s, la probabilit\u00e9 d&rsquo;omission ne d\u00e9pend aucunement de la s\u00e9v\u00e9rit\u00e9 r\u00e9elle de l&rsquo;anxi\u00e9t\u00e9 non enregistr\u00e9e, le processus rel\u00e8ve du cadre MAR. Ce m\u00e9canisme est dit \u00ab ignorable \u00bb au sens bay\u00e9sien et de vraisemblance, autorisant le recours \u00e0 des mod\u00e9lisations conditionnelles avanc\u00e9es sans mod\u00e9liser explicitement le processus de censure.<\/p>\n<p>Le troisi\u00e8me sc\u00e9nario, m\u00e9thodologiquement le plus redoutable, concerne les \u00ab donn\u00e9es non manquantes au hasard \u00bb (<em>Missing Not at Random<\/em>, ou <strong>MNAR<\/strong>). Ici, la probabilit\u00e9 qu&rsquo;une donn\u00e9e soit absente d\u00e9pend intrins\u00e8quement de la valeur non observ\u00e9e elle-m\u00eame, de sorte que <em>P(R | Y_obs, Y_mis)<\/em> ne peut \u00eatre simplifi\u00e9 en \u00e9liminant <em>Y_mis<\/em>. L&rsquo;exemple paradigmatique r\u00e9side dans l&rsquo;auto-d\u00e9claration des revenus fiscaux ou de la consommation de substances illicites, o\u00f9 les individus affichant les valeurs les plus extr\u00eames choisissent d\u00e9lib\u00e9r\u00e9ment de s&rsquo;abstenir de r\u00e9pondre. Sous le r\u00e9gime MNAR, le m\u00e9canisme de s\u00e9lection est dit \u00ab non ignorable \u00bb : toute proc\u00e9dure d&rsquo;imputation standard qui omet de sp\u00e9cifier un mod\u00e8le conjoint liant la probabilit\u00e9 d&rsquo;omission \u00e0 la variable latente engendre des biais inf\u00e9rentiels massifs et incontr\u00f4lables.<\/p>\n<p>Le choix raisonn\u00e9 d&rsquo;une strat\u00e9gie d&rsquo;imputation d\u00e9pend intimement de l&rsquo;\u00e9valuation critique du m\u00e9canisme sous-jacent. Tenter d&rsquo;appliquer des imputations d\u00e9terministes sous MCAR peut \u00eatre acceptable pour de simples analyses exploratoires, mais s&rsquo;av\u00e8re catastrophique sous MAR et caduque sous MNAR, ce dernier r\u00e9clamant des mod\u00e8les de s\u00e9lection de Heckman ou des mod\u00e9lisations par m\u00e9langes de patrons (<em>pattern-mixture models<\/em>).<\/p>\n<h3>1.2 Cons\u00e9quences statistiques de la suppression des observations<\/h3>\n<p>L&rsquo;attitude historique, et h\u00e9las encore largement r\u00e9pandue chez les praticiens novices, consiste \u00e0 proc\u00e9der \u00e0 l&rsquo;\u00e9limination pure et simple des unit\u00e9s statistiques incompl\u00e8tes. Ce protocole, d\u00e9sign\u00e9 sous les termes d&rsquo;\u00ab analyse des cas complets \u00bb (<em>complete case analysis<\/em>) ou de suppression par liste (<em>listwise deletion<\/em>), se caract\u00e9rise par une brutalit\u00e9 op\u00e9ratoire qui sacrifie l&rsquo;ensemble des donn\u00e9es recueillies sur un individu d\u00e8s lors qu&rsquo;une seule variable pr\u00e9sente une valeur non renseign\u00e9e. Les r\u00e9percussions d&rsquo;une telle pratique sur la rigueur inf\u00e9rentielle sont profondes et multidimensionnelles.<\/p>\n<p>La premi\u00e8re cons\u00e9quence directe r\u00e9side dans une h\u00e9morragie de puissance statistique. Dans les enqu\u00eates \u00e9pid\u00e9miologiques ou sociologiques comportant des centaines de questions administr\u00e9es \u00e0 plusieurs milliers de participants, la probabilit\u00e9 qu&rsquo;un sujet pr\u00e9sente au moins une valeur manquante s&rsquo;accro\u00eet de fa\u00e7on exponentielle avec la dimensionnalit\u00e9 du protocole. Supprimer tous les cas incomplets peut ainsi conduire \u00e0 amputer le jeu de donn\u00e9es de 30 % \u00e0 60 % de son effectif initial, augmentant consid\u00e9rablement l&rsquo;erreur type des estimateurs et compromettant la capacit\u00e9 des tests statistiques \u00e0 d\u00e9tecter des tailles d&rsquo;effet pourtant cliniquement ou scientifiquement pertinentes.<\/p>\n<p>La seconde cons\u00e9quence, plus insidieuse encore, touche au biais d&rsquo;estimation des param\u00e8tres de population. Si le m\u00e9canisme g\u00e9n\u00e9rateur de manquance s&rsquo;\u00e9carte de la stricte hypoth\u00e8se MCAR pour relever du r\u00e9gime MAR ou MNAR, l&rsquo;\u00e9chantillon tronqu\u00e9 ne constitue plus une repr\u00e9sentation homoth\u00e9tique de la population cible. Les estimateurs ponctuels de tendance centrale (moyennes, proportions) et les coefficients de r\u00e9gression lin\u00e9aire ou logistique d\u00e9riv\u00e9s des cas complets subissent alors un biais syst\u00e9matique impossible \u00e0 corriger a posteriori. La validit\u00e9 interne de l&rsquo;\u00e9tude s&rsquo;en trouve irr\u00e9m\u00e9diablement compromise.<\/p>\n<p>Enfin, la d\u00e9formation structurelle de la variance et de la matrice de variance-covariance repr\u00e9sente un danger m\u00e9trologique majeur. L&rsquo;\u00e9limination des profils incomplets restreint arbitrairement l&rsquo;\u00e9tendue des covariations observ\u00e9es dans l&rsquo;espace multidimensionnel. En r\u00e9duisant artificiellement la variabilit\u00e9 conjointe, cette pratique fausse l&rsquo;estimation des corr\u00e9lations bivari\u00e9es et multivari\u00e9es, alt\u00e8re les structures factorielles lors d&rsquo;analyses en composantes principales (ACP) ou d&rsquo;analyses factorielles confirmatoires, et peut conduire \u00e0 identifier des relations fallacieuses ou \u00e0 masquer des colin\u00e9arit\u00e9s cruciales pour la stabilit\u00e9 des mod\u00e8les pr\u00e9dictifs.<\/p>\n<h3>1.3 Repr\u00e9sentation et gestion native de NA dans l&rsquo;environnement R<\/h3>\n<p>Pour appr\u00e9hender sereinement l&rsquo;ing\u00e9nierie des donn\u00e9es manquantes en langage R, il est imp\u00e9ratif d&rsquo;en comprendre l&rsquo;infrastructure logique native. L&rsquo;interpr\u00e9teur R int\u00e8gre un type d&rsquo;objet atomique r\u00e9serv\u00e9, baptis\u00e9 <strong>NA<\/strong> (acronyme de <em>Not Available<\/em>), qui incarne conceptuellement une constante logique signifiant l&rsquo;absence d&rsquo;information ou l&rsquo;inconnu m\u00e9trologique. Contrairement \u00e0 de nombreux langages de bas niveau o\u00f9 l&rsquo;absence de valeur est cod\u00e9e par des sentinelles num\u00e9riques arbitraires (telles que -999 ou 9999) ou par un pointeur nul g\u00e9n\u00e9rique, R alloue des types typ\u00e9s pour <code>NA<\/code> (par exemple <code>NA_integer_<\/code>, <code>NA_real_<\/code>, <code>NA_complex_<\/code> et <code>NA_character_<\/code>), assurant ainsi une coh\u00e9rence interne stricte lors de l&rsquo;ex\u00e9cution vectorielle.<\/p>\n<p>Il convient de distinguer m\u00e9ticuleusement <code>NA<\/code> de trois autres entit\u00e9s computationnelles souvent confondues par les analystes :<\/p>\n<ul>\n<li><strong>NaN<\/strong> (<em>Not a Number<\/em>) : Repr\u00e9sente une ind\u00e9termination math\u00e9matique issue d&rsquo;une op\u00e9ration arithm\u00e9tique ill\u00e9gale, telle qu&rsquo;une division de z\u00e9ro par z\u00e9ro ou le calcul du logarithme d&rsquo;un nombre strictement n\u00e9gatif. Tout <code>NaN<\/code> est formellement trait\u00e9 comme un <code>NA<\/code> au sens logique par la fonction de test <code>is.na()<\/code>, mais la r\u00e9ciproque n&rsquo;est pas vraie.<\/li>\n<li><strong>NULL<\/strong> : D\u00e9signe l&rsquo;absence d&rsquo;objet ou une structure vide en m\u00e9moire. <code>NULL<\/code> ne poss\u00e8de pas de dimension, ne peut r\u00e9sider au sein d&rsquo;un vecteur atomique homog\u00e8ne et poss\u00e8de son propre op\u00e9rateur de test <code>is.null()<\/code>.<\/li>\n<li><strong>Inf et -Inf<\/strong> : Repr\u00e9sentent les limites infinies r\u00e9sultant de divisions par z\u00e9ro de nombres r\u00e9els non nuls. Ce sont des valeurs num\u00e9riques valides au sens arithm\u00e9tique et elles ne sont pas qualifi\u00e9es de valeurs manquantes par les fonctions natives de R.<\/li>\n<\/ul>\n<p>Une caract\u00e9ristique fondamentale de l&rsquo;impl\u00e9mentation de <code>NA<\/code> en R r\u00e9side dans le principe de propagation syst\u00e9matique lors des op\u00e9rations scalaires et vectorielles. Par application stricte de la logique tri-valu\u00e9e (vrai, faux, inconnu), toute op\u00e9ration arithm\u00e9tique ou relationnelle impliquant un op\u00e9rande manquant aboutit in\u00e9luctablement \u00e0 un r\u00e9sultat manquant. L&rsquo;addition de cinq et d&rsquo;une valeur inconnue est intrins\u00e8quement inconnue (<code>5 + NA<\/code> renvoie invariablement <code>NA<\/code>). De fa\u00e7on analogue, l&rsquo;application na\u00efve d&rsquo;une fonction de r\u00e9duction statistique comme <code>mean(x)<\/code>, <code>sd(x)<\/code> ou <code>median(x)<\/code> sur un vecteur contenant au moins un <code>NA<\/code> se solde par la restitution imm\u00e9diate de <code>NA<\/code>, prot\u00e9geant ainsi l&rsquo;analyste contre un calcul aveugle qui masquerait une d\u00e9perdition d&rsquo;information.<\/p>\n<p>Pour court-circuiter cette propagation conservative et contraindre R \u00e0 ex\u00e9cuter l&rsquo;estimation sur les seules valeurs observ\u00e9es, les fonctions statistiques de base exposent l&rsquo;argument logique <code>na.rm = TRUE<\/code> (pour <em>NA remove<\/em>). L&rsquo;activation de cet argument demande au moteur sous-jacent d&rsquo;exclure les \u00e9l\u00e9ments non renseign\u00e9s avant d&rsquo;\u00e9valuer la statistique d&rsquo;int\u00e9r\u00eat. Si cette flexibilit\u00e9 syntaxique est hautement commode, elle doit \u00eatre mobilis\u00e9e avec discernement, car l&rsquo;usage irr\u00e9fl\u00e9chi de <code>na.rm = TRUE<\/code> revient \u00e0 ex\u00e9cuter une suppression univari\u00e9e par d\u00e9faut, sans v\u00e9rification pr\u00e9alable du m\u00e9canisme d&rsquo;omission.<\/p>\n<h2>2. Diagnostic et exploration syst\u00e9matique des valeurs manquantes<\/h2>\n<h3>2.1 Fonctions de d\u00e9tection et de quantification en R base<\/h3>\n<p>Avant d&rsquo;envisager la moindre intervention algorithmique sur une matrice de donn\u00e9es, le statisticien doit imp\u00e9rativement dresser un bilan quantitatif exhaustif du volume et de la localisation des donn\u00e9es manquantes. En environnement R de base, la d\u00e9tection des \u00e9l\u00e9ments non renseign\u00e9s repose sur l&rsquo;op\u00e9rateur vectoris\u00e9 <code>is.na()<\/code>. Cet op\u00e9rateur retourne un vecteur ou une matrice de bool\u00e9ens (de m\u00eame dimension que l&rsquo;objet \u00e9valu\u00e9) dont les composantes valent <code>TRUE<\/code> en pr\u00e9sence d&rsquo;une valeur <code>NA<\/code> et <code>FALSE<\/code> dans le cas contraire. Il est capital de souligner qu&rsquo;une comparaison directe via l&rsquo;op\u00e9rateur d&rsquo;\u00e9galit\u00e9 usuel (par exemple <code>df$variable == NA<\/code>) constitue une faute logique majeure : en vertu de la propagation \u00e9voqu\u00e9e pr\u00e9c\u00e9demment, une telle expression ne produit qu&rsquo;un vecteur enti\u00e8rement satur\u00e9 de <code>NA<\/code> sans jamais discriminer les composantes manquantes.<\/p>\n<p>Pour valider l&rsquo;int\u00e9grit\u00e9 globale d&rsquo;une structure sans g\u00e9n\u00e9rer d&rsquo;affichages matriciels volumineux, la fonction <code>anyNA()<\/code> fournit un contr\u00f4le bool\u00e9en rapide et \u00e9conome en m\u00e9moire vive. Appliqu\u00e9e \u00e0 un data frame ou \u00e0 un vecteur atomique, <code>anyNA(df)<\/code> retourne imm\u00e9diatement <code>TRUE<\/code> d\u00e8s la premi\u00e8re occurrence d&rsquo;une valeur manquante rencontr\u00e9e, permettant de conditionner l&rsquo;ex\u00e9cution de pipelines de nettoyage plus complexes.<\/p>\n<p>La quantification fine de l&rsquo;incompl\u00e9tude \u00e0 l&rsquo;\u00e9chelle des variables (colonnes) requiert l&rsquo;association de l&rsquo;indexation matricielle avec les fonctions de sommation par agr\u00e9gation. Sachant qu&rsquo;en R les valeurs logiques <code>TRUE<\/code> et <code>FALSE<\/code> sont implicitement converties en 1 et 0 lors des op\u00e9rations arithm\u00e9tiques, l&rsquo;appel \u00e0 <code>colSums(is.na(df))<\/code> d\u00e9nombre instantan\u00e9ment le total absolu de valeurs manquantes log\u00e9es dans chaque attribut. Pour obtenir la proportion relative d&rsquo;omission, la combinaison <code>colMeans(is.na(df))<\/code> ou l&rsquo;usage de <code>apply(df, 2, function(x) mean(is.na(x)))<\/code> renvoie un profil vectoriel normalis\u00e9 entre 0 et 1. Ces m\u00e9triques permettent d&rsquo;isoler rapidement les variables dont le taux de d\u00e9faillance exc\u00e8de les seuils critiques admissibles (par exemple plus de 40 % ou 50 % de manquance), orientant le praticien vers leur possible exclusion pr\u00e9liminaire.<\/p>\n<p>R\u00e9ciproquement, l&rsquo;\u00e9valuation du profil d&rsquo;incompl\u00e9tude au niveau des observations (lignes) constitue une \u00e9tape indispensable pour diagnostiquer la pr\u00e9sence de sujets hyper-incomplets. L&rsquo;\u00e9valuation de <code>rowSums(is.na(df))<\/code> g\u00e9n\u00e8re un vecteur indiquant pour chaque unit\u00e9 statistique le nombre exact de variables pour lesquelles aucune information n&rsquo;a \u00e9t\u00e9 collect\u00e9e. L&rsquo;inspection de la distribution de ces scores de manques individuels (via un simple appel \u00e0 <code>table(rowSums(is.na(df)))<\/code>) permet de dissocier les observations pr\u00e9sentant des omissions \u00e9parses de celles r\u00e9sultant d&rsquo;abandons pr\u00e9coces d&rsquo;enqu\u00eates ou d&rsquo;\u00e9checs globaux de num\u00e9risation, justifiant dans ce dernier cas pr\u00e9cis une suppression unitaire cibl\u00e9e.<\/p>\n<h3>2.2 Cartographie visuelle de l&rsquo;incompl\u00e9tude avec les packages sp\u00e9cialis\u00e9s<\/h3>\n<p>L&rsquo;inspection purement num\u00e9rique des taux d&rsquo;omission par ligne ou par colonne \u00e9choue souvent \u00e0 r\u00e9v\u00e9ler les structures de d\u00e9pendance spatiale ou temporelle des manques. Pour combler cette limite cognitive, la communaut\u00e9 R a d\u00e9velopp\u00e9 des biblioth\u00e8ques logicielles hautement sp\u00e9cialis\u00e9es dans la cartographie graphique et combinatoire de la non-r\u00e9ponse. Parmi celles-ci, les packages <strong>naniar<\/strong>, <strong>visdat<\/strong> et <strong>VIM<\/strong> constituent la trilogie d&rsquo;excellence pour l&rsquo;analyste moderne.<\/p>\n<p>Le package <a rel=\"noopener noreferrer\" href=\"https:\/\/cran.r-project.org\/package=naniar\">naniar<\/a>, d\u00e9velopp\u00e9 par Nicholas Tierney, s&rsquo;int\u00e8gre harmonieusement dans la philosophie moderne de la manipulation de donn\u00e9es. Il introduit la notion de structure de donn\u00e9es augment\u00e9e par une ombre (<em>shadow matrix<\/em>), dans laquelle chaque variable originale est dupliqu\u00e9e sous forme d&rsquo;un facteur indiquant son statut d&rsquo;observation. Sur le plan visuel, la fonction <code>vis_miss()<\/code> issue de <em>visdat<\/em> (ou son pendant dans <em>naniar<\/em>) produit une restitution matricielle compl\u00e8te du jeu de donn\u00e9es sous forme de carte thermique bidimensionnelle haute r\u00e9solution. Chaque cellule du jeu de donn\u00e9es y est repr\u00e9sent\u00e9e selon qu&rsquo;elle contient une valeur valide ou manquante, avec un r\u00e9capitulatif synth\u00e9tique des pourcentages par variable et pour la table enti\u00e8re. Cette cartographie globale permet de d\u00e9tecter en un coup d&rsquo;\u0153il les grappes d&rsquo;incompl\u00e9tude, les blocs temporels de d\u00e9faillance d&rsquo;instrumentation ou l&rsquo;apparition de profils p\u00e9riodiques d&rsquo;omission.<\/p>\n<p>Au-del\u00e0 de la repr\u00e9sentation matricielle unitaire, le package <strong>VIM<\/strong> (<em>Visualization and Imputation of Missing Values<\/em>) excelle dans la production de diagrammes combinatoires d&rsquo;incompl\u00e9tude via sa fonction embl\u00e9matique <code>aggr()<\/code>. Cet outil synth\u00e9tise simultan\u00e9ment deux dimensions fondamentales : d&rsquo;une part, un histogramme vertical affichant le taux de valeurs manquantes pour chaque attribut d\u00e9limit\u00e9 ; d&rsquo;autre part, un diagramme matriciel combinatoire r\u00e9pertoriant tous les patrons d&rsquo;absence conjoints observables dans l&rsquo;\u00e9chantillon. Cette vue combinatoire permet de d\u00e9celer si certaines variables \u00e9chouent syst\u00e9matiquement de mani\u00e8re simultan\u00e9e. Si, par exemple, la variable \u00ab revenu du conjoint \u00bb et \u00ab dipl\u00f4me du conjoint \u00bb sont toujours manquantes de concert, le praticien identifie imm\u00e9diatement un patron d\u00e9terministe conditionn\u00e9 par la situation matrimoniale du sujet, plut\u00f4t qu&rsquo;une omission al\u00e9atoire ind\u00e9pendante.<\/p>\n<h3>2.3 Tests formels de caract\u00e9risation du m\u00e9canisme d&rsquo;omission<\/h3>\n<p>Si la visualisation graphique autorise des intuitions f\u00e9condes, la rigueur m\u00e9trologique exige de soumettre les distributions empiriques \u00e0 des tests d&rsquo;hypoth\u00e8se formels pour tenter de discriminer le m\u00e9canisme g\u00e9n\u00e9rateur de donn\u00e9es manquantes. Dans cette perspective, le test de Little constitue le standard m\u00e9thodologique dominant pour mettre \u00e0 l&rsquo;\u00e9preuve l&rsquo;hypoth\u00e8se nulle selon laquelle les donn\u00e9es sont distribu\u00e9es compl\u00e8tement au hasard (MCAR).<\/p>\n<p>D\u00e9velopp\u00e9 par Roderick Little en 1988, ce test d&rsquo;homog\u00e9n\u00e9it\u00e9 globale \u00e9value si les moyennes observ\u00e9es pour diff\u00e9rents sous-groupes d\u00e9finis par leurs patrons de donn\u00e9es manquantes s&rsquo;\u00e9cartent de fa\u00e7on statistiquement significative des moyennes globales estim\u00e9es par l&rsquo;algorithme Esp\u00e9rance-Maximisation (EM). En R, ce test est accessible \u00e0 travers la fonction <code>mcar_test()<\/code> du package <em>naniar<\/em> (ou via le package <em>BaylorEdPsych<\/em>). La statistique de test d\u00e9riv\u00e9e suit asymptotiquement une loi du Chi-deux dont les degr\u00e9s de libert\u00e9 d\u00e9pendent du nombre de patrons d&rsquo;incompl\u00e9tude et de param\u00e8tres estim\u00e9s. L&rsquo;obtention d&rsquo;une p-valeur sup\u00e9rieure au seuil canonique de 0,05 conduit \u00e0 ne pas rejeter l&rsquo;hypoth\u00e8se MCAR, conf\u00e9rant ainsi une relative s\u00e9curit\u00e9 statistique \u00e0 l&rsquo;usage de m\u00e9thodes d&rsquo;imputation simplifi\u00e9es.<\/p>\n<p>Toutefois, une vigilance \u00e9pist\u00e9mologique aigu\u00eb s&rsquo;impose quant \u00e0 l&rsquo;interpr\u00e9tation des r\u00e9sultats de ce test formel. D&rsquo;une part, le test de Little repose sur une hypoth\u00e8se sous-jacente de normalit\u00e9 multivari\u00e9e des distributions continues ; en pr\u00e9sence d&rsquo;asym\u00e9tries s\u00e9v\u00e8res ou de variables ordinales, sa sensibilit\u00e9 peut \u00eatre fortement biais\u00e9e. D&rsquo;autre part, comme tout test fond\u00e9 sur la distribution du Chi-deux, il est hautement sensible \u00e0 la puissance de l&rsquo;\u00e9chantillon : sur de tr\u00e8s grandes cohortes, des d\u00e9viations minimes et d\u00e9nu\u00e9es de toute pertinence pratique conduiront \u00e0 rejeter ind\u00fbment l&rsquo;hypoth\u00e8se MCAR. Enfin et surtout, le test de Little est intrins\u00e8quement incapable de faire la distinction entre un m\u00e9canisme MAR et un m\u00e9canisme MNAR. Aucun test statistique d&rsquo;hypoth\u00e8se ne peut math\u00e9matiquement valider qu&rsquo;un jeu de donn\u00e9es rel\u00e8ve du statut MAR plut\u00f4t que MNAR, car cette distinction repose sur l&rsquo;ind\u00e9pendance conditionnelle vis-\u00e0-vis d&rsquo;informations non observ\u00e9es par d\u00e9finition. Le diagnostic ultime doit donc demeurer une synth\u00e8se lucide entre r\u00e9sultats empiriques, analyses bivari\u00e9es comparant r\u00e9pondants et non-r\u00e9pondants (via des tests de Student ou du Chi-deux sur des variables indicatrices de pr\u00e9sence), et connaissances expertes du domaine \u00e9tudi\u00e9.<\/p>\n<h2>3. Imputation univari\u00e9e simple : Remplacement par la moyenne arithm\u00e9tique<\/h2>\n<h3>3.1 Syntaxe fondamentale pour l&rsquo;imputation d&rsquo;une variable isol\u00e9e<\/h3>\n<p>L&rsquo;imputation univari\u00e9e par la moyenne arithm\u00e9tique constitue historiquement la premi\u00e8re r\u00e9ponse heuristique d\u00e9velopp\u00e9e face au probl\u00e8me des donn\u00e9es manquantes. Son impl\u00e9mentation en langage R de base se caract\u00e9rise par une \u00e9conomie conceptuelle et syntaxique remarquable, exploitant l&rsquo;indexation logique conditionnelle par crochets droits. Pour une variable num\u00e9rique continue donn\u00e9e, l&rsquo;objectif consiste \u00e0 cibler exclusivement les indices de position h\u00e9bergeant une valeur manquante et \u00e0 leur r\u00e9assigner la constante scalaire repr\u00e9sentant la moyenne empirique calcul\u00e9e sur les seules observations valides.<\/p>\n<p>Sur le plan programmatique, cette op\u00e9ration s&rsquo;ex\u00e9cute \u00e0 travers la syntaxe canonique suivante :<\/p>\n<p><code>df<span class=\"arabpsy-math-inline\" data-latex=\"score[is.na(df\">$score[is.na(df$<\/span>score)] &lt;- mean(df$score, na.rm = TRUE)<\/code><\/p>\n<p>Dans cette s\u00e9quence expressive, la clause <code>is.na(df$score)<\/code> g\u00e9n\u00e8re un vecteur bool\u00e9en qui active l&rsquo;assignation s\u00e9lective uniquement pour les cellules d\u00e9faillantes. Simultan\u00e9ment, l&rsquo;\u00e9valuation de <code>mean(df$score, na.rm = TRUE)<\/code> d\u00e9rive la valeur d&rsquo;imputation en neutralisant les <code>NA<\/code> pr\u00e9existants, \u00e9vitant la propagation de l&rsquo;ind\u00e9termination. Une fois la r\u00e9assignation vectorielle op\u00e9r\u00e9e, la validation imm\u00e9diate s&rsquo;effectue en s&rsquo;assurant que <code>anyNA(df$score)<\/code> renvoie d\u00e9sormais <code>FALSE<\/code> et que le nombre d&rsquo;enregistrements correspond exactement \u00e0 la dimension initiale du vecteur.<\/p>\n<h3>3.2 Impacts psychom\u00e9triques et distributionnels de la moyenne<\/h3>\n<p>Bien que cette proc\u00e9dure jouisse d&rsquo;une popularit\u00e9 persistante li\u00e9e \u00e0 son imm\u00e9diatet\u00e9 calculatoire, ses r\u00e9percussions sur les propri\u00e9t\u00e9s m\u00e9trologiques et inf\u00e9rentielles de l&rsquo;\u00e9chantillon sont universellement reconnues comme d\u00e9l\u00e9t\u00e8res par les statisticiens m\u00e9thodologues. En substituant une valeur invariante et d\u00e9terministe \u00e0 l&rsquo;ensemble des \u00e9l\u00e9ments manquants, l&rsquo;analyste injecte artificiellement une pointe de Dirac au centre exact de la distribution empirique.<\/p>\n<p>Le premier d\u00e9sastre distributionnel concerne l&rsquo;atrophie syst\u00e9matique de la variance \u00e9chantillonnale. En concentrant arbitrairement une proportion substantielle des effectifs sur la moyenne math\u00e9matique, la somme des carr\u00e9s des \u00e9carts \u00e0 la moyenne n&rsquo;enregistre aucune contribution issue des valeurs imput\u00e9es, alors m\u00eame que le d\u00e9nominateur de la formule de la variance (la taille de l&rsquo;\u00e9chantillon <em>n &#8211; 1<\/em>) augmente pour int\u00e9grer ces cas r\u00e9put\u00e9s compl\u00e9t\u00e9s. La variance observ\u00e9e se trouve donc m\u00e9caniquement contract\u00e9e vers le bas. Par voie de cons\u00e9quence, les erreurs types des estimateurs sont s\u00e9v\u00e8rement sous-estim\u00e9es, induisant des intervalles de confiance artificiellement resserr\u00e9s et gonflant drastiquement le risque d&rsquo;erreur de type I (rejet intempestif de l&rsquo;hypoth\u00e8se nulle l\u00e0 o\u00f9 elle est pourtant v\u00e9rifi\u00e9e).<\/p>\n<p>Le second d\u00e9sastre m\u00e9trologique touche \u00e0 la d\u00e9gradation des relations bivari\u00e9es et multivari\u00e9es. L&rsquo;imputation univari\u00e9e par la moyenne postule implicitement que la valeur manquante d&rsquo;un individu ne d\u00e9pend d&rsquo;aucune de ses autres caract\u00e9ristiques document\u00e9es. De ce fait, elle dilue les relations de corr\u00e9lation de Pearson entre la variable imput\u00e9e et l&rsquo;ensemble des covariables du jeu de donn\u00e9es. Ce ph\u00e9nom\u00e8ne d&rsquo;att\u00e9nuation tire syst\u00e9matiquement les coefficients de r\u00e9gression vers l&rsquo;origine, d\u00e9gradant la fid\u00e9lit\u00e9 pr\u00e9dictive des mod\u00e8les et biaisant les param\u00e8tres de trajectoire dans les mod\u00e9lisations en \u00e9quations structurelles.<\/p>\n<h3>3.3 D\u00e9monstration pas \u00e0 pas sur jeu de donn\u00e9es simul\u00e9<\/h3>\n<p>Afin de quantifier empiriquement l&rsquo;ampleur de ces distorsions, consid\u00e9rons la simulation rigoureuse d&rsquo;un \u00e9chantillon gaussien standardis\u00e9 sous R, dans lequel nous introduisons d\u00e9lib\u00e9r\u00e9ment une perte d&rsquo;information sous le m\u00e9canisme MCAR. Consid\u00e9rons un vecteur initial de mille observations distribu\u00e9es selon une loi normale centr\u00e9e r\u00e9duite, avec une moyenne th\u00e9orique de z\u00e9ro et un \u00e9cart-type de un. Introduisons ensuite un taux d&rsquo;omission contr\u00f4l\u00e9 de 25 % en s\u00e9lectionnant al\u00e9atoirement deux cent cinquante positions matricielles pour leur assigner la valeur <code>NA<\/code>.<\/p>\n<p>Lors de l&rsquo;inspection descriptive initiale de ce jeu incomplet, le calcul de l&rsquo;\u00e9cart-type sur les sept cent cinquante observations valides restantes (via <code>sd(valeurs, na.rm = TRUE)<\/code>) fluctue \u00e9troitement autour de la valeur nominale de 1,00, confirmant l&rsquo;absence de biais distributionnel sous le m\u00e9canisme MCAR. En appliquant ensuite l&rsquo;imputation par la moyenne globale \u00e0 l&rsquo;aide de la syntaxe vectorielle standardis\u00e9e, l&rsquo;\u00e9cart-type recalcul\u00e9 sur les mille unit\u00e9s d\u00e9sormais compl\u00e9t\u00e9es s&rsquo;effondre de mani\u00e8re spectaculaire pour s&rsquo;\u00e9tablir aux alentours de 0,86. Cette perte de quatorze pour cent de dispersion statistique illustre de mani\u00e8re \u00e9clatante la falsification structurelle induite par le proc\u00e9d\u00e9. De surcro\u00eet, le kurtosis (coefficient d&rsquo;aplatissement de Pearson) enregistre une \u00e9l\u00e9vation anormale, traduisant une concentration leptokurtique excessive autour de la valeur centrale qui alt\u00e8re la normalit\u00e9 univari\u00e9e n\u00e9cessaire \u00e0 l&rsquo;application des tests param\u00e9triques subs\u00e9quents.<\/p>\n<h2>4. Imputation par la m\u00e9diane pour distributions asym\u00e9triques<\/h2>\n<h3>4.1 Justification th\u00e9orique face aux valeurs extr\u00eames<\/h3>\n<p>Lorsque les distributions empiriques s&rsquo;\u00e9cartent du mod\u00e8le th\u00e9orique de la loi normale pour afficher des asym\u00e9tries prononc\u00e9es (<em>skewness<\/em>) ou des queues de distribution \u00e9paisses peupl\u00e9es de valeurs extr\u00eames ou aberrantes, le recours \u00e0 la moyenne arithm\u00e9tique devient scientifiquement ind\u00e9fendable. En tant que moment statistique d&rsquo;ordre un, la moyenne poss\u00e8de un point de rupture \u00e9gal \u00e0 z\u00e9ro : une unique valeur d\u00e9mesur\u00e9ment \u00e9lev\u00e9e ou basse suffit \u00e0 d\u00e9placer arbitrairement la valeur d&rsquo;imputation dans une zone totalement d\u00e9connect\u00e9e de la masse de probabilit\u00e9 principale de la variable.<\/p>\n<p>Dans ce contexte, la m\u00e9diane, d\u00e9finie comme la statistique d&rsquo;ordre divisant l&rsquo;\u00e9chantillon ordonn\u00e9 en deux effectifs rigoureusement \u00e9gaux, offre une robustesse m\u00e9trologique sup\u00e9rieure gr\u00e2ce \u00e0 un point de rupture atteignant 50 %. Elle capture fid\u00e8lement la tendance centrale typique sans se laisser influencer par les valeurs atypiques log\u00e9es dans les queues distributionnelles. Cette propri\u00e9t\u00e9 prend une r\u00e9sonance critique lors du traitement de variables \u00e9conomiques (telles que le patrimoine net ou les d\u00e9penses de sant\u00e9 des m\u00e9nages) ou psychom\u00e9triques (\u00e9chelles ordinales de Likert, temps de latence cognitive). Pour ces m\u00e9triques, imputer par la m\u00e9diane garantit que la valeur de substitution attribu\u00e9e aux cas manquants refl\u00e8te une modalit\u00e9 plausible et repr\u00e9sentative de la r\u00e9alit\u00e9 comportementale observ\u00e9e.<\/p>\n<h3>4.2 Impl\u00e9mentation pratique de l&rsquo;imputation m\u00e9diane en R base<\/h3>\n<p>L&rsquo;op\u00e9rationnalisation de l&rsquo;imputation m\u00e9diane en R de base s&rsquo;aligne fid\u00e8lement sur l&rsquo;architecture conditionnelle de l&rsquo;imputation par la moyenne, tout en substituant l&rsquo;appel de fonction \u00e0 <code>median()<\/code>. La directive s&rsquo;ex\u00e9cute ainsi :<\/p>\n<p><code>df<span class=\"arabpsy-math-inline\" data-latex=\"reve\\nu[is.na(df\">$reve\\nu[is.na(df$<\/span>revenu)] &lt;- median(df$revenu, na.rm = TRUE)<\/code><\/p>\n<p>Une pr\u00e9caution technique essentielle concerne le traitement des variables quantitatives discr\u00e8tes ou des scores d&rsquo;\u00e9chelles de Likert cod\u00e9s sous forme d&rsquo;entiers. Lorsque l&rsquo;\u00e9chantillon observ\u00e9 comprend un nombre pair d&rsquo;\u00e9l\u00e9ments valides, la fonction <code>median()<\/code> de R calcule par d\u00e9faut la demi-somme des deux valeurs centrales, ce qui peut r\u00e9sulter en une valeur d\u00e9cimale interm\u00e9diaire (par exemple 3,5 sur une \u00e9chelle gradu\u00e9e de 1 \u00e0 5). Si l&rsquo;analyste souhaite imp\u00e9rativement pr\u00e9server l&rsquo;int\u00e9grit\u00e9 discr\u00e8te de l&rsquo;attribut, il doit encapsuler l&rsquo;expression dans une fonction d&rsquo;arrondi appropri\u00e9e, telle que <code>round(median(df$score, na.rm = TRUE))<\/code>, garantissant que la valeur imput\u00e9e appartienne formellement \u00e0 l&rsquo;espace d&rsquo;\u00e9tat observable de l&rsquo;\u00e9chelle d&rsquo;\u00e9valuation.<\/p>\n<h3>4.3 \u00c9tude comparative : Moyenne vs M\u00e9diane<\/h3>\n<p>L&rsquo;arbitrage formel entre l&rsquo;imputation par la moyenne et l&rsquo;imputation par la m\u00e9diane repose sur l&rsquo;\u00e9valuation conjointe de deux crit\u00e8res d&rsquo;erreur : l&rsquo;\u00e9cart quadratique moyen (RMSE) et l&rsquo;\u00e9cart absolu moyen (MAE). Sur le plan th\u00e9orique de l&rsquo;optimisation math\u00e9matique, la moyenne minimise la somme des carr\u00e9s des erreurs par rapport aux observations r\u00e9elles, tandis que la m\u00e9diane minimise la somme des valeurs absolues des d\u00e9viations. Par cons\u00e9quent, d\u00e8s lors que la fonction de perte privil\u00e9gi\u00e9e par le chercheur vise la r\u00e9silience face aux erreurs substantielles isol\u00e9es, la m\u00e9diane surpasse structurellement la moyenne.<\/p>\n<p>Sur le plan distributionnel, une analyse compar\u00e9e men\u00e9e sur des donn\u00e9es log-normales (caract\u00e9ristiques des salaires ou des temps de survie) d\u00e9montre que l&rsquo;imputation par la moyenne distord consid\u00e9rablement le coefficient d&rsquo;asym\u00e9trie de l&rsquo;\u00e9chantillon imput\u00e9, car elle place la valeur d&rsquo;imputation bien au-del\u00e0 de la zone de densit\u00e9 maximale, dans le flanc descendant de la courbe. \u00c0 l&rsquo;inverse, l&rsquo;imputation par la m\u00e9diane maintient le pic de densit\u00e9 \u00e0 son emplacement naturel. Il est d\u00e8s lors formellement recommand\u00e9, pour toute analyse univari\u00e9e d\u00e9terministe, d&rsquo;\u00e9valuer pr\u00e9alablement le coefficient d&rsquo;asym\u00e9trie de Fisher-Pearson : si la valeur absolue du coefficient exc\u00e8de 1,0, l&rsquo;imputation m\u00e9diane doit pr\u00e9valoir sur l&rsquo;imputation par la moyenne afin de limiter les distorsions de repr\u00e9sentativit\u00e9.<\/p>\n<h2>5. Traitement des variables cat\u00e9gorielles : Imputation par le mode<\/h2>\n<h3>5.1 Algorithmique du calcul du mode en langage R<\/h3>\n<p>Lorsque le processus de nettoyage se confronte \u00e0 des variables qualitatives, qu&rsquo;elles soient nominales (nationalit\u00e9, statut d&#8217;emploi) ou ordinales non assimilables \u00e0 des m\u00e9triques continues, les concepts de moyenne et de m\u00e9diane perdent toute signification arithm\u00e9tique. Le param\u00e8tre de tendance centrale ad\u00e9quat devient alors le mode statistique, d\u00e9fini comme la modalit\u00e9 ou le niveau de facteur affichant la fr\u00e9quence empirique d&rsquo;apparition la plus \u00e9lev\u00e9e dans l&rsquo;\u00e9chantillon observ\u00e9.<\/p>\n<p>Curieusement, l&rsquo;interpr\u00e9teur de base du langage R ne propose pas de fonction int\u00e9gr\u00e9e nomm\u00e9e <code>mode()<\/code> d\u00e9di\u00e9e \u00e0 l&rsquo;extraction de la fr\u00e9quence modale (la commande native <code>mode(x)<\/code> servant exclusivement \u00e0 interroger le mode de stockage d&rsquo;un objet en m\u00e9moire interne, tel que <em>numeric<\/em>, <em>character<\/em> ou <em>logical<\/em>). L&rsquo;analyste doit par cons\u00e9quent impl\u00e9menter son propre algorithme fonctionnel. La construction canonique repose sur l&rsquo;interaction des fonctions <code>table()<\/code> et <code>which.max()<\/code> :<\/p>\n<p><code>calculer_mode &lt;- function(v) { table_v &lt;- table(v); names(table_v)[which.max(table_v)] }<\/code><\/p>\n<p>Cette syntaxe compile la distribution de fr\u00e9quences marginales en excluant nativement les <code>NA<\/code>, isole la position de l&rsquo;effectif maximal gr\u00e2ce \u00e0 <code>which.max()<\/code>, puis extrait le nom textuel associ\u00e9 \u00e0 cet indice. Dans les contextes o\u00f9 l&rsquo;on g\u00e8re des distributions bimodales ou multimodales parfaites, un algorithme plus sophistiqu\u00e9 est requis afin d&rsquo;\u00e9viter de privil\u00e9gier syst\u00e9matiquement la premi\u00e8re cat\u00e9gorie rencontr\u00e9e dans l&rsquo;ordre d&rsquo;\u00e9num\u00e9ration, par exemple en proc\u00e9dant \u00e0 un tirage au sort al\u00e9atoire \u00e9quiprobable parmi l&rsquo;ensemble des modalit\u00e9s partageant le rang maximal.<\/p>\n<h3>5.2 Application sur facteurs et vecteurs nominaux<\/h3>\n<p>L&rsquo;application concr\u00e8te de l&rsquo;imputation par le mode sur un vecteur de type <code>factor<\/code> requiert une manipulation soigneuse de la structure de ses niveaux d&rsquo;attribut (<code>levels<\/code>). En environnement R, toute tentative d&rsquo;assigner une cha\u00eene textuelle absente de la nomenclature pr\u00e9\u00e9tablie des niveaux du facteur g\u00e9n\u00e8re imm\u00e9diatement une valeur manquante suppl\u00e9mentaire assortie d&rsquo;un avertissement explicite. Heureusement, puisque le mode est par essence extrait des valeurs observ\u00e9es, ce risque est structurellement neutralis\u00e9 d\u00e8s lors que le vecteur cible est correctement format\u00e9.<\/p>\n<p>La mise en \u0153uvre pratique s&rsquo;articule comme suit sur un facteur :<\/p>\n<p><code>valeur_modale &lt;- names(which.max(table(df$groupe)))<\/code><br \/>\n<code>df<span class=\"arabpsy-math-inline\" data-latex=\"groupe[is.na(df\">$groupe[is.na(df$<\/span>groupe)] &lt;- valeur_modale<\/code><\/p>\n<p>Bien que cette d\u00e9marche restaure une matrice rectangulaire sans lacunes, ses cons\u00e9quences m\u00e9thodologiques sont \u00e9minemment probl\u00e9matiques. En assignant m\u00e9caniquement la cat\u00e9gorie modale \u00e0 tous les profils de non-r\u00e9pondants, on proc\u00e8de \u00e0 un surgonflement artificiel de la pr\u00e9valence marginale de cette classe majoritaire. L&rsquo;h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9 qualitative de l&rsquo;\u00e9chantillon se trouve artificiellement r\u00e9duite, et les tables de contingence bivari\u00e9es (croisant cette variable imput\u00e9e avec d&rsquo;autres facteurs de stratification) subissent une alt\u00e9ration drastique des statistiques du test du Chi-deux et des rapports de cotes (<em>odds ratios<\/em>), faussant la d\u00e9tection des interactions sociologiques ou biologiques r\u00e9elles.<\/p>\n<h3>5.3 Alternatives probabilistes pour les attributs discrets<\/h3>\n<p>Afin d&rsquo;\u00e9chapper \u00e0 la distorsion unilat\u00e9rale impos\u00e9e par l&rsquo;imputation d\u00e9terministe du mode, l&rsquo;analyste rigoureux peut mobiliser une imputation probabiliste univari\u00e9e fond\u00e9e sur le tirage al\u00e9atoire proportionnel aux fr\u00e9quences marginales observ\u00e9es. Cette technique permet de respecter la distribution multinomiale de la variable d&rsquo;origine tout en \u00e9vitant d&rsquo;hypertrophier la classe dominante.<\/p>\n<p>En R, cette strat\u00e9gie probabiliste s&rsquo;orchestre avec une grande \u00e9l\u00e9gance \u00e0 l&rsquo;aide de la fonction g\u00e9n\u00e9rique <code>sample()<\/code> :<\/p>\n<p><code>indices_manquants &lt;- which(is.na(df$categorie))<\/code><br \/>\n<code>modalites_valides &lt;- na.omit(df$categorie)<\/code><br \/>\n<code>df$categorie[indices_manquants] &lt;- sample(modalites_valides, size = length(indices_manquants), replace = TRUE)<\/code><\/p>\n<p>Dans ce protocole, le vecteur de substitution est constitu\u00e9 par un r\u00e9\u00e9chantillonnage avec remise tir\u00e9 au sein de la population des observations int\u00e8gres. Par construction math\u00e9matique, chaque niveau de facteur poss\u00e8de une probabilit\u00e9 d&rsquo;assignation strictement identique \u00e0 sa proportion empirique au sein de l&rsquo;\u00e9chantillon valide. Cette m\u00e9thode pr\u00e9serve rigoureusement l&rsquo;entropie informationnelle, maintient la conformit\u00e9 des pourcentages globaux et pr\u00e9vient l&rsquo;effondrement de la variabilit\u00e9 cat\u00e9gorielle. Sa limite r\u00e9side toutefois, \u00e0 l&rsquo;instar des imputations univari\u00e9es continues, dans son incapacit\u00e9 \u00e0 capter les liens d&rsquo;association que cette variable entretient avec les autres descripteurs individuels.<\/p>\n<h2>6. Automatisation it\u00e9rative sur colonnes multiples en R base<\/h2>\n<h3>6.1 Impl\u00e9mentation par boucles it\u00e9ratives for<\/h3>\n<p>D\u00e8s lors que la structure tabulaire analys\u00e9e comprend plusieurs dizaines ou centaines de descripteurs alt\u00e9r\u00e9s par des taux variables de valeurs manquantes, la r\u00e9p\u00e9tition manuelle d&rsquo;instructions univari\u00e9es devient intenable sur le plan de l&rsquo;ing\u00e9nierie logicielle et expose le projet \u00e0 de nombreuses erreurs humaines. L&rsquo;automatisation du balayage des colonnes repr\u00e9sente donc une comp\u00e9tence op\u00e9rationnelle d\u00e9terminante pour le data scientist travaillant dans l&rsquo;environnement R de base.<\/p>\n<p>La premi\u00e8re voie d&rsquo;automatisation repose sur la conception d&rsquo;une boucle imp\u00e9rative <code>for<\/code> parcourant l&rsquo;ensemble de l&rsquo;espace indiciaire des colonnes via <code>seq_len(ncol(df))<\/code>. Un enjeu capital r\u00e9side dans le filtrage d\u00e9fensif pr\u00e9alable du type de chaque colonne : ex\u00e9cuter aveugl\u00e9ment un calcul de moyenne arithm\u00e9tique sur un vecteur de dates ou de cha\u00eenes textuelles d\u00e9clencherait l&rsquo;arr\u00eat imm\u00e9diat du script avec \u00e9mission d&rsquo;une erreur d&rsquo;incompatibilit\u00e9 de type. La boucle doit ainsi int\u00e9grer des gardes d&rsquo;ex\u00e9cution v\u00e9rifiant simultan\u00e9ment la nature de la variable et la pr\u00e9sence effective de donn\u00e9es manquantes :<\/p>\n<p><code>for (j in seq_along(df)) {<br \/>\n&nbsp;&nbsp;if (is.numeric(df[[j]]) &amp;&amp; anyNA(df[[j]])) {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;valeur_subst &lt;- mean(df[[j]], na.rm = TRUE)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;df[[j]][is.na(df[[j]])] &lt;- valeur_subst<br \/>\n&nbsp;&nbsp;}<br \/>\n}<\/code><\/p>\n<p>Sur le plan de l&rsquo;efficience algorithmique, cette approche it\u00e9rative en R de base pr\u00e9sente une complexit\u00e9 temporelle lin\u00e9aire par rapport au nombre de colonnes et se montre parfaitement performante sur des jeux de donn\u00e9es de taille moyenne (jusqu&rsquo;\u00e0 plusieurs centaines de milliers d&rsquo;enregistrements), \u00e0 condition d&rsquo;utiliser la double indexation par crochets <code>df[[j]]<\/code> qui \u00e9vite les copies structurelles superflues de l&rsquo;enveloppe du data frame.<\/p>\n<h3>6.2 Approches vectoris\u00e9es avec la famille apply<\/h3>\n<p>Bien que les boucles <code>for<\/code> soient devenues tr\u00e8s efficientes dans les versions r\u00e9centes de R gr\u00e2ce au compilateur d&rsquo;octocode (<em>byte-code compiler<\/em>), l&rsquo;idiome fondamental du langage repose sur le paradigme fonctionnel et la vectorisation de haut niveau incarn\u00e9e par la famille des fonctions <code>apply<\/code>. Pour la transformation en masse d&rsquo;un tableau de donn\u00e9es, <code>lapply()<\/code> constitue l&rsquo;outil de pr\u00e9dilection, car un data frame est formellement impl\u00e9ment\u00e9 en R sous forme d&rsquo;une liste cha\u00een\u00e9e de vecteurs de longueurs \u00e9gales.<\/p>\n<p>L&rsquo;op\u00e9rationnalisation fonctionnelle s&rsquo;ex\u00e9cute en projetant une fonction anonyme de mutation sur chaque \u00e9l\u00e9ment de la liste :<\/p>\n<p><code>df_impute &lt;- as.data.frame(lapply(df, function(col) {<br \/>\n&nbsp;&nbsp;if (is.numeric(col)) {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;col[is.na(col)] &lt;- median(col, na.rm = TRUE)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return(col)<br \/>\n&nbsp;&nbsp;} else if (is.factor(col) || is.character(col)) {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;mode_val &lt;- names(which.max(table(col)))<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;col[is.na(col)] &lt;- mode_val<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return(col)<br \/>\n&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;return(col)<br \/>\n}))<\/code><\/p>\n<p>Cette approche fonctionnelle offre l&rsquo;avantage insigne d&rsquo;isoler les effets de bord au sein de la closure d&rsquo;\u00e9valuation et de retourner un objet enti\u00e8rement r\u00e9assembl\u00e9 via <code>as.data.frame()<\/code>. Elle permet en outre de combiner au sein d&rsquo;une unique passe d&rsquo;ex\u00e9cution des r\u00e8gles d&rsquo;imputation diff\u00e9renci\u00e9es selon la typologie sous-jacente des vecteurs atomiques rencontr\u00e9s, conf\u00e9rant au script une concision et une lisibilit\u00e9 optimales conformes aux standards de l&rsquo;ing\u00e9nierie statistique.<\/p>\n<h3>6.3 D\u00e9veloppement d&rsquo;une routine modulaire et r\u00e9utilisable<\/h3>\n<p>Pour assurer la p\u00e9rennit\u00e9 et la reproductibilit\u00e9 des analyses dans des environnements de production ou de recherche collaborative, la meilleure pratique consiste \u00e0 encapsuler la logique de nettoyage dans une fonction personnalis\u00e9e, param\u00e9trable et hautement d\u00e9fensive. Cette routine doit exposer des arguments permettant \u00e0 l&rsquo;utilisateur de s\u00e9lectionner la statistique de centrage de son choix (moyenne ou m\u00e9diane), de contr\u00f4ler le comportement face aux valeurs aberrantes et d&rsquo;\u00e9mettre des rapports d&rsquo;ex\u00e9cution d\u00e9taill\u00e9s.<\/p>\n<p>Une fonction industrielle rigoureuse doit int\u00e9grer des m\u00e9canismes d&rsquo;interception des cas d\u00e9g\u00e9n\u00e9r\u00e9s, notamment :<\/p>\n<ul>\n<li>L&rsquo;identification des colonnes totalement compos\u00e9es de valeurs manquantes (<code>all(is.na(x))<\/code>), pour lesquelles aucun calcul de tendance centrale n&rsquo;est math\u00e9matiquement r\u00e9alisable. La fonction doit alors refuser d&rsquo;imputer ces vecteurs et avertir l&rsquo;analyste par un message explicite (via <code>warning()<\/code>).<\/li>\n<li>La pr\u00e9servation scrupuleuse des attributs m\u00e9ta-analytiques, des noms de colonnes et des \u00e9tiquettes de facteurs.<\/li>\n<li>L&rsquo;option de retourner un journal d&rsquo;audit r\u00e9pertoriant la liste pr\u00e9cise des variables modifi\u00e9es, la proportion d&rsquo;\u00e9l\u00e9ments alt\u00e9r\u00e9s par variable et la valeur scalaire exacte employ\u00e9e pour la substitution.<\/li>\n<\/ul>\n<p>Ce niveau de modularit\u00e9 logicielle constitue le socle technique indispensable pour transformer des scripts empiriques h\u00e9t\u00e9roclites en composants d&rsquo;ing\u00e9nierie logicielle p\u00e9rennes et auditables.<\/p>\n<h2>7. Approches modernes d&rsquo;imputation avec l&rsquo;\u00e9cosyst\u00e8me Tidyverse<\/h2>\n<h3>7.1 Remplacement vectoris\u00e9 avec mutate() et across() de dplyr<\/h3>\n<p>L&rsquo;\u00e9mergence de l&rsquo;\u00e9cosyst\u00e8me <a rel=\"noopener noreferrer\" href=\"https:\/\/www.tidyverse.org\/\">Tidyverse<\/a>, structur\u00e9 autour de principes de manipulation fonctionnelle fluide et de syntaxe d\u00e9clarative unifi\u00e9e, a profond\u00e9ment transform\u00e9 les pratiques d&rsquo;ing\u00e9nierie des donn\u00e9es sous R. Au sein du package fondamental <strong>dplyr<\/strong>, la combinaison de la directive de mutation <code>mutate()<\/code> avec le s\u00e9lecteur multifonctionnel <code>across()<\/code> offre une \u00e9l\u00e9gance et une expressivit\u00e9 remarquables pour l&rsquo;imputation sur des ensembles d&rsquo;attributs v\u00e9rifiant certaines propri\u00e9t\u00e9s pr\u00e9d\u00e9finies.<\/p>\n<p>En mobilisant l&rsquo;op\u00e9rateur de composition moderne (<em>pipe<\/em> natif <code>|&gt;<\/code> introduit depuis la version 4.1 de R), le traitement simultan\u00e9 de toutes les colonnes num\u00e9riques s&rsquo;orchestre avec une grande clart\u00e9 conceptuelle :<\/p>\n<p><code>library(dplyr)<br \/>\nlibrary(tidyr)<\/p>\n<p>df_impute &lt;- df |&gt;<br \/>\n&nbsp;&nbsp;mutate(across(where(is.numeric), ~ replace_na(.x, median(.x, na.rm = TRUE))))<\/code><\/p>\n<p>Dans ce paradigme de programmation fonctionnelle, le s\u00e9lecteur contextuel <code>where(is.numeric)<\/code> inspecte dynamiquement le sch\u00e9ma de la table pour n&rsquo;extraire que les colonnes quantitatives. La fonction lambda <code>~ replace_na(.x, ...)<\/code> issue de <em>tidyr<\/em> se charge ensuite de substituer l&rsquo;\u00e9valuation de la m\u00e9diane aux seules lacunes identifi\u00e9es par <code>.x<\/code>. En compl\u00e9ment, la fonction polyvalente <code>coalesce()<\/code> peut \u00eatre exploit\u00e9e pour cha\u00eener des remplacements prioritaires : <code>coalesce(valeur_principale, valeur_secondaire, valeur_par_defaut)<\/code> \u00e9value s\u00e9quentiellement ses arguments et retient la premi\u00e8re valeur non manquante disponible pour chaque observation, facilitant la fusion hi\u00e9rarchique de colonnes de mesures concordantes.<\/p>\n<h3>7.2 Imputation conditionnelle stratifi\u00e9e par groupe<\/h3>\n<p>L&rsquo;un des apports majeurs de la grammaire de donn\u00e9es de <em>dplyr<\/em> r\u00e9side dans la fluidit\u00e9 de la manipulation conditionnelle stratifi\u00e9e gr\u00e2ce \u00e0 l&rsquo;adjonction de l&rsquo;op\u00e9rateur <code>group_by()<\/code>. Dans la quasi-totalit\u00e9 des \u00e9tudes empiriques, l&rsquo;hypoth\u00e8se selon laquelle les individus d&rsquo;une population partagent une valeur centrale identique ind\u00e9pendamment de leurs covariables majeures est non seulement r\u00e9ductionniste, mais introduit un biais statistique direct lorsque la distribution des param\u00e8tres diff\u00e8re significativement entre sous-populations.<\/p>\n<p>\u00c0 titre d&rsquo;illustration m\u00e9thodologique, consid\u00e9rons l&rsquo;imputation de la masse salariale ou du taux de cholest\u00e9rol s\u00e9rique au sein d&rsquo;une cohorte clinique h\u00e9t\u00e9rog\u00e8ne comprenant divers groupes d&rsquo;\u00e2ge et de sexe. Imputer un homme de 65 ans par la moyenne g\u00e9n\u00e9rale de l&rsquo;\u00e9chantillon global (comprenant des femmes de 20 ans) revient \u00e0 injecter une information structurellement biais\u00e9e. Avec <em>dplyr<\/em>, l&rsquo;imputation contextuelle intra-groupe s&rsquo;ex\u00e9cute de fa\u00e7on native sans n\u00e9cessiter de boucles de d\u00e9coupage complexes :<\/p>\n<p><code>df_stratifie &lt;- df |&gt;<br \/>\n&nbsp;&nbsp;group_by(sexe, tranche_age) |&gt;<br \/>\n&nbsp;&nbsp;mutate(across(where(is.numeric), ~ replace_na(.x, mean(.x, na.rm = TRUE)))) |&gt;<br \/>\n&nbsp;&nbsp;ungroup()<\/code><\/p>\n<p>Sous cette construction, le calcul de la moyenne est partitionn\u00e9 de mani\u00e8re totalement ind\u00e9pendante pour chaque combinaison factorielle identifi\u00e9e. L&rsquo;imputation s&rsquo;ajuste \u00e0 l&rsquo;h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9 contextuelle, pr\u00e9servant ainsi les diff\u00e9rentiels inter-groupes essentiels \u00e0 la pertinence des mod\u00e9lisations ult\u00e9rieures. L&rsquo;appel terminal \u00e0 <code>ungroup()<\/code> dissout l&rsquo;index de regroupement pour restituer un tibble neutre pr\u00eat pour les phases d&rsquo;inf\u00e9rence.<\/p>\n<h3>7.3 Propagation longitudinale des donn\u00e9es avec tidyr<\/h3>\n<p>Les recherches longitudinales, les protocoles \u00e0 mesures r\u00e9p\u00e9t\u00e9es et les s\u00e9ries temporelles financi\u00e8res introduisent une dynamique s\u00e9quentielle d&rsquo;incompl\u00e9tude que les m\u00e9thodes transversales statiques ne peuvent appr\u00e9hender de mani\u00e8re optimale. Dans ces environnements dynamiques, une valeur manquante observ\u00e9e \u00e0 un instant <em>t<\/em> fait souvent suite \u00e0 une mesure int\u00e8gre recueillie \u00e0 l&rsquo;instant <em>t-1<\/em>, justifiant le recours \u00e0 des heuristiques de propagation s\u00e9quentielle.<\/p>\n<p>Le package <strong>tidyr<\/strong> met \u00e0 disposition de l&rsquo;analyste la fonction <code>fill()<\/code>, sp\u00e9cifiquement con\u00e7ue pour ces architectures temporelles. Deux approches sym\u00e9triques y sont nativement impl\u00e9ment\u00e9es :<\/p>\n<ul>\n<li>La derni\u00e8re observation report\u00e9e (<em>Last Observation Carried Forward<\/em>, ou <strong>LOCF<\/strong>) : D\u00e9clench\u00e9e via le param\u00e8tre <code>.direction = \"down\"<\/code>, cette m\u00e9thode propage la derni\u00e8re valeur valide observ\u00e9e vers le bas chronologique pour combler les absences imm\u00e9diatement cons\u00e9cutives.<\/li>\n<li>La prochaine observation report\u00e9e r\u00e9troactivement (<em>Next Observation Carried Backward<\/em>, ou <strong>NOCB<\/strong>) : Activ\u00e9e via <code>.direction = \"up\"<\/code>, elle effectue la propagation inverse en projetant la premi\u00e8re valeur future valide vers le pass\u00e9 manquant.<\/li>\n<\/ul>\n<p>Il est imp\u00e9ratif d&rsquo;\u00e9mettre une mise en garde m\u00e9thodologique s\u00e9v\u00e8re concernant la validit\u00e9 \u00e9pid\u00e9miologique et statistique de la m\u00e9thode LOCF. Bien qu&rsquo;extr\u00eamement r\u00e9pandue dans les essais cliniques de phase III en raison de sa simplicit\u00e9 op\u00e9rationnelle apparente, l&rsquo;approche LOCF repose sur l&rsquo;hypoth\u00e8se ultra-restrictive selon laquelle l&rsquo;\u00e9tat clinique ou physiologique du patient demeure parfaitement stationnaire entre sa derni\u00e8re mesure valide et sa d\u00e9fection du protocole. Si cette hypoth\u00e8se est viol\u00e9e, la m\u00e9thode LOCF peut introduire un biais massif et impr\u00e9visible dans l&rsquo;estimation de l&rsquo;efficacit\u00e9 th\u00e9rapeutique des traitements, en particulier lors d&rsquo;\u00e9tudes sur des pathologies d\u00e9g\u00e9n\u00e9ratives o\u00f9 l&rsquo;absence de mesure r\u00e9sulte pr\u00e9cis\u00e9ment de la d\u00e9gradation de l&rsquo;\u00e9tat de sant\u00e9 du participant. Son utilisation doit d\u00e8s lors \u00eatre r\u00e9serv\u00e9e \u00e0 des s\u00e9ries courtes ou \u00e0 des analyses de sensibilit\u00e9 explicitement confront\u00e9es \u00e0 des mod\u00e8les mixtes longitudinaux ou \u00e0 des \u00e9quations d&rsquo;estimation g\u00e9n\u00e9ralis\u00e9es (GEE).<\/p>\n<h2>8. Imputation multivari\u00e9e par les k plus proches voisins (k-NN)<\/h2>\n<h3>8.1 Principes g\u00e9om\u00e9triques de la m\u00e9thode k-NN<\/h3>\n<p>Pour d\u00e9passer les tares cong\u00e9nitales de l&rsquo;imputation univari\u00e9e tout en exploitant la structure de d\u00e9pendance multivari\u00e9e globale des observations, l&rsquo;algorithme des <strong>k plus proches voisins<\/strong> (<em>k-Nearest Neighbors<\/em> ou <strong>k-NN<\/strong>) propose un cadre d&rsquo;imputation fond\u00e9 sur la proximit\u00e9 g\u00e9om\u00e9trique au sein d&rsquo;un espace multidimensionnel norm\u00e9. Formul\u00e9e pour la premi\u00e8re fois pour les donn\u00e9es manquantes dans les ann\u00e9es 1990, cette m\u00e9thode substitue au remplacement univari\u00e9 une pr\u00e9diction locale conditionn\u00e9e par le profil complet des unit\u00e9s statistiques les plus similaires.<\/p>\n<p>Sur le plan topologique, chaque observation constitue un vecteur de coordonn\u00e9es dans un espace m\u00e9trique \u00e0 <em>p<\/em> dimensions. Lorsqu&rsquo;un individu cible <em>i<\/em> pr\u00e9sente une valeur manquante sur une variable particuli\u00e8re <em>Y<\/em>, l&rsquo;algorithme k-NN calcule la distance g\u00e9om\u00e9trique s\u00e9parant cet individu de tous les autres sujets <em>j<\/em> pour lesquels la variable <em>Y<\/em> est pleinement document\u00e9e, le calcul de cette distance s&rsquo;op\u00e9rant exclusivement sur le sous-ensemble de variables auxiliaires <em>X<\/em> int\u00e9gralement partag\u00e9es par les deux individus. Les m\u00e9triques de distance employ\u00e9es d\u00e9pendent \u00e9troitement de la nature des descripteurs :<\/p>\n<ul>\n<li>La <strong>distance euclidienne<\/strong> ou la <strong>distance de Manhattan<\/strong> pour les variables continues pures.<\/li>\n<li>La <strong>distance de Gower<\/strong>, m\u00e9trique composite par excellence pour les jeux de donn\u00e9es mixtes, capable de sommer de mani\u00e8re coh\u00e9rente des distances continues standardis\u00e9es, des similarit\u00e9s de Dice ou Jaccard pour les variables binaires, et des distances de concordance de rang pour les variables ordinales.<\/li>\n<\/ul>\n<p>Une fois les distances \u00e9valu\u00e9es, l&rsquo;algorithme isole les <em>k<\/em> observations les plus proches (les donneurs) et agr\u00e8ge leurs valeurs sur la variable manquante <em>Y<\/em> pour imputer l&rsquo;individu receveur. Cette agr\u00e9gation s&rsquo;effectue usuellement par la moyenne arithm\u00e9tique simple, la m\u00e9diane locale ou par une moyenne pond\u00e9r\u00e9e par l&rsquo;inverse de la distance g\u00e9om\u00e9trique relative, accordant ainsi un poids d\u00e9cisionnel pr\u00e9pond\u00e9rant aux voisins les plus rigoureusement concordants.<\/p>\n<h3>8.2 Impl\u00e9mentation pratique avec le package VIM<\/h3>\n<p>L&rsquo;impl\u00e9mentation de r\u00e9f\u00e9rence la plus compl\u00e8te et la plus flexible en R de la m\u00e9thodologie k-NN est h\u00e9berg\u00e9e au sein du package sp\u00e9cialis\u00e9 <strong>VIM<\/strong>, \u00e0 travers sa fonction de haut niveau <code>kNN()<\/code>. Cette routine int\u00e8gre nativement la m\u00e9trique de distance de Gower, ce qui lui conf\u00e8re la capacit\u00e9 de traiter des data frames complexes contenant simultan\u00e9ment des variables num\u00e9riques, factorielles ordinales et nominales sans n\u00e9cessiter d&rsquo;encodage disjonctif pr\u00e9alable manuel.<\/p>\n<p>L&rsquo;ex\u00e9cution de la m\u00e9thode requiert une attention m\u00e9ticuleuse port\u00e9e au param\u00e9trage des hyperparam\u00e8tres statistiques :<\/p>\n<p><code>library(VIM)<\/p>\n<p>df_impute_knn &lt;- kNN(df,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variable = c(\"salaire\", \"score_satisfaction\"),<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k = 5,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numFun = median,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catFun = maxCat,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imp_var = TRUE)<\/code><\/p>\n<p>Dans cet extrait, le param\u00e8tre <code>k = 5<\/code> d\u00e9termine la taille du voisinage de donneurs. Le choix de cet hyperparam\u00e8tre proc\u00e8de d&rsquo;un arbitrage fondamental de la th\u00e9orie de l&rsquo;apprentissage entre biais et variance : un <em>k<\/em> trop restreint (par exemple <em>k = 1<\/em>) expose l&rsquo;imputation \u00e0 une instabilit\u00e9 majeure en surajustant sur le bruit de mesure du seul voisin retenu ; inversement, un <em>k<\/em> trop \u00e9lev\u00e9 dilue la sp\u00e9cificit\u00e9 locale et converge progressivement vers l&rsquo;imputation globale de la moyenne, an\u00e9antissant l&rsquo;int\u00e9r\u00eat du mod\u00e8le g\u00e9om\u00e9trique. L&rsquo;argument <code>imp_var = TRUE<\/code> ordonne la cr\u00e9ation automatique de colonnes bool\u00e9ennes d&rsquo;audit (nomm\u00e9es avec le suffixe <em>_imp<\/em>) indiquant pour chaque cellule si la valeur finale provient d&rsquo;un relev\u00e9 empirique ou d&rsquo;une imputation algorithmique.<\/p>\n<h3>8.3 \u00c9valuation comparative des r\u00e9sultats de k-NN<\/h3>\n<p>Le b\u00e9n\u00e9fice premier de la proc\u00e9dure k-NN r\u00e9side dans sa remarquable facult\u00e9 \u00e0 pr\u00e9server les corr\u00e9lations multivari\u00e9es non lin\u00e9aires et les groupements naturels au sein des donn\u00e9es, car les valeurs imput\u00e9es proviennent directement d&rsquo;individus r\u00e9els partageant des caract\u00e9ristiques convergentes. De plus, elle \u00e9vite l&rsquo;\u00e9cueil des valeurs impossibles : une variable imput\u00e9e par k-NN ne prendra jamais une valeur situ\u00e9e hors des fronti\u00e8res des valeurs r\u00e9elles observables dans la cohorte des donneurs.<\/p>\n<p>N\u00e9anmoins, l&rsquo;algorithme k-NN pr\u00e9sente plusieurs contreparties m\u00e9thodologiques et computationnelles qui en restreignent la port\u00e9e dans certains contextes. D&rsquo;une part, sa complexit\u00e9 algorithmique s&rsquo;\u00e9l\u00e8ve \u00e0 <em>O(n\u00b2 \u00d7 p)<\/em>, ce qui engendre un temps d&rsquo;ex\u00e9cution prohibitif d\u00e8s lors que la base de donn\u00e9es exc\u00e8de plusieurs dizaines de milliers d&rsquo;enregistrements. D&rsquo;autre part, la m\u00e9thode souffre du fl\u00e9au de la dimensionnalit\u00e9 (<em>curse of dimensionality<\/em>) : lorsque le nombre de covariables auxiliaires <em>p<\/em> augmente, le volume de l&rsquo;espace m\u00e9trique cro\u00eet de mani\u00e8re exponentielle, de sorte que tous les points deviennent presque \u00e9quidistants les uns des autres, d\u00e9gradant substantiellement la pertinence de la notion m\u00eame de \u00ab voisinage le plus proche \u00bb. Enfin, la pr\u00e9sence de variables accessoires ou de bruit blanc dans l&rsquo;ensemble <em>X<\/em> perturbe le calcul des distances de Gower en masquant l&rsquo;influence des v\u00e9ritables pr\u00e9dicteurs informatifs.<\/p>\n<h2>9. Imputation multiple par \u00e9quations cha\u00een\u00e9es (MICE)<\/h2>\n<h3>9.1 Fondements de l&rsquo;approche Fully Conditional Specification (FCS)<\/h3>\n<p>L&rsquo;<strong>imputation multiple par \u00e9quations cha\u00een\u00e9es<\/strong> (<em>Multiple Imputation by Chained Equations<\/em>, ou <strong>MICE<\/strong>) constitue le standard d&rsquo;or (<em>gold standard<\/em>) universellement reconnu pour l&rsquo;imputation sous l&rsquo;hypoth\u00e8se de m\u00e9canisme manquant au hasard (MAR). Th\u00e9oris\u00e9e par <a rel=\"noopener noreferrer\" href=\"https:\/\/www.jstatsoft.org\/article\/view\/v045i03\">Stef van Buuren<\/a> et ses collaborateurs, la m\u00e9thode MICE repose sur le paradigme de la sp\u00e9cification enti\u00e8rement conditionnelle (<em>Fully Conditional Specification<\/em>, ou FCS). Contrairement \u00e0 l&rsquo;imputation multiple par mod\u00e9lisation conjointe (<em>Joint Modeling<\/em>) qui exige la formulation d&rsquo;une distribution normale multivari\u00e9e pour l&rsquo;ensemble des variables, la FCS d\u00e9compose le probl\u00e8me d&rsquo;imputation multivari\u00e9e en une s\u00e9rie de sous-mod\u00e8les univari\u00e9s conditionnels it\u00e9ratifs, r\u00e9solus variable par variable au sein d&rsquo;une cha\u00eene de Markov de Monte-Carlo (MCMC).<\/p>\n<p>L&rsquo;innovation conceptuelle d\u00e9cisive de l&rsquo;imputation multiple r\u00e9side dans la gestion explicite de l&rsquo;incertitude statistique. Toute m\u00e9thode d&rsquo;imputation simple (qu&rsquo;elle repose sur la moyenne, une r\u00e9gression d\u00e9terministe ou k-NN) attribue une valeur unique \u00e0 la cellule vide et traite cette pr\u00e9diction avec la m\u00eame certitude absolue qu&rsquo;une valeur empiriquement mesur\u00e9e lors des analyses ult\u00e9rieures. Cette n\u00e9gation de l&rsquo;incertitude d&rsquo;imputation conduit in\u00e9luctablement \u00e0 une sous-estimation des erreurs types et \u00e0 une inflation artificielle du taux de faux positifs dans l&rsquo;inf\u00e9rence.<\/p>\n<p>Pour surmonter cette aporie, MICE d\u00e9ploie un protocole probabiliste en trois phases s\u00e9quentielles :<\/p>\n<ul>\n<li><strong>Imputation<\/strong> : L&rsquo;algorithme g\u00e9n\u00e8re non pas un, mais <em>m<\/em> jeux de donn\u00e9es complets distincts (g\u00e9n\u00e9ralement <em>m<\/em> compris entre 5 et 50 selon le taux de donn\u00e9es manquantes). Dans chaque jeu, les donn\u00e9es manquantes sont remplac\u00e9es par des tirages stochastiques int\u00e9grant \u00e0 la fois l&rsquo;incertitude sur les param\u00e8tres du mod\u00e8le de r\u00e9gression conditionnel et le r\u00e9sidu al\u00e9atoire d&rsquo;\u00e9chantillonnage.<\/li>\n<li><strong>Analyse<\/strong> : Le mod\u00e8le statistique cible (par exemple une r\u00e9gression lin\u00e9aire, un mod\u00e8le logistique ou un mod\u00e8le \u00e0 risques proportionnels de Cox) est ajust\u00e9 de fa\u00e7on totalement ind\u00e9pendante sur chacun des <em>m<\/em> jeux de donn\u00e9es imput\u00e9s, produisant <em>m<\/em> vecteurs d&rsquo;estimations de coefficients et de matrices de variance-covariance associ\u00e9s.<\/li>\n<li><strong>Agr\u00e9gation (Pooling)<\/strong> : Les r\u00e9sultats obtenus sur chaque jeu sont combin\u00e9s math\u00e9matiquement selon les r\u00e8gles d&rsquo;alg\u00e8bre inf\u00e9rentielle formalis\u00e9es par Rubin pour fournir un jeu unifi\u00e9 de coefficients, d&rsquo;erreurs types ajust\u00e9es et de p-valeurs fiables.<\/li>\n<\/ul>\n<h3>9.2 Mise en \u0153uvre pas \u00e0 pas avec le package mice<\/h3>\n<p>L&rsquo;\u00e9cosyst\u00e8me R dispose avec le package \u00e9ponyme <strong>mice<\/strong> d&rsquo;une impl\u00e9mentation remarquablement robuste de l&rsquo;architecture FCS. La flexibilit\u00e9 du package permet de sp\u00e9cifier des formes fonctionnelles distinctes pour chaque variable en fonction de sa distribution : l&rsquo;appariement pr\u00e9dictif de moyenne (<em>Predictive Mean Matching<\/em>, ou <strong>PMM<\/strong>) pour les variables num\u00e9riques continues asym\u00e9triques ou born\u00e9es, la r\u00e9gression logistique binaire (<code>logreg<\/code>) pour les variables dichotomiques, la r\u00e9gression logistique multinomiale (<code>polyreg<\/code>) pour les facteurs non ordonn\u00e9s, et la r\u00e9gression logistique ordinale \u00e0 seuils proportionnels (<code>polr<\/code>) pour les facteurs ordonn\u00e9s.<\/p>\n<p>L&rsquo;orchestration d&rsquo;une session compl\u00e8te d&rsquo;imputation sous <em>mice<\/em> se configure selon le d\u00e9roulement rigoureux suivant :<\/p>\n<p><code>library(mice)<\/p>\n<p># Configuration de la matrice des pr\u00e9dicteurs et des m\u00e9thodes<br \/>\ninit &lt;- mice(df, maxit = 0)<br \/>\nmethode_vector &lt;- init$method<br \/>\nmethode_vector[\"salaire\"] &lt;- \"pmm\"<br \/>\nmethode_vector[\"fumeur\"] &lt;- \"logreg\"<\/p>\n<p>matrice_pred &lt;- init$predictorMatrix<br \/>\n# Exclure un identifiant d'observation du mod\u00e8le pr\u00e9dictif<br \/>\nmatrice_pred[, \"id_patient\"] &lt;- 0<\/p>\n<p># G\u00e9n\u00e9ration de 10 jeux de donn\u00e9es multiples sur 20 it\u00e9rations MCMC<br \/>\nimputations_mice &lt;- mice(df,<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;m = 10,<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;method = methode_vector,<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;predictorMatrix = matrice_pred,<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;maxit = 20,<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;seed = 2026,<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;printFlag = FALSE)<\/code><\/p>\n<p>Apr\u00e8s l&rsquo;ex\u00e9cution, il est imp\u00e9ratif d&rsquo;\u00e9valuer la convergence de l&rsquo;\u00e9chantillonneur de Gibbs sous-jacent. Cette \u00e9tape diagnostique s&rsquo;effectue par l&rsquo;inspection des trajectoires it\u00e9ratives via la fonction <code>plot(imputations_mice)<\/code>. Les courbes repr\u00e9sentant la moyenne et l&rsquo;\u00e9cart-type des valeurs imput\u00e9es au cours des <code>maxit<\/code> it\u00e9rations doivent s&rsquo;entrelacer harmonieusement sans afficher de d\u00e9rive directionnelle monotone, confirmant que la cha\u00eene de Markov a atteint son r\u00e9gime stationnaire de convergence ergonomique.<\/p>\n<h3>9.3 Agr\u00e9gation des mod\u00e8les statistiques selon les r\u00e8gles de Rubin<\/h3>\n<p>Une fois les <em>m<\/em> jeux d&rsquo;imputations valid\u00e9s, l&rsquo;\u00e9tape analytique finale consiste \u00e0 estimer le mod\u00e8le statistique cible sur l&rsquo;objet de classe <code>mids<\/code> (<em>Multiply Imputed Data Set<\/em>) via la fonction <code>with()<\/code>, puis \u00e0 agr\u00e9ger les sorties analytiques gr\u00e2ce \u00e0 la fonction <code>pool()<\/code> :<\/p>\n<p><code># Ajustement d'une r\u00e9gression logistique sur chaque jeu imput\u00e9<br \/>\nmodeles_separes &lt;- with(imputations_mice, glm(maladie ~ age + salaire + fumeur, family = binomial))<\/p>\n<p># Agr\u00e9gation selon les r\u00e8gles de Rubin<br \/>\nresultat_final &lt;- pool(modeles_separes)<br \/>\nsummary(resultat_final)<\/code><\/p>\n<p>Sur le plan math\u00e9matique, l&rsquo;estimateur final de Rubin combine deux sources de variabilit\u00e9 structurelle pour calculer l&rsquo;erreur type totale de chaque coefficient :<\/p>\n<ul>\n<li>La <strong>variance intra-imputation<\/strong> (<em>within-imputation variance<\/em>, <em>W<\/em>) : Elle correspond \u00e0 la moyenne arithm\u00e9tique des carr\u00e9s des erreurs types calcul\u00e9es \u00e0 l&rsquo;int\u00e9rieur de chacun des <em>m<\/em> mod\u00e8les.<\/li>\n<li>La <strong>variance inter-imputations<\/strong> (<em>between-imputation variance<\/em>, <em>B<\/em>) : Elle quantifie la variance des estimations ponctuelles des coefficients d&rsquo;un jeu de donn\u00e9es imput\u00e9 \u00e0 l&rsquo;autre, mat\u00e9rialisant l&rsquo;incertitude directement attribuable \u00e0 l&rsquo;omission d&rsquo;information.<\/li>\n<\/ul>\n<p>La variance totale <em>T<\/em> est ensuite d\u00e9duite par la formule canonique <em>T = W + (1 + 1\/m) * B<\/em>. L&rsquo;algorithme <code>pool()<\/code> d\u00e9rive automatiquement des m\u00e9triques d&rsquo;\u00e9valuation hautement instructives, notamment la fraction de variance manquante (<em>Fraction of Missing Information<\/em>, ou <strong>FMI<\/strong>). La m\u00e9trique FMI informe l&rsquo;analyste sur la proportion exacte de l&rsquo;incertitude r\u00e9siduelle pesant sur un coefficient qui est imputable \u00e0 la non-r\u00e9ponse empirique. Si la FMI d&rsquo;un pr\u00e9dicteur s&rsquo;av\u00e8re substantielle, il est recommand\u00e9 d&rsquo;accro\u00eetre le nombre de jeux g\u00e9n\u00e9r\u00e9s <em>m<\/em> afin de stabiliser les degr\u00e9s de libert\u00e9 et de garantir une puissance statistique optimale lors du calcul des intervalles de confiance.<\/p>\n<h2>10. Imputation non param\u00e9trique par for\u00eats al\u00e9atoires avec missForest<\/h2>\n<h3>10.1 M\u00e9canisme algorithmique de missForest<\/h3>\n<p>Tandis que l&rsquo;imputation multiple par \u00e9quations cha\u00een\u00e9es repose sur la sp\u00e9cification manuelle et explicite de mod\u00e8les de r\u00e9gression conditionnels (dont la forme lin\u00e9aire peut \u00eatre mise en d\u00e9faut face \u00e0 des surfaces de r\u00e9ponse complexes), l&rsquo;algorithme <strong>missForest<\/strong>, formalis\u00e9 par Daniel Stekhoven et Peter B\u00fchlmann en 2012, introduit un changement de paradigme radical en transposant la puissance des <a rel=\"noopener noreferrer\" href=\"https:\/\/academic.oup.com\/bioinformatics\/article\/28\/1\/112\/219124\">for\u00eats al\u00e9atoires<\/a> au champ de l&rsquo;imputation des donn\u00e9es.<\/p>\n<p>Le fonctionnement de <em>missForest<\/em> repose sur une dynamique non param\u00e9trique it\u00e9rative d&rsquo;apprentissage supervis\u00e9. Pour chaque variable contenant des donn\u00e9es manquantes, l&rsquo;algorithme divise l&rsquo;ensemble des observations en deux partitions : l&rsquo;ensemble d&rsquo;apprentissage constitu\u00e9 des individus pour lesquels cette variable est observ\u00e9e, et l&rsquo;ensemble de pr\u00e9diction form\u00e9 par les unit\u00e9s statistiques affichant une valeur manquante. Une for\u00eat al\u00e9atoire d&rsquo;arbres de d\u00e9cision de r\u00e9gression (pour les variables continues) ou de classification (pour les variables qualitatives) est alors entra\u00een\u00e9e en utilisant toutes les autres variables du jeu de donn\u00e9es comme pr\u00e9dicteurs. La for\u00eat entra\u00een\u00e9e pr\u00e9dit ensuite les valeurs manquantes de la variable cibl\u00e9e. Ce processus est r\u00e9p\u00e9t\u00e9 s\u00e9quentiellement pour l&rsquo;ensemble des attributs incomplets, bouclant une premi\u00e8re it\u00e9ration globale.<\/p>\n<p>Cette boucle d&rsquo;apprentissage et d&rsquo;imputation se poursuit de mani\u00e8re r\u00e9cursive \u00e0 travers plusieurs it\u00e9rations jusqu&rsquo;\u00e0 ce qu&rsquo;un crit\u00e8re d&rsquo;arr\u00eat math\u00e9matique soit satisfait, c&rsquo;est-\u00e0-dire d\u00e8s que la diff\u00e9rence relative entre les matrices imput\u00e9es successives commence \u00e0 cro\u00eetre, signalant la convergence de l&rsquo;algorithme vers une structure stable. Les atouts fondamentaux de ce m\u00e9canisme sont remarquables :<\/p>\n<ul>\n<li>Absence totale d&rsquo;hypoth\u00e8ses distributionnelles : l&rsquo;algorithme n&rsquo;exige ni normalit\u00e9 multivari\u00e9e, ni lin\u00e9arit\u00e9 des relations, ni homosc\u00e9dasticit\u00e9 des r\u00e9sidus.<\/li>\n<li>D\u00e9tection native et automatique des interactions d&rsquo;ordre \u00e9lev\u00e9 et des non-lin\u00e9arit\u00e9s complexes sans n\u00e9cessiter leur sp\u00e9cification manuelle par l&rsquo;utilisateur.<\/li>\n<li>Prise en charge \u00e9l\u00e9gante des types de donn\u00e9es mixtes au sein d&rsquo;une architecture algorithmique uniforme.<\/li>\n<\/ul>\n<h3>10.2 Application et optimisation des param\u00e8tres sous R<\/h3>\n<p>L&rsquo;ex\u00e9cution de la m\u00e9thode au sein de l&rsquo;environnement R s&rsquo;op\u00e8re par l&rsquo;entremise du package sp\u00e9cialis\u00e9 <strong>missForest<\/strong>. Pour tirer pleinement parti de la vectorisation moderne et r\u00e9duire des temps de calcul parfois exigeants, il est fortement conseill\u00e9 de coupler l&rsquo;algorithme \u00e0 un backend de calcul parall\u00e8le tel que <em>doParallel<\/em>.<\/p>\n<p>La mise en \u0153uvre et le param\u00e9trage des hyperparam\u00e8tres d&rsquo;arbres s&rsquo;illustrent dans l&rsquo;exemple canonique suivant :<\/p>\n<p><code>library(missForest)<br \/>\nlibrary(doParallel)<\/p>\n<p># Enregistrement du cluster de calcul parall\u00e8le sur plusieurs c\u0153urs<br \/>\ncl &lt;- makeCluster(parallel::detectCores() - 1)<br \/>\nregisterDoParallel(cl)<\/p>\n<p># Ex\u00e9cution de missForest avec parall\u00e9lisation<br \/>\nresultat_mf &lt;- missForest(df,<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;maxiter = 10,<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;ntree = 100,<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;mtry = floor(sqrt(ncol(df))),<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;parallelize = \"forests\")<\/p>\n<p>stopCluster(cl)<\/p>\n<p># R\u00e9cup\u00e9ration de la matrice imput\u00e9e<br \/>\ndf_impute_mf &lt;- resultat_mf$ximp<\/code><\/p>\n<p>Le contr\u00f4le des hyperparam\u00e8tres joue un r\u00f4le fondamental dans la pr\u00e9cision du traitement. L&rsquo;argument <code>ntree = 100<\/code> fixe le nombre d&rsquo;arbres constitutifs de chaque for\u00eat ; si des valeurs de 100 \u00e0 200 suffisent dans la plupart des situations pratiques, des architectures plus denses peuvent \u00eatre mobilis\u00e9es pour r\u00e9duire la variance des pr\u00e9dictions sur des donn\u00e9es complexes. Le param\u00e8tre <code>mtry<\/code> r\u00e9git le nombre de variables candidates tir\u00e9es au hasard \u00e0 chaque division de n\u0153ud : sa valeur par d\u00e9faut (la racine carr\u00e9e du nombre de colonnes) offre un excellent compromis entre d\u00e9corr\u00e9lation des arbres et puissance pr\u00e9dictive.<\/p>\n<h3>10.3 \u00c9valuation de l&rsquo;erreur d&rsquo;imputation interne (OOB)<\/h3>\n<p>L&rsquo;une des fonctionnalit\u00e9s les plus attractives de <em>missForest<\/em> r\u00e9side dans sa capacit\u00e9 structurelle \u00e0 fournir une estimation objective et interne de la pr\u00e9cision de ses imputations, sans n\u00e9cessiter la mise en \u0153uvre d&rsquo;une validation crois\u00e9e externe co\u00fbteuse. Cette m\u00e9trique d\u00e9coule directement de l&rsquo;exploitation des observations \u00ab hors-poche \u00bb (<em>Out-Of-Bag<\/em>, ou <strong>OOB<\/strong>) inh\u00e9rentes \u00e0 la m\u00e9canique des for\u00eats al\u00e9atoires.<\/p>\n<p>Lors de chaque it\u00e9ration, pour chaque individu appartenant \u00e0 l&rsquo;\u00e9chantillon observ\u00e9, une pr\u00e9diction est calcul\u00e9e en mobilisant exclusivement le sous-ensemble d&rsquo;arbres qui n&rsquo;ont pas utilis\u00e9 cet individu lors de leur phase d&rsquo;\u00e9chantillonnage bootstrap. En confrontant ces pr\u00e9dictions OOB aux v\u00e9ritables valeurs observ\u00e9es, l&rsquo;objet retourn\u00e9 restitue deux m\u00e9triques d&rsquo;erreur de haute pr\u00e9cision log\u00e9es dans <code>resultat_mf$OOBerror<\/code> :<\/p>\n<ul>\n<li>L&rsquo;<strong>erreur quadratique normalis\u00e9e<\/strong> (<em>Normalized Root Mean Squared Error<\/em>, ou <strong>NRMSE<\/strong>) pour les variables continues. Une valeur de NRMSE proche de 0 indique une pr\u00e9cision pr\u00e9dictive remarquable, tandis qu&rsquo;une valeur avoisinant ou d\u00e9passant 1,0 signale que la for\u00eat \u00e9choue \u00e0 faire mieux qu&rsquo;une simple imputation na\u00efve par la moyenne.<\/li>\n<li>La <strong>proportion de faux classements<\/strong> (<em>Proportion of Falsely Classified<\/em>, ou <strong>PFC<\/strong>) pour les variables qualitatives et factorielles. Cette m\u00e9trique correspond au taux d&rsquo;erreur de classification directe observ\u00e9 sur les classes r\u00e9elles des donn\u00e9es int\u00e8gres.<\/li>\n<\/ul>\n<p>Ces m\u00e9triques OOB constituent un outil de diagnostic pr\u00e9cieux pour le chercheur : elles permettent d&rsquo;attester empiriquement de la qualit\u00e9 de la reconstruction de l&rsquo;information manquante dans les rapports d&rsquo;analyse, conf\u00e9rant aux r\u00e9sultats finaux une transparence et une assise m\u00e9thodologique particuli\u00e8rement rigoureuses.<\/p>\n<h2>11. Validation m\u00e9trologique et analyse de sensibilit\u00e9 post-imputation<\/h2>\n<h3>11.1 Contr\u00f4les visuels et tests d&rsquo;ajustement distributionnel<\/h3>\n<p>L&rsquo;ex\u00e9cution technique d&rsquo;un algorithme d&rsquo;imputation ne marque nullement l&rsquo;ach\u00e8vement de la responsabilit\u00e9 du statisticien. Il est indispensable de proc\u00e9der \u00e0 une validation m\u00e9trologique approfondie afin de v\u00e9rifier que les donn\u00e9es synth\u00e9tis\u00e9es respectent l&rsquo;\u00e9cologie distributionnelle de la population d&rsquo;origine et n&rsquo;introduisent pas d&rsquo;artefacts structurels ind\u00e9sirables.<\/p>\n<p>Le premier niveau de contr\u00f4le diagnostique rel\u00e8ve de l&rsquo;inspection visuelle comparative des densit\u00e9s empiriques. \u00c0 l&rsquo;aide de packages graphiques de pointe tels que <em>ggplot2<\/em> ou des fonctions de restitution int\u00e9gr\u00e9es \u00e0 <em>mice<\/em> (comme <code>densityplot(imputations_mice)<\/code>), l&rsquo;analyste doit superposer la courbe de densit\u00e9 des valeurs originellement observ\u00e9es et celle des valeurs nouvellement imput\u00e9es. Sous un m\u00e9canisme MCAR, les deux courbes doivent th\u00e9oriquement co\u00efncider presque parfaitement. Sous un m\u00e9canisme MAR valide, des divergences locales raisonnables entre les deux distributions sont attendues (refl\u00e9tant la d\u00e9pendance l\u00e9gitime vis-\u00e0-vis des covariables de stratification), mais toute apparition de discontinuit\u00e9s brutales, d&rsquo;effets de bord anormaux ou de d\u00e9passements d&rsquo;intervalles physiques admissibles doit conduire au rejet de l&rsquo;imputation.<\/p>\n<p>Au-del\u00e0 de l&rsquo;inspection visuelle, des tests d&rsquo;ajustement non param\u00e9triques peuvent \u00eatre mobilis\u00e9s pour \u00e9valuer la coh\u00e9rence distributionnelle :<\/p>\n<p><code>ks.test(valeurs_observees, valeurs_imputees)<\/code><\/p>\n<p>Le test de Kolmogorov-Smirnov bivari\u00e9 permet de tester l&rsquo;\u00e9galit\u00e9 des lois de probabilit\u00e9 sous-jacentes. En compl\u00e9ment, l&rsquo;examen des diagrammes de dispersion croisant la variable imput\u00e9e avec les principaux r\u00e9gresseurs du mod\u00e8le permet de valider le strict maintien des pentes de corr\u00e9lation bivari\u00e9es et l&rsquo;absence de contraction aberrante de la dispersion r\u00e9siduelle autour de la ligne de tendance.<\/p>\n<h3>11.2 Protocoles de simulation par amputation de donn\u00e9es (MCAR\/MAR)<\/h3>\n<p>Pour mesurer de mani\u00e8re impartiale l&rsquo;efficacit\u00e9 comparative de diff\u00e9rentes techniques d&rsquo;imputation face \u00e0 une structure empirique sp\u00e9cifique, la d\u00e9marche m\u00e9thodologique la plus robuste consiste \u00e0 impl\u00e9menter un protocole exp\u00e9rimental de simulation par amputation de donn\u00e9es. Cette strat\u00e9gie s&rsquo;articule autour de l&rsquo;utilisation du package <strong>ampute<\/strong> (int\u00e9gr\u00e9 \u00e0 l&rsquo;\u00e9cosyst\u00e8me <em>mice<\/em>), qui permet d&rsquo;introduire des motifs contr\u00f4l\u00e9s de donn\u00e9es manquantes au sein d&rsquo;un jeu de donn\u00e9es initialement complet.<\/p>\n<p>L&rsquo;exp\u00e9rimentateur g\u00e9n\u00e8re ainsi artificiellement de l&rsquo;incompl\u00e9tude selon des sc\u00e9narios param\u00e9trables (MCAR, MAR conditionnel, ou MNAR logistique) avec des taux d&rsquo;omission croissants (par exemple 10 %, 30 %, 50 %). L&rsquo;ensemble des algorithmes candidats (moyenne, m\u00e9diane, k-NN, MICE, missForest) sont alors appliqu\u00e9s sur ces matrices artificiellement alt\u00e9r\u00e9es. Puisque les v\u00e9ritables valeurs masqu\u00e9es demeurent connues de l&rsquo;exp\u00e9rimentateur, il devient possible de calculer des m\u00e9triques absolues d&rsquo;\u00e9valuation de la performance de recouvrement :<\/p>\n<ul>\n<li>L&rsquo;<strong>erreur quadratique moyenne<\/strong> (<em>Root Mean Squared Error<\/em>, ou <strong>RMSE<\/strong>) : Mesure la p\u00e9nalisation quadratique des d\u00e9viations individuelles d&rsquo;imputation.<\/li>\n<li>L&rsquo;<strong>erreur absolue moyenne<\/strong> (<em>Mean Absolute Error<\/em>, ou <strong>MAE<\/strong>) : \u00c9value la proximit\u00e9 globale sans sur-p\u00e9naliser les \u00e9carts sporadiques.<\/li>\n<li>Le <strong>biais moyen absolu<\/strong> : D\u00e9termine la tendance de la m\u00e9thode \u00e0 surestimer ou sous-estimer syst\u00e9matiquement le param\u00e8tre de localisation de la population.<\/li>\n<\/ul>\n<p>Ce protocole de simulation fournit des preuves empiriques irr\u00e9futables pour arbitrer scientifiquement le choix de l&rsquo;algorithme d&rsquo;imputation optimal dans le cadre d&rsquo;un protocole de recherche pr\u00e9enregistr\u00e9.<\/p>\n<h3>11.3 Conduite d&rsquo;une analyse de sensibilit\u00e9 rigoureuse<\/h3>\n<p>Dans toute analyse quantitative rigoureuse, la conclusion scientifique ne doit jamais \u00eatre d\u00e9pendante de choix algorithmiques arbitraires op\u00e9r\u00e9s lors du traitement des donn\u00e9es manquantes. L&rsquo;analyse de sensibilit\u00e9 constitue l&rsquo;ultime garantie \u00e9pist\u00e9mologique validant la robustesse des inf\u00e9rences causales ou associatives d\u00e9gag\u00e9es.<\/p>\n<p>La conduite d&rsquo;une analyse de sensibilit\u00e9 implique l&rsquo;estimation du mod\u00e8le statistique d\u00e9cisionnel sous une multiplicit\u00e9 de sc\u00e9narios m\u00e9thodologiques concurrents :<\/p>\n<ul>\n<li>Mod\u00e8le 1 : Analyse des cas complets (<em>listwise deletion<\/em>) agissant comme point de r\u00e9f\u00e9rence classique.<\/li>\n<li>Mod\u00e8le 2 : Imputation univari\u00e9e conservatrice (m\u00e9diane\/mode conditionnel).<\/li>\n<li>Mod\u00e8le 3 : Imputation par les k plus proches voisins (k-NN avec distance de Gower).<\/li>\n<li>Mod\u00e8le 4 : Imputation multiple par \u00e9quations cha\u00een\u00e9es (MICE sous hypoth\u00e8se MAR avec 20 jeux).<\/li>\n<li>Mod\u00e8le 5 : Imputation non param\u00e9trique avanc\u00e9e par for\u00eats al\u00e9atoires (missForest).<\/li>\n<\/ul>\n<p>L&rsquo;analyste synth\u00e9tise ensuite au sein d&rsquo;un tableau r\u00e9capitulatif standardis\u00e9 l&rsquo;\u00e9volution des coefficients de r\u00e9gression cibles, de leurs erreurs types respectives et des largeurs des intervalles de confiance \u00e0 95 % \u00e0 travers l&rsquo;ensemble des sp\u00e9cifications. Si la direction de l&rsquo;effet, son ordre de grandeur et sa significativit\u00e9 statistique demeurent invariants \u00e0 travers ces diff\u00e9rents paradigmes de traitement, l&rsquo;analyste peut affirmer avec une grande confiance que ses conclusions sont robustes et ind\u00e9pendantes des hypoth\u00e8ses relatives aux m\u00e9canismes d&rsquo;omission.<\/p>\n<h2>12. Recommandations m\u00e9thodologiques et standards de publication scientifique<\/h2>\n<h3>12.1 Normes de reporting acad\u00e9mique (APA et d\u00e9clarations STROBE)<\/h3>\n<p>La cr\u00e9dibilit\u00e9 de la litt\u00e9rature acad\u00e9mique contemporaine souffre d&rsquo;un d\u00e9ficit r\u00e9current de transparence quant au traitement des valeurs manquantes. Pour rem\u00e9dier \u00e0 cette crise de reproductibilit\u00e9, les comit\u00e9s \u00e9ditoriaux internationaux de r\u00e9f\u00e9rence, notamment l&rsquo;American Psychological Association (<a rel=\"noopener noreferrer\" href=\"https:\/\/apastyle.apa.org\/\">APA<\/a>) et les consortiums m\u00e9thodologiques \u00e0 l&rsquo;origine des d\u00e9clarations <strong>STROBE<\/strong> (pour l&rsquo;\u00e9pid\u00e9miologie observationnelle) et <strong>CONSORT<\/strong> (pour les essais randomis\u00e9s contr\u00f4l\u00e9s), ont \u00e9dict\u00e9 des directives de publication strictes.<\/p>\n<p>Le reporting scientifique exige d\u00e9sormais la satisfaction syst\u00e9matique des crit\u00e8res suivants dans la section m\u00e9thodologique des manuscrits :<\/p>\n<ul>\n<li><strong>Quantification exhaustive<\/strong> : Pr\u00e9senter un tableau r\u00e9capitulatif renseignant le nombre absolu et la proportion exacte d&rsquo;observations manquantes pour chaque variable incluse dans les mod\u00e8les analytiques, ainsi que le nombre de participants pr\u00e9sentant au moins une donn\u00e9e manquante.<\/li>\n<li><strong>Diagnostic des m\u00e9canismes<\/strong> : Exposer explicitement les arguments th\u00e9oriques et les v\u00e9rifications empiriques (tests d&rsquo;homog\u00e9n\u00e9it\u00e9, analyses de non-r\u00e9ponse) soutenant l&rsquo;hypoth\u00e8se adopt\u00e9e quant au m\u00e9canisme g\u00e9n\u00e9rateur de donn\u00e9es manquantes (MCAR, MAR ou MNAR).<\/li>\n<li><strong>Transparence logicielle<\/strong> : Documenter de fa\u00e7on exhaustive la d\u00e9nomination des packages R mobilis\u00e9s, leurs versions exactes, la m\u00e9thode d&rsquo;imputation algorithmique pr\u00e9cise, les valeurs des hyperparam\u00e8tres cl\u00e9s (tels que <em>m<\/em>, <em>k<\/em>, ou le nombre d&rsquo;arbres), ainsi que les graines al\u00e9atoires fix\u00e9es pour la r\u00e9plicabilit\u00e9.<\/li>\n<li><strong>R\u00e8gles d&rsquo;agr\u00e9gation<\/strong> : Pour les imputations multiples, expliciter l&rsquo;application des r\u00e8gles de Rubin et rapporter syst\u00e9matiquement la fraction de variance manquante (FMI) relative aux estimations principales.<\/li>\n<\/ul>\n<h3>12.2 Arbre de d\u00e9cision pour le choix optimal d&rsquo;imputation<\/h3>\n<p>Face \u00e0 la diversit\u00e9 des architectures m\u00e9thodologiques examin\u00e9es, la formulation d&rsquo;un arbre d\u00e9cisionnel synth\u00e9tique permet de guider l&rsquo;analyste vers la solution la plus adapt\u00e9e \u00e0 ses contraintes exp\u00e9rimentales et \u00e0 ses objectifs de mod\u00e9lisation :<\/p>\n<ul>\n<li><strong>Cas 1 : Taux global de donn\u00e9es manquantes trivial (&lt; 3 % \u00e0 5 %) sur un tr\u00e8s grand \u00e9chantillon et m\u00e9canisme pr\u00e9sum\u00e9 MCAR :<\/strong> L&rsquo;analyse des cas complets peut \u00eatre tol\u00e9r\u00e9e pour sa commodit\u00e9, bien qu&rsquo;une imputation univari\u00e9e rapide (m\u00e9diane\/mode) ou une imputation multiple minimale soit m\u00e9thodologiquement pr\u00e9f\u00e9rable pour pr\u00e9server la taille de l&rsquo;\u00e9chantillon.<\/li>\n<li><strong>Cas 2 : Taux d&rsquo;incompl\u00e9tude mod\u00e9r\u00e9 \u00e0 \u00e9lev\u00e9 (5 % \u00e0 40 %) sous hypoth\u00e8se de m\u00e9canisme MAR dans un cadre d&rsquo;inf\u00e9rence statistique formelle :<\/strong> L&rsquo;imputation multiple par \u00e9quations cha\u00een\u00e9es (MICE) s&rsquo;impose comme la solution de r\u00e9f\u00e9rence absolue, garantissant la validit\u00e9 des intervalles de confiance et la pr\u00e9servation de l&rsquo;incertitude d&rsquo;\u00e9chantillonnage selon les r\u00e8gles de Rubin.<\/li>\n<li><strong>Cas 3 : Donn\u00e9es hautement dimensionnelles avec relations complexes, pr\u00e9sence d&rsquo;interactions d&rsquo;ordre \u00e9lev\u00e9 et absence d&rsquo;inf\u00e9rence param\u00e9trique classique :<\/strong> L&rsquo;approche non param\u00e9trique par for\u00eats al\u00e9atoires via <em>missForest<\/em> constitue l&rsquo;option la plus puissante pour maximiser la fid\u00e9lit\u00e9 pr\u00e9dictive des repr\u00e9sentations multivari\u00e9es sans risquer d&rsquo;erreurs de sp\u00e9cification de mod\u00e8le.<\/li>\n<li><strong>Cas 4 : Donn\u00e9es mixtes (variables continues et qualitatives complexes) avec un \u00e9chantillon de taille mod\u00e9r\u00e9e :<\/strong> L&rsquo;algorithme k-NN (via le package <em>VIM<\/em>) exploitant la distance de Gower repr\u00e9sente un excellent compromis g\u00e9om\u00e9trique d\u00e9terministe pour des analyses exploratoires ou du profilage multivari\u00e9.<\/li>\n<li><strong>Cas 5 : Suspicion av\u00e9r\u00e9e d&rsquo;un m\u00e9canisme non ignorable (MNAR) :<\/strong> Aucune m\u00e9thode standard ne peut \u00eatre appliqu\u00e9e na\u00efvement. Il est imp\u00e9ratif de recourir \u00e0 des mod\u00e9lisations de s\u00e9lection de Heckman, des mod\u00e8les conjoints \u00e0 effets al\u00e9atoires partag\u00e9s, ou de borner formellement les r\u00e9sultats par des analyses de sensibilit\u00e9 en pire et meilleur des cas (<em>tipping-point analysis<\/em>).<\/li>\n<\/ul>\n<h3>12.3 Reproductibilit\u00e9 et gestion des flux de travail scientifiques<\/h3>\n<p>L&rsquo;int\u00e9grit\u00e9 de la d\u00e9marche scientifique contemporaine repose sur le principe cardinal de la reproductibilit\u00e9 computationnelle. Puisque les algorithmes d&rsquo;imputation avanc\u00e9s (tels que MICE, missForest ou les imputations univari\u00e9es probabilistes) reposent sur des tirages de nombres pseudo-al\u00e9atoires pour simuler les distributions sous-jacentes, l&rsquo;omission de fixer explicitement l&rsquo;\u00e9tat du g\u00e9n\u00e9rateur de nombres al\u00e9atoires aboutit in\u00e9vitablement \u00e0 des r\u00e9sultats num\u00e9riques l\u00e9g\u00e8rement divergents \u00e0 chaque ex\u00e9cution du code R.<\/p>\n<p>Il est donc imp\u00e9ratif de sanctuariser chaque pipeline analytique par l&rsquo;invocation pr\u00e9alable de la fonction <code>set.seed()<\/code> (par exemple <code>set.seed(2026)<\/code>) en pr\u00e9ambule de toute section de code ex\u00e9cutant une imputation stochastique. De plus, une saine hygi\u00e8ne d&rsquo;ing\u00e9nierie des donn\u00e9es prescrit d&rsquo;adopter une s\u00e9paration physique stricte au niveau du syst\u00e8me de fichiers entre le jeu de donn\u00e9es brut original en lecture seule (<em>raw data<\/em>) et les jeux de donn\u00e9es nettoy\u00e9s ou imput\u00e9s (<em>processed data<\/em>), interdisant toute \u00e9crasement direct des fichiers d&rsquo;origine.<\/p>\n<p>Enfin, la formalisation du projet statistique au sein d&rsquo;un document computationnel dynamique (\u00e9labor\u00e9 sous Quarto ou R Markdown) garantit l&rsquo;alignement rigoureux entre le code source R, les diagnostics graphiques d&rsquo;incompl\u00e9tude, les sorties des mod\u00e8les aggreg\u00e9s et le corps textuel du manuscrit scientifique, inscrivant ainsi la recherche dans les standards d&rsquo;excellence les plus exigeants de la science ouverte (<em>Open Science<\/em>).<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul style=\"list-style-type: none; padding-left: 0;\">\n<li style=\"margin-bottom: 1em;\">Little, R. J. A. (1988). A test of missing completely at random for multivariate data with missing values. <em>Journal of the American Statistical Association<\/em>, 83(404), 1198\u20131202. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1080\/01621459.1988.10478722\">https:\/\/doi.org\/10.1080\/01621459.1988.10478722<\/a><\/li>\n<li style=\"margin-bottom: 1em;\">Little, R. J. A., &amp; Rubin, D. B. (2019). <em>Statistical analysis with missing data<\/em> (3rd ed.). John Wiley &amp; Sons. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1002\/9781119482260\">https:\/\/doi.org\/10.1002\/9781119482260<\/a><\/li>\n<li style=\"margin-bottom: 1em;\">Rubin, D. B. (1976). Inference and missing data. <em>Biometrika<\/em>, 63(3), 581\u2013592. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1093\/biomet\/63.3.581\">https:\/\/doi.org\/10.1093\/biomet\/63.3.581<\/a><\/li>\n<li style=\"margin-bottom: 1em;\">Rubin, D. B. (1987). <em>Multiple imputation for nonresponse in surveys<\/em>. John Wiley &amp; Sons. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1002\/9780470316696\">https:\/\/doi.org\/10.1002\/9780470316696<\/a><\/li>\n<li style=\"margin-bottom: 1em;\">Stekhoven, D. J., &amp; B\u00fchlmann, P. (2012). MissForest\u2014non-parametric missing value imputation for mixed-type data. <em>Bioinformatics<\/em>, 28(1), 112\u2013118. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1093\/bioinformatics\/btr597\">https:\/\/doi.org\/10.1093\/bioinformatics\/btr597<\/a><\/li>\n<li style=\"margin-bottom: 1em;\">Tierney, N. J., &amp; Cook, D. (2023). Expanding tidy data principles to facilitate missing data exploration, visualization and assessment of imputations. <em>Journal of Statistical Software<\/em>, 105(7), 1\u201331. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.18637\/jss.v105.i07\">https:\/\/doi.org\/10.18637\/jss.v105.i07<\/a><\/li>\n<li style=\"margin-bottom: 1em;\">van Buuren, S. (2018). <em>Flexible imputation of missing data<\/em> (2nd ed.). Chapman and Hall\/CRC. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1201\/9780429492259\">https:\/\/doi.org\/10.1201\/9780429492259<\/a><\/li>\n<li style=\"margin-bottom: 1em;\">van Buuren, S., &amp; Groothuis-Oudshoorn, K. (2011). mice: Multivariate imputation by chained equations in R. <em>Journal of Statistical Software<\/em>, 45(3), 1\u201367. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.18637\/jss.v045.i03\">https:\/\/doi.org\/10.18637\/jss.v045.i03<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Guide acad\u00e9mique complet pour imputer les valeurs manquantes dans R : techniques par moyenne, m\u00e9diane, MICE et k-NN avec exemples de code reproductibles.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[1829,2193],"tags":[9540,9542,9544,3060,3065],"class_list":["post-8462","psych_stat","type-psych_stat","status-publish","hentry","category-methodologie-statistique","category-programmation-r","tag-imputation-r","tag-mice-r","tag-remplacement-moyenne","tag-tidyverse","tag-valeurs-manquantes"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/8462","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=8462"}],"version-history":[{"count":1,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/8462\/revisions"}],"predecessor-version":[{"id":16896,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/8462\/revisions\/16896"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}