Om funksjonen
Formål
Tre tett beslektede sentraltendens-/spredningsmål samlet i én fil, uten ekstern statistikk-avhengighet: beregnGjennomsnitt (aritmetisk snitt), beregnMedian (midtverdi, robust mot uteliggere) og beregnPersentil (vilkårlig persentil via lineær interpolasjon, samme metode som Excel PERCENTILE.INC/NumPy sin standard). Se designsystem/guider/tall-og-statistikk/ for veiledning i når man bør bruke hvilket mål.
Egner seg for
- Oppsummere et numerisk datasett i et nøkkeltall (
<lm-stat>) eller en tabellrad - f.eks. gjennomsnittlig transaksjon, median reisekostnad, 90. persentil svartid. - Datasett med potensielle uteliggere der median/persentil gir et mer representativt bilde enn et rått gjennomsnitt.
Egner seg ikke for
- Store, kontinuerlig voksende datastrømmer som trenger en løpende/inkrementell beregning - disse funksjonene regner på hele datasettet på nytt hver gang, og er ment for datasett som får plass i minnet.
- Vektede gjennomsnitt eller andre mer avanserte statistiske mål (standardavvik, varians) - ikke dekket her ennå; legg til som egne funksjoner i samme kategori ved reelt behov.
Signatur(er)
beregnGjennomsnitt(values: Array<number | string>) => number | null
| Parameter | Type | Beskrivelse |
|---|---|---|
values | Array<number | string> | Datasettet. Ikke-numeriske/tomme verdier filtreres bort før beregningen. |
Returnerer: Gjennomsnittet, eller null hvis datasettet er tomt (etter filtrering).
import {beregnGjennomsnitt} from "/designsystem/funksjoner/statistikk/beregn-sentraltendens/beregn-sentraltendens.js";
beregnGjennomsnitt([10, 20, 30]); // 20
beregnGjennomsnitt([]); // null
beregnMedian(values: Array<number | string>) => number | null
| Parameter | Type | Beskrivelse |
|---|---|---|
values | Array<number | string> | Datasettet. Ikke-numeriske/tomme verdier filtreres bort før beregningen. |
Returnerer: Medianen. Gjennomsnittet av de to midterste verdiene ved partall antall, midtverdien ved oddetall. null hvis datasettet er tomt.
import {beregnMedian} from "/designsystem/funksjoner/statistikk/beregn-sentraltendens/beregn-sentraltendens.js";
beregnMedian([1, 2, 3, 4]); // 2.5 - upåvirket av uteliggere, i motsetning til gjennomsnitt
beregnMedian([1, 2, 100000]); // 2
beregnPersentil(values: Array<number | string>, persentil: number) => number | null
| Parameter | Type | Beskrivelse |
|---|---|---|
values | Array<number | string> | Datasettet. Ikke-numeriske/tomme verdier filtreres bort før beregningen. |
persentil | number | Ønsket persentil, et tall mellom 0 og 100 (f.eks. 90 for 90. persentil). |
Returnerer: Den interpolerte persentilverdien. null hvis datasettet er tomt eller persentil er utenfor [0, 100].
import {beregnPersentil} from "/designsystem/funksjoner/statistikk/beregn-sentraltendens/beregn-sentraltendens.js";
beregnPersentil([10, 20, 30, 40, 50], 50); // 30 - samme som medianen
beregnPersentil([10, 20, 30, 40, 50], 90); // 46 - typisk mål for "nesten verste tilfelle"
Prøv selv
Rediger uttrykket under - returverdien oppdateres live.
Tilgjengelighet
Ikke relevant: ren logikk uten DOM eller UI.
Referanser
Se også:
../../formattering/format-tall/index.html - Naturlig følgesvenn - formater resultatet av disse beregningene til visningstekst.../../../komponenter/innhold/stat/index.html - Typisk visningssted for et enkelt gjennomsnitt-/median-/persentiltall.
Avhengigheter: Ingen