Før BFHcharts 0.9.0 producerede dette stille en misvisende graf:
bfh_qic(data, ...,
y_axis_unit = "percent",
target_value = 2.0, # Brugerens hensigt: "2%"
target_text = "↓ Mål: 2%"
)bfh_qic() plottede target-linjen ved y = 2.0 — som på en
procent-akse renderer som 200%. Klinisk konsekvens: et
mål der ser ud som umuligt at nå (eller, værre, som “altid nået”).
Fra v0.9.0 valideres target_value mod skalaen implyeret
af multiply:
multiply |
Forventet target_value skala |
Eksempel |
|---|---|---|
1 (default) |
Proportion [0, 1.5] |
target_value = 0.02 betyder 2% |
100 |
Procent [0, 150] |
target_value = 2.0 betyder 2% |
Validering uden for området kaster en hård fejl med migration-hint.
multiply = 1)Data er proportioner i [0, 1]. Y-aksen formateres med
%-suffix (BFHcharts multiplicerer med 100 ved tegning, men
værdier er proportioner internt).
library(BFHcharts)
data <- data.frame(
month = seq(as.Date("2024-01-01"), by = "month", length.out = 12),
infections = c(15, 18, 12, 14, 16, 13, 11, 9, 10, 8, 7, 6),
discharges = rep(100L, 12)
)
# multiply = 1 (default), target som proportion
bfh_qic(data,
x = month, y = infections, n = discharges,
chart_type = "p",
y_axis_unit = "percent",
target_value = 0.10, # 10% — proportion
target_text = "↓ Mål: <10%"
)multiply = 100)Data og target er begge i procent (0-100 skala). Y-aksen formateres uden konvertering.
bfh_qic(data,
x = month, y = infections, n = discharges,
chart_type = "p",
y_axis_unit = "percent",
multiply = 100,
target_value = 10, # 10% — procent
target_text = "↓ Mål: <10%"
)Begge giver samme visuelle resultat. Vælg den der matcher hvordan dine data er gemt (proportion vs procent).
target_texttarget_text understøtter directional indicators der
erstatter target-linjen med en pil ved plot-kanten:
| Symbol | Betydning |
|---|---|
↑ |
Højere er bedre (ingen line, kun pil opad) |
↓ |
Lavere er bedre (ingen line, kun pil nedad) |
< |
Mål er øvre grænse |
> |
Mål er nedre grænse |
# Pil-target (ingen visible line)
bfh_qic(data,
x = month, y = infections, n = discharges,
chart_type = "p",
y_axis_unit = "percent",
target_value = 0.10,
target_text = "↓ Mål: 10%" # Pil-version
)Når target_text indeholder ↑,
↓, <, eller >, suppresseres
target-linjen i plottet for at undgå dobbelt-visualisering. Pilen
placeres ved den right-edge label-pipeline.
Tre kategorier af mål, hver med forskellig statistisk fortolkning:
Mål = ekstern reference (national gennemsnit, regional median). Brug fast linje uden directional pil. Ikke en kontrolgrænse — bare en visualiseringsreference.
Mål = ønsket fremtidig tilstand. Ofte med directional pil
(↑/↓). Vis at processen er på vej derhen,
eller at fokuseret indsats kræves.
Hvis du er i tvivl, sammenlign target-værdi mod data-skala:
# Gammel kode (silently misvisende):
bfh_qic(data, ...,
y_axis_unit = "percent",
target_value = 2.0 # Plottet som 200% på percent-akse
)
# Ny kode — Option A (anbefalet):
bfh_qic(data, ...,
y_axis_unit = "percent",
target_value = 0.02 # 2% som proportion
)
# Ny kode — Option B (hvis data allerede i procent):
bfh_qic(data, ...,
y_axis_unit = "percent",
multiply = 100,
target_value = 2.0 # 2% som procent
)Valideringsfejlen vil identificere problemet med præcis migrationshjælp:
Error: target_value (2.0) ligger uden for forventet område [0, 1.5]
for y_axis_unit = 'percent' med multiply = 1.
Du mente sandsynligvis target_value = 0.02 (2% som proportion)
eller target_value = 2.0 med multiply = 100 (2% som procent).
Et target sat på chartet via target_text eller
target_value flyder automatisk til auto-analysen:
result <- bfh_qic(data, x = month, y = events, n = n,
chart_type = "p", y_axis_unit = "percent",
target_text = ">= 90%")
# Auto-analyse ser target via fallback-kæden — ingen duplikering nødvendig
bfh_export_pdf(result, "rapport.pdf",
metadata = list(hospital = "BFH"), # target uden for metadata
auto_analysis = TRUE)Fallback-kæden er: metadata$target →
config$target_text → config$target_value.
Eksplicit metadata$target overrider stadig chartets target,
hvis du ønsker at analysere mod en alternativ benchmark.
vignette("chart-types") — vælg charttype førstvignette("phases-and-freeze") — håndtér interventioner
og baseline?bfh_qic — @details “Percent Target
Contract” sektion