Je suis en train de lire le Javascript éloquent et jusqu'à présent, c'est une bonne lecture, mais je suis coincé sur cette fonction qu'il a mise en place, pour calculer le phi-coeffcient. C'est le code.
Il y a évidemment un peu de contexte pour cela, et je ne peux pas copier / coller tout sur le livre, alors si quelqu'un qui a effectivement lu le livre pourrait m'expliquer ça, ce serait génial!
Ce que je ne comprends pas, c'est ce qu'on appelle quand il dit «table [3]» ou «table [0]»? Je comprends la formule du coefficient phi:
Φ = (n11n00 – n10n01) / (√ n1 • n0 • n • 1n • 0)
Mais je n'obtiens pas (du tout) comment il l'a traduit dans JS. Qu'est-ce qui se passe exactement dans ce code?
function phi(table) { return (table[3] * table[0] - table[2] * table[1]) / Math.sqrt((table[2] + table[3]) * (table[0] + table[1]) * (table[1] + table[3]) * (table[0] + table[2])); }
Essayez de visualiser le processus à chaque étape et de remplacer, comme une équation:
┌──────────────────────────────────────────────── │ label: n00 │ label: n01 │ │ compte: 76 │ compte: 9 │ │ pas d'écureuil, │ pas d'écureuil, │ │ pas de pizza │ pizza │ ├──────────────────────────────────────────────────────────────── │ label: n10 │ label: n11 │ │ compte: 4 │ compte: 1 │ │ écureuil, │ écureuil, │ │ pas de pizza │ pizza │ └────────────────────────────────────────────────
table = [n00, n01, n10, n11] n00 = table[0] = 76 n10 = table[1] = 4 n01 = table[2] = 9 n11 = table[3] = 1 n1• = n10 + n11 = table[2] + table[3] = 9 + 1 = 10 n0• = n00 + n01 = table[0] + table[1] = 76 + 4 = 80 n•1 = n01 + n11 = table[1] + table[3] = 4 + 1 = 5 n•0 = n00 + n10 = table[0] + table[2] = 76 + 9 = 85
//pseudo code phi = function(table) { return (n11 * n00 - n10 * n01) / Math.sqrt(n1• * n0• * n•1 * n•0) } //JavaScript code phi = function(table) { return (table[3] * table[0] - table[2] * table[1]) / Math.sqrt((table[2] + table[3]) * (table[0] + table[1]) * (table[1] + table[3]) * (table[0] + table[2])) }