Skip to main content

3.1.1 Komprimert omkoding - inlist

Ved koding/omkoding av variabler basert på lange if-betingelser, kan funksjonen inlist være nyttig å bruke. Et eksempel er om man ønsker å lage en variabel som tar verdien 1 for personer som er bosatt i et utvalg av 100 kommuner. Dette ville gitt en generate- evt. replace-kommando med et svært langt if-uttrykk. Ved bruk av inlist kan man gjøre dette mer komprimert ved å liste opp alle kommunenumrene separert med komma inni en funksjonsparentes.

Den logiske funksjonen inlist settes til 1 ("true") dersom verdien i det første argumentet finnes blant de resterende argumentene.

Argumentene til funksjonen kan være både variabler og verdier (alle typer).

Eksempler:

  • generate var = 1 if inlist(sivstand, 1, 3, 5) (inlist-funksjonen = 1 ("true") dersom sivstand = 1, 3 eller 5)

  • generate var = 1 if inlist('1', regstat09, regstat10, regstat11) (inlist-funksjonen = 1 ("true") dersom minst en av regstat-variablene = '1')

Eksemplene over tilsvarer disse uttrykkene:

  • generate var = 1 if sivstand == 1 | sivstand == 3 | sivstand == 5

  • generate var = 1 if regstat09 == '1' | regstat10 == '1' | regstat11 == '1'