2.3.1 Datasett med tverrsnittsopplysninger
Kommandoen import
brukes til import av følgende opplysninger (fire temporalitetstyper):
-
Faste opplysninger (f.eks. kjønn, fødselsdato, fødeland)
-
Forløpsopplysninger (gjør i praksis et valgfritt uttrekk fra forløps-/ hendelsesvariabler)
-
Tverrsnittsopplysninger på forhåndsgitte måledatoer
-
Akkumulerte opplysninger (hovedsaklig årlige økonomiske opplysninger som inntekt, formue etc)
En spesifiserer navnet på variabelen en ønsker å hente til sitt arbeidsdatasett, samt datering for når opplysningen skal måles. Om du jobber i kommandovinduet, foreslår systemet relevante variabler og dateringer gjennom en selvutfyllingsfunksjon som minimerer sjansen for å skrive feil.
For hver gang import
kjøres, vil en ny variabel legges til
arbeidsdatasettet (kobles på automatisk). Det resulterende datasettet vil bestå av én observasjon per enhet (individ), og med et valgfritt antall variabler.
Ved import av variabler med faste opplysninger trenger ikke måledatering oppgis:
import <variabel> as <alias>
For øvrige variabler må en oppgi en ønsket måledato formatet YYYY-MM-DD:
import <variabel> <måledato> as <alias>
For tverrsnittsvariabler må imidlertid aktuell statistikkdato benyttes siden verdiene i prinsippet kun vil gjelde bare for denne aktuelle datoen (en kjenner ikke til faktiske endringsdatoer for slike variabler). Om du jobber i kommandovinduet, foreslår analysesystemet i slike tilfeller de aktuelle statistikkdatoer gjennom selvutfyllingsfunksjonen slik at dette blir lett å oppgi. Ved import av forløpsopplysninger foreslås i stedet den sist brukte dateringen. For variabler med akkumulerte opplysninger er det den årlige verdien for det aktuelle året en importerer, så det har ikke noe å si konkret hvilken dato en oppgir så lenge en angir riktig år.
Eksempel: Datamatrise ved bruk av import (4 variabler)
ID | Variabel 1 | Variabel 2 | Variabel 3 | Variabel 4 |
---|---|---|---|---|
123456 | 1 | 200000 | 0301 | 1 |
135791 | 1 | 410000 | 0301 | 1 |
147036 | 2 | 515000 | 1201 | sysmiss |
159371 | 2 | 309011 | 1101 | sysmiss |
160505 | 2 | 357000 | 1101 | 1 |
173951 | 2 | 399000 | 0301 | 3 |
Kommandoen import
gjør i praksis to operasjoner:
- Henter verdier for en gitt variabel
- Kobler variabelverdiene på eksisterende datasett ved bruk av innebygd identifikatornøkkel for gjeldende enhetstype, og benytter en såkalt "left-join" kobling (standardvalg)
At variabler kobles på datasettet gjennom "left-join" innebærer at en kun importerer verdier for enheter (individer) i det eksisterende datasettet. Derfor er det viktig å starte med å importere en variabel der færrest mulig i en tenkt populasjon har manglende verdier, som f.eks. kjønn, landbakgrunn eller fødselsdato. Starter en derimot med å importere en variabel som angir sykefravær på en gitt dato, er det kun personene med sykefravær på denne datoen som en arbeider videre med ved etterfølgende import-steg. Det vil da ikke være mulig å hente opplysninger om andre personer i senere trinn. Det første import-steget vil med andre ord definere utvalget en jobber videre med.
Alternativ import-løsning: Import
-kommandoen har en
opsjon, outer_join
, som kan benyttes om du ønsker å importere en ny variabel ved bruk av såkalt "outer join"-tilnærming. Dette innebærer at også nye enheter (individer) som ikke eksisterer fra før i ditt datasett blir lagt til, gitt at de har en gyldig verdi for den nye variabelen. Populasjonen din vil da øke i størrelse avhengig av hvor mange nye enheter som har en gyldig verdi for den nye variabelen. Dette kan være nyttig om du ønsker å lage en populasjon som dekker alle enheter (individer) som har hatt en verdi/status over et gitt tidsrom, og ikke bare koble på ny informasjon kun for dem som eksisterer i populasjonen definert av variabel nummer 1.
Eksempel:
import lønn19, outer_join
Merk at en har anledning til å "trimme" ned utvalgspopulasjonen underveis i prosessen med å bygge opp et datasett, gjennom kommandoene drop
og keep
, jfr. kapittel 2.6.
Personer i et eksisterende datasett som har manglende verdi for en importert variabel vil fortsatt være med i utvalget, men vil få en såkalt sysmiss-verdi (se kapittel 2.6).
Om en har en klar idé om hvilke enheter (individer) som skal inngå i en analysepopulasjon, kan det være lurt å "trimme" ned utvalget en jobber med så tidlig som mulig. Dette vil kunne gi betydelige forbedringer i hvor raskt systemet jobber.
Om første variabel som importeres er av universell karakter, f.eks. "kjønn", vil datasettet ditt bestå av flest mulig individer fra den totale databanken, inkludert personer som er døde, emigrert eller ikke født på det aktuelle tidspunktet en er interessert i. Dette kan løses ved å importere variabelen BEFOLKNING_STATUSKODE målt ved det aktuelle tidspunktet, og deretter beholde alle individer som har verdien '1' (= bosatt i Norge).
Eksempel:
require no.ssb.fdb:23 as db
create-dataset demografi
import db/BEFOLKNING_KJOENN as kjønn
import db/BEFOLKNING_STATUSKODE 2021-01-01 as regstat21
keep if regstat21 == '1'
[Eksempel på oppretting og endring av datasett](docs\eksempel\Grunnleggende operasjoner\Opprette og endre et datasett.md)