Andmestike haldamine

Ave Roots
2014

Enamasti ei ole olemasolevates andmestikes andmed sellisel kujul, et neid saaks kohe iga uurimuse jaoks analüüsida. Igal uurimusel on oma spetsiifika, seetõttu tuleb sageli alustada andmete korrastamisest ja andmestiku valmisseadmisest selleks, et oleks üldse võimalik sellist analüüsi teha, nagu on vaja. Selles peatükis antaksegi ülevaade, kuidas tervet andmestikku ja ka üksikuid tunnuseid analüüsiks ette valmistada. Täpsemalt, selles peatükis käsitletakse seda, kuidas muuta andmestiku struktuuri, liita erinevaid andmestikke ning kodeerida ümber tunnuseid.

Alamandmestiku moodustamine

Analüüsi tegema hakates ei ole tavaliselt vaja kõiki andmestikus olevaid tunnuseid, vaid ainult väikest osa neist. Sel puhul on mõistlik salvestada vajalikud tunnused eraldi andmestikuna ja edaspidi opereerida vaid nendega.

Kasutades Euroopa Sotsiaaluuringu (Edaspidi ESS) 2010. aasta andmestikku, teeme väiksema andmestiku, milles on ainult need tunnused, mis puudutavad pensionile jäämisega seotud temaatikat.

Seejärel valime Euroopa Sotsiaaluuringu Eesti 2010. aasta andmestikust (andmed saab siit: http://www.europeansocialsurvey.org/download.html?file=ESS5EE&c=EE&y=2010) tunnused idno (hilisemaks andmestike liitmiseks on oluline, et võtaksime kaasa ID, mis on igal andmereal unikaalne), tööturu staatus (mnactic), pensionile mineku aasta (rtryr) ja vanus, mil sooviti pensionile minna (agertr), sünniaasta (yrbrn) ning vanus (agea).

Võtame andmestiku SPSSi aknas lahti, valime

File → Save as

„Save Data As“ aknas vajutada nupp „Variables“ (vt joonis 1).

Joonis 1. Tunnuste valimiseni jõudmine

Joonis 2. Tunnuste valimine

Avanenud aknas näitab veerg „Keep“, millised tunnused võetakse andmestiku salvestamisel uude andmestikku kaasa. Automaatselt on valitud kõik. Nupp „Drop All“ võtab kõigilt tunnustelt linnukesed eest ära (tekib olukord, kus salvestatavas andmestikus pole ühtegi tunnust) ja saame hakata tunnuseid ükshaaval valima. Kui vajalikud tunnused on valitud, tuleks vajutada „Continue“ ( vt joonis 3).

Joonis 3. Tunnuste valiku kinnitamine

Seejärel tuleks anda uuele andmestikule nimi aknas „File name“ ja valida uue faili asukoht (joonis 4).

Joonis 4. Uue andmestiku salvestamine

Seejärel tuleb vajutada „Save“.

Ongi uus andmestik salvestatud. See tuleb nüüd SPSSis avada ja seda saab kasutama hakata.

Näide: SPSS Syntax

Oluliselt kiirem ja mõistlikum alternatiiv kõige eelnenu tegemiseks on kasutada SPSSi Syntaxit. Selleks tuleks avada Syntaxi aken
File > New > Syntax

Syntaxi aknasse tuleks kirjutada käsk:
save outfile='C:\Töö\Kursused\Metodoloogia\andmefailid\pens.sav'
  /keep= idno yrbrn agea rtryr agertr
  /compressed.

Seejärel tuleks kogu eelnev tekst märgistada ja vajutada klaviatuuril ctrl+R või ülemisel menüüribal noolekest („Run Selection“), mis käsurea käivitab (joonis 5).



Joonis 5. Syntaxi käivitamine.

SPSS Syntaxi failis on lisaks käsuridadele võimalik säilitada ka kommentaare. Kirjutamaks SPSSi Syntaxisse kommentaare, tuleb panna rea algusesse märk * ja jätta vahele tühi rida enne järgmist käsurida.  Ridu, mille ees on *, SPSS ei käivita.

Näiteks nii:
*Uue faili asukoht ja nimi
save outfile='F:\Töö\Kursused\Metodoloogia\andmefailid\pens.sav'
*uues failis olevad tunnused
  /keep= idno yrbrn agea rtryr agertr
  /compressed
 

Sedasama võib teha palju lihtsamalt ja elegantsemalt programmis R (http://www.r-project.org/):

Näide: Programm R

Programmis R saab kirjutada käsuritta sisse kommentaare, pannes ette #.

Et saaks R-i andmeid sisse lugeda SPSSi failist, tuleb seal kõigepealt kaotada puuduvate väärtuste deklareeringud. Seda saab Syntaxis teha käsuga

missing values all ().

Andmete importimiseks mõnest teisest programmist tuleb kõigepealt laadida package „foreign“ ja seejärel lugeda andmed sisse, andes ette andmefaili asukoha ning salvestades selle eraldi objektina (nt praegusel juhul objektina „met.dat“).

library(foreign)

met.dat <- read.spss (file="C:\\Ranalyys\\ECSR\\eesti2010.sav", use.value.labels=F, to.data.frame=T)

# use.value.labels käsuga saab määrata, kas tahetakse importida kategooriate arvulised koodid (False või F) või kategooriate nimetused (True või T)

Alternatiiv on faili asukohta mitte ette anda, vaid valida see avanevas aknas

met.dat <- read.spss (file.choose(), use.value.labels=F, to.data.frame=T)

#andmestikku saab vaadata käsuga „View“ (NB! Erinevalt SPSSist R-is on oluline, kas on tegemist suure või väikese tähega).

View (met.dat)

# valime andmestikust vajalikud tunnused, moodustame uue andmestiku

pens.dat <- subset (met.dat, select = c (idno, yrbrn, agea, rtryr, agertr, mnactic))

 

Filtrite kasutamine andmestikul

Kui meile pakub huvi ainult ühe teatava grupi uurimine ja tahame jätta kõik ülejäänud andmestikus olevad indiviidid kõrvale, siis tuleks teha vaid meid huvitavatest indiviididest koosnev alamandmestik. Oletame, et soovime andmestikku, mis koosneb ainult töötavatest inimestest, kes on vanemad kui 50 aastat. Kasutame faili pens1.sav.

Võtta menüüst

Data → Select Cases

Valida avanenud aknas „If condition is satisfied“ ja vajutada nupule „If“ (joonis 6). Siinkohal valime andmestikku vaid need indiviidid, kes vastavad meie etteantud kriteeriumile.

Joonis 6. Teatud grupi valimine analüüsiks

Avanenud aknas seame tingimuse loodavasse andmestikku kuuluvate indiviidide selekteerimiseks, et inimene on 50aastane või vanem ja töötab (joonis 7).

Joonis 7. Tingimuse seadmine

Vajutada „Continue“.

Võiks valida saadud andmestiku tekitamise uue failina („Copy selected cases to a new dataset“[1]Juhul kui valida „Filter out unselected cases“, jäävad kõik vastajad andmestikku alles, aga analüüsis kasutatakse ainult neid, kes vastavad seatud tingimusele, praegusel juhul siis 50aastaseid ja vanemaid töötavaid inimesi. Uut andmestikku sel juhul ei looda. Hiljem saab algse olukorra taastada ja jälle analüüse teha kõigi indiviididega, kui joonisel 6 näidatud aknas sektsiooni „Select“ all valida „All cases“. Valides „Delete unselected cases“, tähendab, et andmestikust kustutatakse kõik need vastajad, kes seatud tingimusele ei vasta. Seda muudatust ei ole võimalik tagasi pöörata ehk siis kustutatud indiviide enam tagasi ei saa. Soovitan väga seda valikut mitte kasutada. Sellel juhul ka uut andmestikku ei salvestata. ) (joonis 8).

Seejärel vajutada „OK“. Andmestik avatakse nimetus aknas, see tuleks ise uuesti salvestada.

Joonis 8. Valitud andmete salvestamine uue andmestikuna

Teatud grupi andmete valimine SPSSi Syntaxi abil.

DATASET COPY  pens1.
DATASET ACTIVATE  pens1.
SELECT IF (agea>50 & mnactic=1).
EXECUTE.
 

Teatud grupi andmete valimine R-is.

Pens50.dat <- subset (met.dat, mnactic=1&agea>50)
# salvestan uue andmestiku nimega „Pens50.dat“

Eelnevad kaks sammu (tunnuste valimine ja ainult teatud grupi andmete valimine) võib R-is kokku võtta (töötavad üleviiekümneaastased):
Pens50t.dat <- subset (met.dat, mnactic=1&agea>50, select = c (idno, yrbrn, agea, rtryr, agertr, mnactic))
 

Andmestike liitmine

Tunnuste liitmine olemasolevasse andmestikku

Tahaksime eelnevasse andmestikku liita indiviidi staatuse tööturul.

Selleks teeme liidetava tunnuse faili, kus on ainult need tunnused, mida soovime juurde liita, ning ID, mis peab olema sama mõlemas liidetavas andmestikus (st sama indiviid peab olema sama ID-numbriga, et ühe inimese andmed satuksid ühele reale). Kasutame faile pens.sav ja tts.sav.

Esmalt tuleb mõlemad andmestikud sorteerida ID-numbri järgi.

Data → Sort Cases

Seejärel tuleb vasakpoolses aknas märgistada tunnus, mille järgi tahetakse faili sorteerida (idno), vajutada akende vahel olevale noolekesele ja see tunnus läheb parempoolsesse aknasse (joonis 9).

Joonis 9. Andmete sorteerimine konkreetse tunnuse järgi

Seejärel vajutada „OK“.

Alternatiiv on kasutada SPSSi Syntaxis järgmist käsurida:

sort cases by idno(A).

*sulgudes olev A tähendab, et sorteeritakse kasvavas järjekorras.

Seejärel tuleks võtta ette see andmeaken (põhiandmestiku aken), millele hakkate teist (andmestikku) juurde liitma. Seejärel valige menüüst

Data → Merge Files → Add Variables

Liita saab kas juba lahti olevat andmestikku (joonis 10)

Joonis 10. Avatud andmefaili liitmine põhiandmestikule

või andmestikku, mis ei ole avatud (joonis 11)

Joonis 11. Failidest valitava andmestiku liitmine põhiandmestikule

Seejärel vajutada „Continue“.

Selleks et juurdeliidetavast andmestikust tulevad andmed saaksid sama rea peale, kus on selle indiviidi põhiandmestikus olevad andmed, peab andmestikus olema tunnus, mis on indiviidi eraldav unikaalne kood. See on igal andmestikus oleval indiviidil erinev. ESSi andmestikus on selleks tunnus „idno“. Järgnevalt tuleb SPSS-ile öelda, et ta paneks andmestikud kokku just „idno“ järgi, et sama „idno“ koodiga andmed oleks uues andmestikus samal real.  Selleks tuleks teha linnuke „Match cases on key variables“ ja „Cases are sorted ...“ ette (joonis 12).

Joonis 12. Andmestike liitmine konkreetse tunnuse alusel

Seejärel teha ID-tunnus aktiivseks ja saata ta lahtrisse „Key Variables“.

Joonis 13. Andmestike liitmine indiviidi identifikaatori järgi

Seejärel vajutada „OK“.

Alternatiiv on kasutada SPSS-i Syntaxit:

match files /file=*

*file=* tähistab, et kasutatakse hetkel aktiivset andmestikku.

*järgnevalt valitakse fail, mida liita

  /file='F:\Töö\Kursused\Metodoloogia\andmefailid\tts.sav'

*näidatakse, mis tunnuse järgi andmestikud liidetakse (ID-tunnus)

  /by idno.

execute.

 

Andmestike liitmine R-is:

pensk.dat <- merge (pens.dat, tts.dat, by="idno")

 

Andmeridade (indiviidide) liitmine

Enne olid andmestikus vaid Eesti andmed, kuid kui tahaksime teha võrdlust näiteks Eesti ja Soome vahel, tuleks Eesti andmetele liita ka Soome andmestiku samad tunnused. Selline tehe eeldab, et mõlemas failis on tunnustel, mida tahame kokku panna, samad nimed. Kasutame andmestikke pens1.sav ja soomepens.sav.

Valida menüüst Data → Merge Files → Add Cases

Valida lisatav fail

Joonis 14. Liidetava andmefaili valimine

Valida „Continue“.

Joonis 15. Tunnuste nimekiri lõppandmestikus

Valida „OK“

Kui failides on erineva nimega tunnused, siis need ilmuvad aknas „Unpaired Variables“. Kui on siiski tegemist samade tunnustega, millel on eri andmestikes erinev nimi, siis tuleks üks tunnustest ümber nimetada ja nad saab saata kõrvalaknasse. Kui on tegemist tunnustega, mis ühes andmestikus on ja teises ei ole, siis need kustutatakse ja lõppandmestikus ei kajastu. Seega on lõppandmestikus ainult need tunnused, mis on sama nimega mõlemas andmestikus. Andmestike liitmisel tuleks olla tähelepanelik, et tunnused on mõlemas andmestikus sama skaalaga, või siis tuleb skaala vajadusel ümber kodeerida. Näiteks Eesti tööjõu-uuringu eri aastate andmestikes on sama tunnus erinevate nimedega ja mõnikord ka erineva skaalaga.

Andmestike liitmine SPSSi Syntaxiga

add files /file=*

  /file='F:\Töö\Kursused\Metodoloogia\andmefailid\soomepens.sav'.

execute.

 

Andmestike liitmine R-iga

Estfi.dat <- rbind (pens.dat, soomepens.dat)

 

Andmestiku struktuuri muutmine

Võib juhtuda, et andmestik ei ole sellises formaadis, nagu meie analüüsi jaoks tarvis on, nt ei ole ühe indiviidi andmed ühel, vaid mitmel real (iga kordusmõõtmine eraldi real), või oleks tarvis ära vahetada read ja veerud. Järgnev osa puudutabki andmete struktuuri muutmist, käsitledes andmestiku ridade ja veergude vahetamist ning pikkformaadi laiformaadiks muutmist ja vastupidi.

Ridade ja veergude vahetamine

Sellist andmestiku muutmist võib olla vaja, kui soovite analüüsiühikuna kasutada seda, mis algandmestikus on veergudes ehk siis käsitletud tunnustena. Näiteks kui meil on andmed seaduseelnõude ja parlamendisaadikute kohta ja meil on analüüsiühikuks seaduseelnõu ning meid huvitavad hääletustulemused lähtuvalt teatud eelnõude omadustest, siis on meil ridades seaduseelnõud ja veergudes parlamendisaadikud. Kui meid huvitab teatud tüüpi parlamendisaadikute hääletuskäitumine, siis on meil vaja andmestikku, mille ridades on parlamendisaadikud ning veergudes seaduseelnõud.

Kasutame andmestikku Trans1.sav.

Praktiliselt saab seda teha, võttes menüüst

Data → Transpose

Aknasse „Variables“ tuleb saata tunnused, mida soovitakse pöörata. Praegusel juhul on selleks Euroopa Sotsiaaluuringu Eesti 2010. aasta andmetes leibkonnaliikmete suhe respondendiga (st kas on abikaasa, laps jne). Aknasse „Name Variable“ tuleb saata tunnus, mille järgi nimetatakse veerge uues andmestikus, vaadeldaval juhul on selleks respondenti identifitseeriv tunnus idno (joonis 16).

Joonis 16. Pööratavate tunnuste valimine andmestikus

Algses andmestikus on tunnused veergudes ja respondendid ridades (joonis 17)

Joonis 17. Andmestik enne pööramist

Pööratud andmestikus on veergudes indiviidid ja ridades tunnused (joonis 18).

Joonis 18. Andmestik pärast pööramist

SPSS-i Syntaxiga saab andmestikku pöörata järgmiselt:

FLIP VARIABLES=rshipa2 rshipa3 rshipa4 rshipa5 rshipa6 rshipa7 rshipa8 rshipa9 rshipa10 rshipa11    rshipa12 rshipa13 rshipa14 rshipa15 rshipa16

  /NEWNAMES=idno.

 

R-is saab andmestikku pöörata järgmiselt:

Pooratud.dat <- t(muut.dat)

 

Laiformaat pikkformaadiks

Kõige laialdasemalt kasutatav andmeformaat on laiformaat, kus ühe indiviidiga (või mõne muu analüüsiühiku, nt riigiga) seotud andmed on kõik ühel ja samal real. Samas, mõningatel juhtudel, eriti longituudandmete puhul võib vahel vaja minna pikkformaati, nt kui on mõõdetud eri töötusperioodide pikkust. Meie jaoks ei ole oluline, mitu korda üks inimene töötu oli, me tahame uurida hoopis tegureid, mis mõjutavad töötusperioodide pikkust, olenemata ka sellest, mitmenda töötusega on tegemist. Sellisel juhul tahame, et ka sama indiviidi töötusperioodid oleks igaüks eraldi real ja seega näiteks selle inimese kohta, kes on kolm korda töötu olnud, on meil andmestikus kolm andmerida.

Praegusel juhul on meil algandmestikus (Trans2.sav) veergudes tunnused ja iga rea peal on eri indiviidi andmed.

Soovime muuta andmete struktuuri nii, et sama indiviidi leibkonnaliikmed tuleksid üksteise all järjest.

Valida menüüst

Data → Restructure

Joonis 19. Andmete ümberstruktureerimise viisi valimine

Võtta esimene valik, nagu on näha joonisel 19.

Kuna tegemist  on nelja tunnuste grupiga (meil on nelja indiviidi andmed, mis grupeeritakse), siis tuleb järgnevas aknas valida alumine valik ja märkida lahtrisse „How Many“ (joonis 20). Seejärel vajutada nupule „Next“.

Joonis 20. Tunnuste gruppide arvu märkimine

Seejärel tuleb valida, millised tunnused kuuluvad ühte gruppi. Kõigepealt valida aknas „Target Variable“ „transs 1“ ja seejärel saata selle all olevasse aknasse esimesse gruppi kuuluvad tunnused,  vaadeldava juhul respondendi sugu, sünniaasta ja suhe respondendiga (tunnus näitab praegu, et tegemist on respondendi endaga).

Joonis 21. Tunnuste grupeerimine

Seejärel tuleks samas aknas valida transs 2 ja saata alumisse aknasse järgmisesse gruppi kuuluvad tunnused (teise leibkonnaliikme sugu, sünniaasta ja suhe respondendiga). Kui kõik grupid on defineeritud, saab vajutada nupule „Next“ ja järgmises aknas ka „Next“. Et säiliksid ka algsed tunnuste nimed, saab need salvestada eraldi tunnusesse, selleks valida järgmises aknas „Variable names“ (joonis 22).

Joonis 22. Algsete tunnusenimede salvestamine eraldi tunnusesse

Seejärel valida „Next“ ja veel kord „Next“.

 Järgnevas aknas on võimalik valida, kas tahetakse andmeid muuta kohe või kõigepealt saada süntaks ja seejärel see käivitada.

Joonis 23. Valik kohese andmete muutmise ja süntaksi kaudu muutmise vahel

Pärast selle valiku langetamist vajutada „Finish“.

Tulemuseks on andmestik, kus ühe respondendiga seotud andmed ei ole enam ainult ühel real, vaid kolmel real, ühel real on kõigi selles andmestikus olevate leibkonnaliikmete sugu, teisel kõigi sünniaasta ja kolmandal suhe respondendiga. ID-tunnus näitab leibkonna numbrit, st samasse leibkonda kuuluvatel inimestel on see sama.

Joonis 24. Pikkformaati muudetud andmestik

SPSSi Syntax, laiformaadi pikkformaadiks muutmiseks:

Varstocases

  /id=id
  /make trans1 from gndr yrbrn rshipa1
  /make trans2 from gndr2 yrbrn2 rshipa2
  /make trans3 from gndr3 yrbrn3 rshipa3
  /make trans4 from gndr4 yrbrn4 rshipa4
  /index=Index1(trans1)
  /keep=idno
  /null=keep.

 

R-iga saab laiformaati pikkformaadiks muuta nii:

pikk.dat <- melt(lai.dat, id=c("idno"))

View(pikk.dat)

 

Pikkformaat laiformaadiks

Järgmisena vaatame eelnevale vastupidist andmete struktuuri muutmist.

Valida menüüst Data → Restructure

Märkida ära teine valik (joonis 25).

Joonis 25. Andmete ümberstruktureerimise valik

Järgmisena tuleb see tunnus, mille järgi uued read moodustatakse (ehk siis indiviidi ID, kuna tahame, et sama indiviidi andmed läheksid kõik ühele reale), panna lahtrisse „Identifier Variables“ ja see tunnus,  kust võetakse pikkformaadi tunnuste nimed, panna lahtrisse „Index Variables“ (joonis 26).

Joonis 26. Tunnuste valimine, mille järgi andmed ümber struktureeritakse

Seejärel võib kolm korda „Next“ vajutada ja originaalvalikud samaks jätta. Lõpuks antakse taas valida, kas soovitakse andmeid kohe muuta või kõigepealt saada süntaks. Pärast selle valiku langetamist ja sellel lehel „Finish“ vajutamist ongi tulemuseks uue struktuuriga andmebaas.

Uus andmestik näeb välja nii, nagu on näha jooniselt 27.

Joonis 27. Laiformaati muudetud andmestik

Pikkformaadi laiformaadiks muutmine SPSSi Syntaxiga:

sort cases by idno Index1.

casestovars

  /id=idno

  /index=Index1

  /groupby=variable.

 

R-is saab pikkformaati laiformaadiks muuta järgmiselt:

library(reshape2)

lai2.dat <- dcast (pikk.dat, idno ~ variable, value.var="value")

#idno in indiviidi ID-tunnus, uues andmestikus on kõik sama idno-ga andmed ühel real, „variable“ on #tunnus, kus on uute tunnuste nimed, „value“ on tunnus, kus on nende tunnuste väärtused, mille nimed #on „variable“ all.

View(lai2.dat)

Kui on olemas nii leibkonna kui ka indiviidi tasandi ID, võib kasutada järgnevat koodi:

lilal.dat <- reshape (lila.dat, direction="wide",idvar="Leibkond", timevar="Kysitletav")

 

Tunnuste ümberkodeerimine

Kategooriate kokkukodeerimine

Tahaksime kokku kodeerida Euroopa Sotsiaaluuringu 2010. aasta Eesti andmestikus oleva tööturu staatust näitava tunnuse kategooriaid. Kasutame andmestikku pens1.sav.

Tuleks võtta menüüst :

Transform → Recode into Different Variables

Valida välja tunnus, mida tahame ümber kodeerida (mnactic), ja saata see keskmisse aknasse

Joonis 28. Tunnuse valimine ümberkodeerimiseks

Seejärel anda uuele tunnusele nimi lahtris „Name“ ja vajutada „Change“. Ilma „Change“ vajutamata uus tunnus ei salvestu (joonis 29). Järgmisena tuleb vajutada nupule „Old and New Values“, kus saab määrata uue tunnuse väärtused valitud tunnuse väärtustest lähtuvalt.

Joonis 29. Uue tunnuse loomine

Tunnuse originaalskaala on järgmine:

  1. tasustatud tööl või ajutiselt tööst eemal (töövõtja, eraettevõtja, töötate perefirmas);
  2. õpite (tasustamata tööandja poolt) või õpingutest ajutisel puhkusel;
  3. töötu ja otsite aktiivselt tööd;
  4. töötu, kuid ei otsi aktiivselt tööd;
  5. püsivalt töövõimetu või puudega;
  6. pensionil;
  7. kohustuslikul ühiskondlikult kasulikul tööl või ajateenistuses;
  8. kodune, hoolitsete laste või kellegi teise eest;
  9. (MUU);
    88  (EOÖ).

Avanenud aknas tuleb deklareerida ühe kaupa kategooriate vanad (nimekirjas tunnuse ees olevad koodid) ja uued väärtused (meie soovitavad koodid uuele, tekkivale tunnusele) ja igal korral vajutada „Add“.

Joonis 30. Olemasoleva tunnuste väärtuste põhjal uue tunnuse väärtuste määramine

Vana väärtuse aknas on mitu valikut. „System-missing“ tähendab deklareerimata puuduvatele väärtustele mingi uue väärtuse andmist.

„System- or user-missing“ tähendab nii deklareeritud kui ka deklareerimata puuduvatele väärtustele mingi uue väärtuse andmist.

„Range“ alla saab määratleda mingi väärtuste vahemiku (nt 3-4, ülemisse kasti 3 ja alumisse 4).

„Range, lowest through value“ tähendab, et võetakse vahemik olemasoleva tunnuse kõige madalamast väärtusest kuni väärtuseni, mis kasti märgitakse.

„Range, value through highest“ tähendab, et võetakse kasti märgitud väärtusest kuni olemasoleva kõige kõrgema väärtuseni.

„All other values“ saab anda mingi konkreetse väärtuse kõigile neile väärtustele, mida pole enne mainitud.

Uue väärtuse aknas „System missing“ tähendab, et mingi olemasoleva väärtuse saab muuta puuduvaks väärtuseks, ning „Copy old values“ tähendab, et vanade väärtuste all deklareeritud konkreetsed koodid jäävad ka uues tunnuses samaks. Toodud näite puhul võiks seda rakendada koodide 1 ja 2 puhul.

Kui väärtuste defineerimine on valmis, vajutada „Continue“ (joonis 31).

Joonis 31. Olemasoleva tunnuse väärtuste baasil moodustatud uue tunnuse väärtused

Siis vajutada „OK“.

Andmestiku lõppu tekkiski uus tunnus.

Tunnuse kategooriate kirjeldamiseks võtta ette „Variable View“. Klõpsata vastava tunnuse „Values“ veerus oleval lahtril (joonis 32).

Joonis 32. Uus tunnus andmestikus

Avanenud aknas tuleb sisestada aknasse „Value“ kategooria väärtus ja aknasse „Label“ kategooria nimetus.

Joonis 33. Tunnuse kategooriatele nimetuste andmine

Kui kõik kategooriad on defineeritud, vajutada „OK“ (joonis 34).

 

Joonis 34. Tunnuse kategooriate väärtused koos nimetustega

Tunnuse ümberkodeerimine ja kategooriatele väärtuste andmine SPSSi Syntaxi abil:

Recode mnactic (1=1) (2=2) (3 thru 4=3) (6=4) (5=5) (7 thru 9=5) into töötstaatus.
Exe.

Value labels tööstaatus
1 ’töötavad’
2 ’õpivad’
3 ’töötud’
4 ’pensionil’
5 ’muu’.

Fre tööstaatus.

* teeb sagedustabeli, et saaksime kontrollida, kas läks ikka õigesti. „Fre“ tähendab „frequencies“, võib ka välja kirjutada. Ei ole vahet, kas kasutada väikesi või suuri tähti.

 

R-is saab tunnust ümber kodeerida nii:

 

Uute tunnuste loomine mitme tunnuse kombineerimisel

Oletame, et soovime saada kategoriaalset tunnust, mis koosneb kolmest kategooriast: inimesed, kes läksid pensionile varem, kui nad oleks soovinud; inimesed, kes läksid pensionile siis, kui soovisid, ja inimesed, kes läksid pensionile hiljem, kui oleks soovinud. Kasutame andmestikku pens1.dat.

Kõigepealt, kuna Euroopa Sotsiaaluuringu 2010. aasta andmetes on pensionile mineku aasta, aga mitte vanus, tuleb see sünniaasta ja pensionile mineku aasta abil välja arvutada.

Selleks tuleb võtta menüüst:

Transform → Compute

Seejärel tuleb lahutada pensionile mineku aastast sünniaasta (joonis 35).

Joonis 35. Uue tunnuse loomine teiste baasil mingi tehte teel

SPSSi Syntaxis näeb uue tunnuse loomine välja nii:

COMPUTE pensvan=yrbrn - rtryr.
EXECUTE.

Järgmisena saab moodustada kategoriaalse tunnuse (joonised 36–39).

 

Joonis 36. Loodava tunnuse kategooria defineerimine olemasoleva tunnuse väärtuse põhjal

Joonis 37. Loodava tunnuse kategooria defineerimine olemasoleva tunnuse väärtuse põhjal

Joonis 38. Loodava tunnuse kategooria defineerimine olemasoleva tunnuse väärtuse põhjal

Loome ka kategooria neist, kes ei ole veel pensionil, kasutades selleks tööturu staatuse tunnuse, mis ei tohi võrduda pensionil olekuga (kategooria 6).

Joonis 39. Loodava tunnuse kategooria defineerimine olemasoleva tunnuse väärtuse põhjal

Uue tunnuse loomine teiste tunnuste põhjal SPSSi Syntaxiga

If agertr < pensvan vahe=1.
Exe.
If agertr = pensvan vahe=2.
Exe.
If agertr > pensvan vahe=3.
Exe.
If mnactic ~= 6 vahe=4. 

 

R-is saab uusi tunnuseid teha nii:

 

back forward