*** mesure de la variabilité, de la dispersion des valeurs autour d'une moyenne. c'est l'écart-type au carré Mesure leur homogénéité ou hétérogénéité. test ANOVA (analyse de la variance): « test, permettant d’aboutir à l’acception ou au rejet d’une hypothèse, en l’occurrence d’hypothèse qu’il n’y a pas de lien entre la [[nominal variables|variable qualitative]] et la [[numerical variables|variable quantitative]] » on va tester la pertinence des variables qualitatives en créant des groupes au sein d'une plus grande variable quantitative. Si y'a des grosses différences entre les groupes, c'est que le découpage est pertinent et que l'on peut rejeter l'[[indépendance des variables|hypothèse d'indépendance entre les deux variables]] « MANOVA : Multiple ANalysis of VAriance » : Permet de faire la même chose qu'ANOVA mais avec plusieurs variables qualitatives même si cela requiert un plus gros échantillon ## Notes de bas de page ```dataviewjs // === DONNÉES === const page = dv.current(); const file = page.file; const outlinks = file.outlinks.length; const inlinks = file.inlinks.length; const qualite = Math.max(0, Math.min(100, page["qualité"] ?? 0)); // === CALCUL PROGRESSION (0–100) === const max_links = 30; const s_out = Math.min(outlinks / max_links, 1) * 40; const s_in = Math.min(inlinks / max_links, 1) * 30; const s_qual = qualite * 0.3; const total = Math.round(s_out + s_in + s_qual); // === ICÔNES === const iconEmoji = total <= 25 ? "🌱" : total <= 50 ? "🌿" : total <= 75 ? "🌳" : "🦚"; const iconLabel = total <= 25 ? "🌱 Graine" : total <= 50 ? "🌿 Jeune pousse" : total <= 75 ? "🌳 Arbre mature" : "🦚 Forêt"; // === MISE À JOUR YAML SANS CRÉER DE NOUVELLES CLÉS === const tfile = app.workspace.getActiveFile(); const cache = app.metadataCache.getFileCache(tfile); // 1. Si pas de frontmatter → on ne touche à rien if (cache?.frontmatter) { await app.fileManager.processFrontMatter(tfile, fm => { // 2. On met à jour seulement si la propriété existe déjà if (Object.prototype.hasOwnProperty.call(fm, "progression")) { fm.progression = total; } if (Object.prototype.hasOwnProperty.call(fm, "icon")) { fm.icon = iconEmoji; } }); } // === AFFICHAGE === dv.table( ["Liens sortants", "Liens entrants", "Qualité", "Progression"], [[outlinks, inlinks, `${qualite}/100`, `${iconLabel} — ${total}/100`]] ); ```