Planlæg dit studie

Inden du åbner R — definer spørgsmål, kohorte og datamodel

Published

June 6, 2026

Registerforskning starter ikke i R. Det starter med blyant og papir. Denne side guider dig igennem de ting, du bør have på plads, inden du skriver en eneste linje kode.

Tip

Kort fortalt: Læg fire ting fast på papir, før du koder — et præcist forskningsspørgsmål, din datamodel (hvilke registre dækker eksponering, udfald og kovariater), dine kovariater valgt med en DAG, og din sammenligningskohorte.


Hvilken type studie laver du?

Næsten al registerforskning er observationel og analytisk — du observerer det der allerede er sket, uden at gribe ind. De to klassiske analytiske designs er case-control og kohorte; Fase 10 viser, hvordan du bygger et matchet kohortestudie. Randomiserede forsøg (RCT) kan ikke laves med registerdata og er kun taget med her for overblikkets skyld.

flowchart TD
    E["Epidemiologiske studier"]:::neutral
    O["Observationelle<br>— registerforskning lever her"]:::active
    X["Eksperimentelle"]:::ref
    D["Deskriptive"]:::active
    A["Analytiske"]:::active
    CC["Case-control"]:::active
    CO["Kohorte"]:::active
    R["RCT<br>— kræver intervention,<br>ikke muligt med registerdata"]:::ref

    E --> O
    E --> X
    O --> D
    O --> A
    A --> CC
    A --> CO
    X --> R

    classDef neutral fill:#eef0f2,stroke:#8a94a6,color:#1f2733;
    classDef active fill:#eaf2fb,stroke:#4a78b5,color:#173a5e;
    classDef ref fill:#f6f6f6,stroke:#cccccc,color:#999999;

Case-control eller kohorte — hvad er forskellen?

De to analytiske designs adskiller sig i hvilken ende du starter fra:

Kohorte Case-control
Udgangspunkt Eksponering Udfald
Retning Følger fremad: eksponeret → udfald Ser tilbage: case → tidligere eksponering
Bedst når Eksponeringen er sjælden; flere udfald Udfaldet er sjældent; ét udfald
Effektmål Incidens, relativ risiko (RR), hazard ratio Odds ratio (OR)
I registre Definér eksponeret gruppe + sammenligningskohorte, følg fremad Find alle cases, vælg kontroller, se bagud på eksponering

Kohorte følger personer fremad i tid fra index-dato og måler hvor mange der får udfaldet — derfor kan man beregne incidens og risiko. Velegnet når du har flere udfald (jf. alle_dx-tilgangen i Fase 9b).

Case-control starter fra dem der allerede har udfaldet og matcher med kontroller uden — effektivt ved sjældne udfald, men kan ikke beregne absolut risiko.

Med registerdata kan du gøre begge dele, fordi hele befolkningens historik er tilgængelig. Fase 10 viser et matchet kohortestudie trin for trin.


Nøglebegreber

Inden du planlægger et studie er det værd at kende disse termer — de bruges igennem hele guiden.

Kohorte En gruppe af personer der følges over tid, fordi de deler en bestemt karakteristik på et bestemt tidspunkt. Eksempel: alle patienter der fik bariatrisk kirurgi i perioden 2010–2020.

Index-dato Startdatoen for opfølgningen — det tidspunkt fra hvilket du begynder at tælle. For opererede patienter er det typisk operationsdatoen. For matchede kontroller tildeles den samme dato som den matchede opererede patient.

Eksponering Den faktor du undersøger effekten af — fx en operation, et lægemiddel eller en diagnose.

Udfald Det du måler — fx debut af en sygdom, en indlæggelse, eller død.

Kovariater Variable du inkluderer for at tage højde for bl.a. confounding — faktorer der påvirker både eksponering og udfald. Eksempler: alder, køn, komorbiditet, socioøkonomisk status.


1. Hvad vil jeg undersøge?

Formulér dit forskningsspørgsmål præcist, inden du begynder at kigge på data. Et vagt spørgsmål giver et rodet datasæt. Et præcist spørgsmål giver en klar plan.

Stil dig selv disse spørgsmål:

Spørgsmål Eksempel
Hvem er min population? Alle voksne med T2D i Danmark, 2010–2020
Hvad er min eksponering? Bariatrisk kirurgi
Hvad er mit udfald? Demens
Hvornår starter opfølgningen? Operationsdato (index-dato)
Hvornår stopper den? Diagnose, død, emigration eller studieperiode slut
Hvilke confoundere skal justeres for? Alder, køn, komorbiditet, SES

2. Hvilke registre dækker hvad?

Inden du kortlægger din datamodel er det nyttigt at vide hvilke registre der eksisterer.

Hvad skal du finde? Register
Demografi (alder, køn, bopæl) BEF — Befolkningsregistret
Hospitalsdiagnoser og -kontakter LPR — Landspatientregistret (LPR2 + LPR3)
Receptordinerede lægemidler LMDB — Lægemiddelstatistikregistret
Dødsdato (til censurering) DODSAARS — Dødsregistret
Emigration (til censurering) VNDS — Migrationsregistret
Uddannelse UDDA — Uddannelsesregistret
Indkomst FAIK — Familieindkomstregistret
Beskæftigelse AKM — Arbejdsklassifikationsmodulet

En komplet beskrivelse af alle registre med kolonnenavne og join-nøgler finder du i Fase 15 — Registerreference →


3. Vælg dine kovariater med en DAG

Hvilke variable skal du justere for? Det er ikke “så mange som muligt”. At justere for de forkerte variable kan indføre bias i stedet for at fjerne den.

Et DAG (directed acyclic graph — et kausalt diagram) er en tegning af dine antagelser om, hvordan eksponering, udfald og øvrige variable hænger sammen. Det gør dine antagelser eksplicitte og hjælper dig med at vælge det rigtige sæt kovariater.

Tommelfingerregler:

  • Justér for confoundere — variable der påvirker både eksponering og udfald (fx alder, comorbiditet).
  • Justér IKKE for mediatorer — variable der ligger årsagsvejen mellem eksponering og udfald (det fjerner en del af den effekt du vil måle).
  • Justér IKKE for colliders — fælles effekter af to variable (det åbner en falsk sammenhæng).
Eksempel: kirurgi og demens — en DAG med confounder, mediator og collider

Et konkret eksempel: påvirker kirurgi risikoen for demens?

Kausalt diagram med fem variable: kirurgi (eksponering), demens (udfald), alder (confounder), delir (mediator) og indlæggelse (collider).
Figure 1: DAG over kirurgi → demens med en confounder (alder), en mediator (delir) og en collider (indlæggelse).
  • Alder er en confounder — den påvirker både sandsynligheden for kirurgi og for demens. Justér for den.
  • Delir (postoperativt delirium) er en mediator — den ligger på vejen kirurgi → delir → demens. Justér ikke — så fjerner du en del af den effekt du vil måle.
  • Indlæggelse er en collider — både kirurgi og demens fører til indlæggelse. Justér ikke — det åbner en falsk sammenhæng.

Du kan indsætte modellen direkte i dagitty.net og få det minimale justeringssæt udregnet:

dag {
  Alder        [pos="0,-1"]
  Kirurgi      [exposure, pos="-1.5,0"]
  Delir        [pos="0,0"]
  Demens       [outcome,  pos="1.5,0"]
  Indlaeggelse [pos="0,1"]
  Alder   -> Kirurgi
  Alder   -> Demens
  Kirurgi -> Delir
  Delir   -> Demens
  Kirurgi -> Indlaeggelse
  Demens  -> Indlaeggelse
}

For denne DAG er det minimale justeringssæt {Alder} — du skal kun justere for alder.

Tip

Værktøjer


4. Sammenligningskohorten

Mange studier sammenligner en eksponeret gruppe med en sammenligningskohorte. Hvordan du bygger den, er en designbeslutning du skal tage på papir — inden koden.

Det skal du overveje:

  • Hvem er en passende sammenligningskohorte? Fx for bariatrisk kirurgi: personer med svær overvægt der ikke blev opereret, eller en matchet baggrundsbefolkning. Valget afhænger af spørgsmålet.
  • Index-dato til sammenligningskohorten. Din eksponerede kohorte har en index-dato der er bestemt af eksponeringen (fx operationsdatoen). Det har sammenligningskohorten ikke — den skal tildeles en dato, typisk den samme dato som den matchede eksponerede person, så begge grupper følges fra et sammenligneligt tidspunkt.
  • Eligibilitet ved index. Sammenligningskohorten skal opfylde inklusionskriterierne på sin tildelte index-dato — ellers risikerer du immortal time bias (en skævvridning der opstår, når en person tildeles eksponeringstid, hvori de per definition ikke kunne have fået udfaldet endnu).
  • Matchingvariable og -ratio. Fx alder, køn og kalenderår; beslut forholdet (fx 1:5).
  • Kan nogen i sammenligningskohorten blive eksponeret senere? Fx: kan en person der startede som kontrol, få operationen på et tidspunkt? Beslut hvad der sker i det tilfælde — om de forbliver kontrol, eller overgår til den eksponerede gruppe.
  • Samme eksklusioner anvendes på begge grupper.

→ Det komplette mønster for kohorteopbygning og matching finder du i Fase 10 — Byg din studiepopulation.


5. Dan et overblik — pen og papir

Inden du åbner R, svar på disse spørgsmål skriftligt:

  1. Hvilke variable skal jeg bruge? (patientinformation — alder, køn, diagnoser mv. - og for hvilke år)
  2. Hvilke registre indeholder disse oplysninger? (LPR, BEF, LMDB, …)
  3. I hvilken rækkefølge skal data samles? (definer population → hent udfald → hent kovariater)

Et godt overblik på papiret sparer mange timers fejlretning i koden.

Eksempel: overblik for et demensstudie
Population:   Voksne der har fået bariatrisk kirurgi (identificeret via Databasen for Behandling af Svær Overvægt — DBSO), 2010–2024
              Matchede kontroller fra Befolkningsregistret (BEF)

Udfald:       Første demensdiagnose (LPR — ICD-10: F00–F03, G30–G31)
              Dato: første kontakt med demenskode efter operationsdato

Kovariater:   Alder og køn (BEF)
              Komorbiditet (LPR — 5-års lookback, dvs. diagnoser i de 5 år inden index-dato)
              Uddannelse (UDDA)
              Indkomst (FAIK via BEF familie_id)
              Beskæftigelse (AKM)

Censurering:  Død (DODSAARS)
              Emigration (VNDS)
              Studieperiode slut (31. dec 2024)

6. Lav en analyseplan

En analyseplan er et dokument, du skriver inden du ser på dine data. Det tvinger dig til at tage stilling til design, statistik og variable, før resultaterne farver dine beslutninger.

Brug STROBE-checklisten som skelet: STROBE Statement — checklists →

Pre-registrer din analyseplan på fx OSF — det er god videnskabelig praksis og kræves af mange tidsskrifter: Open Science Framework — registreringsskabeloner


7. Næste skridt

Når du har dit overblik på plads:

Back to top