Omkode fra 2019- til 2020-kommuneinndeling

Kommuneinndelingene endres hyppig i Norge, og spesielt ved årsskiftet til 2020 fikk de fleste kommuner nye kommunenumre samtidig som fylkesinndelingen ble endret. Når man vil lage konsistent regionalstatistikk over tid, blir slike endringer i kodene en utfordring.

Analyseeksempelet nedenfor foretar en omkoding av kommune- og fylkeskodene fra 2019-standard til 2020-standard. Dette gjør at man kan lage konsistent statistikk over bosted før og etter 2020.

Det har også vært endringer i kommunekodene tidligere, men disse er av langt mindre omfang enn det tilfellet var for 2020 og kan ganske enkelt kodes om manuelt ved hjelp av kommandoene replace eller recode.

På grunn av omfanget av endringene i kommunekodene, har skriptet under tatt utgangspunkt i den innebygde funksjonaliteten for automatiske omkodinger som du kan lese om her: https://microdata.no/manual/brukermanual/Tilrettelegging%20av%20variabler/3.2.1%20Automatisk%20omkoding%20ved%20hjelp%20av%20opplasting%20av%20skilletegnseparerte%20filer

I utgangspunktet brukes omkodingsverktøyet til å laste opp ferdige omkodingstabeller (korrespondansetabeller) som man blant annet kan finne hos SSB (http://www.ssb.no/klass). Men man kan også lage egne omkodinger slik det er gjort her. Fremgangsmåten er følgende:

  • Man setter opp et regneark med fire kolonner: Fra-kode, fra-label, til-kode, til-label. Så legger man inn korresponderende koder med tilhørende labler. Man kan også laste ned slike regneark fra ulike kilder. I dette tilfellet er Kartverket brukt som kilde (https://www.kartverket.no/til-lands/kommunereform/tekniske-endringer-ved-sammenslaing-og-grensejustering/komendr2020).
  • Regnearket med de fire kolonnene må bearbeides litt (tekstformat, store -> små bokstaver, og kun en rekke med kolonneoverskrift øverst) og deretter lagres filen som semikolonnseparert csv-fil
  • I verktøyet kan man så enkelt laste opp denne filen slik det er gjort i skriptet under
//Kobler til databank
require no.ssb.fdb:25 as db

//Importerer folkeregistrert bosted per 1/1 2019 og 2020 for alle med et permanent bosted i 1/1 2019
create-dataset befolkning
import db/BEFOLKNING_KOMMNR_FORMELL 2019-01-01 as kommune19
import db/BEFOLKNING_KOMMNR_FORMELL 2020-01-01 as kommune20

generate fylke19 = substr(kommune19,1,2)
generate fylke20 = substr(kommune20,1,2)

define-labels fylke19lbl '01' Østfold '02' Akershus '03' Oslo '04' Hedmark '05' Oppland '06' Buskerud '07' Vestfold '08' Telemark '09' 'Aust-Agder' '10' 'Vest-Agder' '11' Rogaland '12' Hordaland '14' 'Sogn og Fjordane' '15' 'Møre og Romsdal' '18' Nordland '19' Troms '20' Finnmark '50' Trøndelag

define-labels fylke20lbl '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'

assign-labels fylke19 fylke19lbl
assign-labels fylke20 fylke20lbl

//Viser bostedkommuner og -fylker for hele befolkningen per 1/1 2019, og fylke per 1/1 2020
tabulate kommune19, missing
tabulate fylke19, missing
tabulate fylke20, missing

//Kopierer kommunevariabel for 2019 - denne konverteres så til numerisk verdi slik at vi kan kjøre en automatisk omkoding fra 2019- til 2020-kommuneinndeling. Dette kan gjøres ved hjelp av det innebygde omkodingsverktøyet i microdata.no.
clone-variables kommune19 -> kommune19_20standard
destring kommune19_20standard, force

//Generert recode fra kommuneendringer 2019-2020 med riktige formater.csv fr. 27. oktober 2023 11:50:07
//Kommandoen må deles opp pga. lengden på argumentene
recode kommune19_20standard (0101 = 3001 'Halden') (0104 = 3002 'Moss') (0105 = 3003 'Sarpsborg') (0106 = 3004 'Fredrikstad') (0111 = 3011 'Hvaler') (0118 = 3012 'Aremark') (0119 = 3013 'Marker') (0121 = 3026 'Aurskog-Høland') (0122 = 3014 'Indre Østfold') (0123 = 3014 'Indre Østfold') (0124 = 3014 'Indre Østfold') (0125 = 3014 'Indre Østfold') (0127 = 3015 'Skiptvet') (0128 = 3016 'Rakkestad') (0135 = 3017 'Råde') (0136 = 3002 'Moss') (0137 = 3018 'Våler (Viken)') (0138 = 3014 'Indre Østfold') (0211 = 3019 'Vestby') (0213 = 3020 'Nordre Follo') (0214 = 3021 'Ås') (0215 = 3022 'Frogn') (0216 = 3023 'Nesodden') (0217 = 3020 'Nordre Follo') (0219 = 3024 'Bærum') (0220 = 3025 'Asker') (0221 = 3026 'Aurskog-Høland') (0226 = 3030 'Lillestrøm') (0227 = 3030 'Lillestrøm') (0228 = 3027 'Rælingen') (0229 = 3028 'Enebakk') (0230 = 3029 'Lørenskog') (0231 = 3030 'Lillestrøm') (0233 = 3031 'Nittedal') (0234 = 3032 'Gjerdrum') (0235 = 3033 'Ullensaker') (0236 = 3034 'Nes') (0237 = 3035 'Eidsvoll') (0238 = 3036 'Nannestad') (0239 = 3037 'Hurdal') (0301 = 0301 'Oslo') (0402 = 3401 'Kongsvinger') (0403 = 3403 'Hamar') (0412 = 3411 'Ringsaker') (0415 = 3412 'Løten') (0417 = 3413 'Stange') (0418 = 3414 'Nord-Odal') (0419 = 3415 'Sør-Odal') (0420 = 3416 'Eidskog') (0423 = 3417 'Grue') (0425 = 3418 'Åsnes') (0426 = 3419 'Våler (Innlandet)') (0427 = 3420 'Elverum') (0428 = 3421 'Trysil') (0429 = 3422 'Åmot') (0430 = 3423 'Stor-Elvdal') (0432 = 3424 'Rendalen') (0434 = 3425 'Engerdal') (0436 = 3426 'Tolga') (0437 = 3427 'Tynset') (0438 = 3428 'Alvdal') (0439 = 3429 'Folldal') (0441 = 3430 'Os (Innlandet)') (0501 = 3405 'Lillehammer') (0502 = 3407 'Gjøvik') (0511 = 3431 'Dovre') (0512 = 3432 'Lesja') (0513 = 3433 'Skjåk') (0514 = 3434 'Lom') (0515 = 3435 'Vågå') (0516 = 3436 'Nord-Fron') (0517 = 3437 'Sel') (0519 = 3438 'Sør-Fron') (0520 = 3439 'Ringebu') (0521 = 3440 'Øyer') (0522 = 3441 'Gausdal') (0528 = 3442 'Østre Toten') (0529 = 3443 'Vestre Toten') (0532 = 3053 'Jevnaker') (0533 = 3054 'Lunner') (0534 = 3446 'Gran') (0536 = 3447 'Søndre Land') (0538 = 3448 'Nordre Land') (0540 = 3449 'Sør-Aurdal') (0541 = 3450 'Etnedal') (0542 = 3451 'Nord-Aurdal') (0543 = 3452 'Vestre Slidre') (0544 = 3453 'Øystre Slidre') (0545 = 3454 'Vang') (0602 = 3005 'Drammen') (0604 = 3006 'Kongsberg') (0605 = 3007 'Ringerike') (0612 = 3038 'Hole') (0615 = 3039 'Flå') (0616 = 3040 'Nesbyen') (0617 = 3041 'Gol') (0618 = 3042 'Hemsedal') (0619 = 3043 'Ål') (0620 = 3044 'Hol') (0621 = 3045 'Sigdal') (0622 = 3046 'Krødsherad') (0623 = 3047 'Modum') (0624 = 3048 'Øvre Eiker') (0625 = 3005 'Drammen') (0626 = 3049 'Lier') (0627 = 3025 'Asker') (0628 = 3025 'Asker') (0631 = 3050 'Flesberg') (0632 = 3051 'Rollag') (0633 = 3052 'Nore Og Uvdal') (0701 = 3801 'Horten') (0704 = 3803 'Tønsberg') (0710 = 3804 'Sandefjord') (0711 = 3005 'Drammen') (0712 = 3805 'Larvik') (0713 = 3802 'Holmestrand') (0715 = 3802 'Holmestrand') (0716 = 3803 'Tønsberg') (0729 = 3811 'Færder') (0805 = 3806 'Porsgrunn') (0806 = 3807 'Skien') (0807 = 3808 'Notodden') (0811 = 3812 'Siljan') (0814 = 3813 'Bamble') (0815 = 3814 'Kragerø') (0817 = 3815 'Drangedal') (0819 = 3816 'Nome') (0821 = 3817 'Midt-Telemark') (0822 = 3817 'Midt-Telemark') (0826 = 3818 'Tinn') (0827 = 3819 'Hjartdal') (0828 = 3820 'Seljord') (0829 = 3821 'Kviteseid') (0830 = 3822 'Nissedal') (0831 = 3823 'Fyresdal') (0833 = 3824 'Tokke') (0834 = 3825 'Vinje') (0901 = 4201 'Risør') (0904 = 4202 'Grimstad') (0906 = 4203 'Arendal') (0911 = 4211 'Gjerstad') (0912 = 4212 'Vegårshei') (0914 = 4213 'Tvedestrand') (0919 = 4214 'Froland') (0926 = 4215 'Lillesand') (0928 = 4216 'Birkenes') (0929 = 4217 'Åmli') (0935 = 4218 'Iveland') (0937 = 4219 'Evje Og Hornnes') (0938 = 4220 'Bygland') (0940 = 4221 'Valle') (0941 = 4222 'Bykle') (1001 = 4204 'Kristiansand') (1002 = 4205 'Lindesnes') (1003 = 4206 'Farsund') (1004 = 4207 'Flekkefjord') (1014 = 4223 'Vennesla') (1017 = 4204 'Kristiansand') (1018 = 4204 'Kristiansand') (1021 = 4205 'Lindesnes') (1026 = 4224 'Åseral') (1027 = 4225 'Lyngdal') (1029 = 4205 'Lindesnes') (1032 = 4225 'Lyngdal') (1034 = 4226 'Hægebostad') (1037 = 4227 'Kvinesdal') (1046 = 4228 'Sirdal') (1101 = 1101 'Eigersund') (1102 = 1108 'Sandnes') (1103 = 1103 'Stavanger') (1106 = 1106 'Haugesund') (1111 = 1111 'Sokndal') (1112 = 1112 'Lund') (1114 = 1114 'Bjerkreim') (1119 = 1119 'Hå') (1120 = 1120 'Klepp') (1121 = 1121 'Time') (1122 = 1122 'Gjesdal') (1124 = 1124 'Sola') (1127 = 1127 'Randaberg') (1129 = 1108 'Sandnes') (1130 = 1130 'Strand') (1133 = 1133 'Hjelmeland') (1134 = 1134 'Suldal') (1135 = 1135 'Sauda') (1141 = 1103 'Stavanger') (1142 = 1103 'Stavanger') (1144 = 1144 'Kvitsøy') (1145 = 1145 'Bokn') (1146 = 1146 'Tysvær') (1149 = 1149 'Karmøy') (1151 = 1151 'Utsira') (1160 = 1160 'Vindafjord') (1201 = 4601 'Bergen') (1211 = 4611 'Etne') (1216 = 4612 'Sveio') (1219 = 4613 'Bømlo') (1221 = 4614 'Stord') (1222 = 4615 'Fitjar') (1223 = 4616 'Tysnes') (1224 = 4617 'Kvinnherad') (1227 = 4618 'Ullensvang') (1228 = 4618 'Ullensvang') (1231 = 4618 'Ullensvang') (1232 = 4619 'Eidfjord') (1233 = 4620 'Ulvik') (1234 = 4621 'Voss') (1235 = 4621 'Voss') (1238 = 4622 'Kvam') (1241 = 4624 'Bjørnafjorden') (1242 = 4623 'Samnanger') (1243 = 4624 'Bjørnafjorden') (1244 = 4625 'Austevoll') (1245 = 4626 'Øygarden') (1246 = 4626 'Øygarden') (1247 = 4627 'Askøy') (1251 = 4628 'Vaksdal') (1252 = 4629 'Modalen') (1253 = 4630 'Osterøy') (1256 = 4631 'Alver') (1259 = 4626 'Øygarden') (1260 = 4631 'Alver') (1263 = 4631 'Alver') (1264 = 4632 'Austrheim') (1265 = 4633 'Fedje') (1266 = 4634 'Masfjorden') (1401 = 4602 'Kinn') (1411 = 4635 'Gulen') (1412 = 4636 'Solund') (1413 = 4637 'Hyllestad') (1416 = 4638 'Høyanger') (1417 = 4639 'Vik') (1418 = 4640 'Sogndal') (1419 = 4640 'Sogndal') (1420 = 4640 'Sogndal') (1421 = 4641 'Aurland') (1422 = 4642 'Lærdal') (1424 = 4643 'Årdal') (1426 = 4644 'Luster') (1428 = 4645 'Askvoll') (1429 = 4646 'Fjaler') (1430 = 4647 'Sunnfjord') (1431 = 4647 'Sunnfjord') (1432 = 4647 'Sunnfjord') (1433 = 4647 'Sunnfjord') (1438 = 4648 'Bremanger') (1439 = 4602 'Kinn') (1441 = 4649 'Stad') (1443 = 4649 'Stad') (1444 = 1577 'Volda') (1445 = 4650 'Gloppen') (1449 = 4651 'Stryn') (1502 = 1506 'Molde') (1504 = 1507 'Ålesund') (1505 = 1505 'Kristiansund') (1511 = 1511 'Vanylven') (1514 = 1514 'Sande') (1515 = 1515 'Herøy') (1516 = 1516 'Ulstein') (1517 = 1517 'Hareid') (1519 = 1577 'Volda') (1520 = 1520 'Ørsta') (1523 = 1507 'Ålesund') (1524 = 1578 'Fjord') (1525 = 1525 'Stranda') (1526 = 1578 'Fjord') (1528 = 1528 'Sykkylven') (1529 = 1507 'Ålesund') (1531 = 1531 'Sula') (1532 = 1532 'Giske') (1534 = 1507 'Ålesund') (1535 = 1535 'Vestnes') (1539 = 1539 'Rauma') (1543 = 1506 'Molde') (1545 = 1506 'Molde') (1546 = 1507 'Ålesund') (1547 = 1547 'Aukra') (1548 = 1579 'Hustadvika') (1551 = 1579 'Hustadvika') (1554 = 1554 'Averøy') (1557 = 1557 'Gjemnes') (1560 = 1560 'Tingvoll') (1563 = 1563 'Sunndal') (1566 = 1566 'Surnadal') (1571 = 5055 'Heim') (1573 = 1573 'Smøla') (1576 = 1576 'Aure') (1804 = 1804 'Bodø') (1805 = 1806 'Narvik') (1811 = 1811 'Bindal') (1812 = 1812 'Sømna') (1813 = 1813 'Brønnøy') (1815 = 1815 'Vega') (1816 = 1816 'Vevelstad') (1818 = 1818 'Herøy') (1820 = 1820 'Alstahaug') (1822 = 1822 'Leirfjord') (1824 = 1824 'Vefsn') (1825 = 1825 'Grane') (1826 = 1826 'Hattfjelldal') (1827 = 1827 'Dønna') (1828 = 1828 'Nesna') (1832 = 1832 'Hemnes') (1833 = 1833 'Rana') (1834 = 1834 'Lurøy') (1835 = 1835 'Træna') (1836 = 1836 'Rødøy') (1837 = 1837 'Meløy') (1838 = 1838 'Gildeskål') (1839 = 1839 'Beiarn') (1840 = 1840 'Saltdal') (1841 = 1841 'Fauske') (1845 = 1845 'Sørfold') (1848 = 1848 'Steigen') (1849 = 1875 'Hamarøy') (1850 = 1806 'Narvik') (1850 = 1875 'Hamarøy') (1851 = 1851 'Lødingen') (1852 = 5412 'Tjeldsund') (1853 = 1853 'Evenes') (1854 = 1806 'Narvik') (1856 = 1856 'Røst') (1857 = 1857 'Værøy') (1859 = 1859 'Flakstad') (1860 = 1860 'Vestvågøy') (1865 = 1865 'Vågan') (1866 = 1866 'Hadsel') (1867 = 1867 'Bø') (1868 = 1868 'Øksnes') (1870 = 1870 'Sortland') (1871 = 1871 'Andøy') (1874 = 1874 'Moskenes') (1902 = 5401 'Tromsø') (1903 = 5402 'Harstad') (1911 = 5411 'Kvæfjord') (1913 = 5412 'Tjeldsund') (1917 = 5413 'Ibestad') (1919 = 5414 'Gratangen') (1920 = 5415 'Lavangen') (1922 = 5416 'Bardu') (1923 = 5417 'Salangen') (1924 = 5418 'Målselv') (1925 = 5419 'Sørreisa') (1926 = 5420 'Dyrøy') (1927 = 5421 'Senja') (1928 = 5421 'Senja') (1929 = 5421 'Senja') (1931 = 5421 'Senja') (1933 = 5422 'Balsfjord') (1936 = 5423 'Karlsøy') (1938 = 5424 'Lyngen') (1939 = 5425 'Storfjord') (1940 = 5426 'Kåfjord') (1941 = 5427 'Skjervøy') (1942 = 5428 'Nordreisa') (1943 = 5429 'Kvænangen') (2002 = 5404 'Vardø') (2003 = 5405 'Vadsø') (2004 = 5406 'Hammerfest') (2011 = 5430 'Kautokeino') (2012 = 5403 'Alta') (2014 = 5432 'Loppa') (2015 = 5433 'Hasvik') (2017 = 5406 'Hammerfest') (2018 = 5434 'Måsøy') (2019 = 5435 'Nordkapp') (2020 = 5436 'Porsanger') (2021 = 5437 'Karasjok') (2022 = 5438 'Lebesby') (2023 = 5439 'Gamvik') (2024 = 5440 'Berlevåg') (2025 = 5441 'Tana') (2027 = 5442 'Nesseby') (2028 = 5443 'Båtsfjord') (2030 = 5444 'Sør-Varanger') (5001 = 5001 'Trondheim') (5004 = 5006 'Steinkjer') (5005 = 5007 'Namsos') (5011 = 5055 'Heim') (5012 = 5055 'Heim') (5012 = 5056 'Hitra') (5012 = 5059 'Orkland') (5013 = 5056 'Hitra') (5014 = 5014 'Frøya') (5015 = 5057 'Ørland') (5016 = 5059 'Orkland') 

recode kommune19_20standard (5017 = 5057 'Ørland') (5018 = 5058 'Åfjord') (5019 = 5058 'Åfjord') (5020 = 5020 'Osen') (5021 = 5021 'Oppdal') (5022 = 5022 'Rennebu') (5023 = 5059 'Orkland') (5024 = 5059 'Orkland') (5025 = 5025 'Røros') (5026 = 5026 'Holtålen') (5027 = 5027 'Midtre Gauldal') (5028 = 5028 'Melhus') (5029 = 5029 'Skaun') (5030 = 5001 'Trondheim') (5031 = 5031 'Malvik') (5032 = 5032 'Selbu') (5033 = 5033 'Tydal') (5034 = 5034 'Meråker') (5035 = 5035 'Stjørdal') (5036 = 5036 'Frosta') (5037 = 5037 'Levanger') (5038 = 5038 'Verdal') (5039 = 5006 'Steinkjer') (5040 = 5007 'Namsos') (5041 = 5041 'Snåsa') (5042 = 5042 'Lierne') (5043 = 5043 'Røyrvik') (5044 = 5044 'Namsskogan') (5045 = 5045 'Grong') (5046 = 5046 'Høylandet') (5047 = 5047 'Overhalla') (5048 = 5007 'Namsos') (5049 = 5049 'Flatanger') (5050 = 5060 'Nærøysund') (5051 = 5060 'Nærøysund') (5052 = 5052 'Leka') (5053 = 5053 'Inderøy') (5054 = 5054 'Indre Fosen') (5061 = 5061 'Rindal')

//Kjører en tabell for å se om omkodingen til 2020-kommuneinndeling ser riktig ut
tabulate kommune19_20standard, missing

//Lager fylkeskoder for bosattkommuner per 1/1 2019 som matcher kommunestandarden for 2020
generate fylke19_20standard = substr(string(kommune19_20standard),1,2) 
replace fylke19_20standard = '03' if kommune19_20standard == 301

assign-labels fylke19_20standard fylke20lbl


//Kontrollerer at omkodingen har gått riktig for seg:

//Oversikt over bostedsfylker per 1/1 2019 med omkodet inndeling i tråd med 2020-kommuneinndeling 
tabulate fylke19_20standard

//Oversikt over bostedsfylker per 1/1 2019 med omkodet inndeling krysset mot bostedsfylker målt per 1/1 2020 (viser tall for bostedsfylker som er konsistente over de to årene -> kan følge flyttemønster mellom fylker fra 2019 til 2020)
tabulate fylke19_20standard fylke20

//Oversikt over bostedsfylker per 1/1 2019 med omkodet inndeling krysset mot bostedsfylker kodet etter gjeldende 2019-kommuneinndeling (viser en slags overgangsmatrise)
tabulate fylke19_20standard fylke19