Descriptive statistics: tabulate

The script below demonstrates different ways to use the tabulate command to create descriptive statistics.

The command is used on categorical variables to produce frequency tables, both unidimensional and multidimensional. By combining with the summarize() option, you can also create volume tables.

Both numeric and alphanumeric variables can be used as input, but the number of cells in the table must not exceed a certain limit. E.g. you can make a table of all municipalities (distributed by gender etc), but not of all education codes.

require no.ssb.fdb:23 as db

create-dataset demografidata
import db/INNTEKT_WYRKINNT 2020-01-01 as innt
import db/INNTEKT_BRUTTOFORM 2020-01-01 as formue
import db/BEFOLKNING_KJOENN as kjønn
import db/BEFOLKNING_FOEDSELS_AAR_MND as faarmnd
import db/SIVSTANDFDT_SIVSTAND 2016-01-01 as sivstand16
import db/SIVSTANDFDT_SIVSTAND 2020-01-01 as sivstand20
import db/BOSATTEFDT_BOSTED 2020-01-01 as bosted
import db/BEFOLKNING_STATUSKODE 2020-01-01 as regstat

// Koder om fra kommune- til fylkesnivå 
generate fylke = substr(bosted,1, 2)


// Genererer deskriptiv statistikk

// Frekvenstabeller - enveis og toveis
// Den beste måten å gjøre seg kjent med diskrete variabler er gjennom frekvenstabeller. Disse viser antallet enheter for hver kategori, og gir dessuten overblikk over hvilke kategorier som benyttes for den aktuelle variabelen. En kan se på enkeltvariabler gjennom enveistabeller, men også kombinere to eller flere i en og samme tabell (krysstabeller). Dette gir innblikk i hvordan frekvensene fordeler seg, kontrollert for verdier på andre variabler

define-labels fylkerstring '03' Oslo '11' Rogaland '15' 'Møre og Romsdal' '18' Nordland '30' Viken '34' Innlandet '38' 'Vestfold og Telemark' '42' Agder '46' Vestland '50' Trøndelag '54' 'Troms og Finnmark' '21' Spitsbergen '25' 'Utdanning i utlandet' '99' Uoppgitt

assign-labels fylke fylkerstring

tabulate fylke
tabulate kjønn
tabulate kjønn regstat
tabulate kjønn fylke

// Krysstabell med kun kategoriverdier (ikke labler)
tabulate kjønn regstat fylke, nolabels

// Krysstabell der missingverdier tas med 
tabulate fylke regstat, missing

// Krysstabell der vi bare viser resultatet for personer over 30 år
generate alder = 2020 - int(faarmnd/100)
tabulate fylke regstat if alder > 30

// Prosenttabeller
tabulate sivstand16 sivstand20, rowpct
tabulate sivstand16 sivstand20, colpct
tabulate sivstand16 sivstand20, cellpct
tabulate sivstand16 sivstand20, rowpct freq

// tabulate-kommandoen kan også brukes til å lage volumtabeller vha. summarize-option. Dette viser statistikk som gjennomsnitt m.m. for en gitt variabel fordelt på kategorier spesifisert gjennom de valgte tabulate-variable

tabulate fylke kjønn, summarize(formue)