Je hebt gelijk, dit stond fout in de stof. Ik heb dit gecorrigeerd. Dit komt omdat achter de schermen de IQR werd berekend met deze formule:
Q1 <- mediaan(x[x < mediaan(x)]);
Q3 <- mediaan(x[x > mediaan(x)]);
IQR <- Q3 - Q1;
Oftewel, de handmatige berekening werd letterlijk gevolgd: eerst pak je de mediaan van de datareeks (`x`). Dan pak je de 'mediaan' van de scores die lager zijn dan de echte mediaan (Q1) en de 'mediaan' van de scores die hoger zijn dan de echte mediaan (Q3). Het verschil is de IQR.
Dat is precies wat je met de hand doet, en lijkt op het eerste gezicht te werken.
Totdat de mediaan niet tussen twee getallen in ligt. In het geval van leeftijd was de mediaan inderdaad 24, want zowel het tiende als het elfde datapunt was 24 (en het twaalfde, trouwens). Dat betekent dat er minder dan 10 datapunten in de datareeks zitten die kleiner zijn dan de mediaan (alleen de eerste negen datapunten), en minder dan 10 datapunten die groter zijn dan de mediaan (alleen de laatste acht datapunten). Als je daar vervolgens de mediaan van neemt, is de kans dus groot dat je niet op Q1 en Q3 uitkomt. Dit is nu aangepast.
Bedankt voor de observatie dus, en excuses voor de fout!