Muuttujien muunnokset - SPSS-harjoitus 2

Jos olet ensimmäistä kertaa aloittamassa SPSS-harjoitusta, on ennen varsinaisen harjoituksen tekemistä syytä tutustua opiskeluohjeisiin.

Voit tehdä harjoituksen oheisen videon avulla, jossa käytetään European Social Survey 2012 -kyselyn Suomen aineistoa.

Voit myös tehdä harjoituksen seuraamalla alla olevia ohjeita, joissa käytetään havaintoaineistona osaa European Values Study 2017 -tutkimuksen Suomen aineistosta, osaEVS.

Havaintoaineiston hakemisesta SPSS-ohjelmaan on erilliset ohjeet.

Ikämuuttujan luokitteleminen Ankkurilinkki ikoni

Aineistossa on seuraavat ikään liittyvät muuttujat:

  • q64 "Mikä on syntymävuotesi?"
  • ika (syntymävuoden perusteella laskettu ikä)

Jos olet tehnyt harjoituksen 1 iän laskemisesta syntymävuoden perusteella, matriisissa on myös itse laskemasi muuttuja ika2017.

Tässä harkoituksessa käytetään vain yhtä ika-muuttujaa. Voit johdonmukaisesti käyttää tekemääsi ika2017-muuttujaa ika-muuttujan sijasta.

Ennen luokittelun aloittamista tulosta Output -ikkunaan iän frekvenssitaulukko Analyze - Descriptive Statistics - Frequencies... -toiminnolla ja tutki ikäjakaumaa. Mieti, millaisiin ikäluokkiin voisit luokitella iän.


Jos olet aikaisemmin tallentanut tähän aineistoon liittyvän syntaksi-tiedoston (EVSsyntaksit.sps), avaa se: File - Open - Syntax. Kaikki samaan aineistoon liittyvät syntaksit voi ja kannattaa tallentaa samaan tiedostoon. Ellet ole aikaisemmin tallentanut tähän aineistoon liittyvää syntaksi-tiedostoa tai et löydä sitä, voit myös jatkaa syntaksi-ikkunaa avaamatta.


Iän luokittelu kolmeen luokkaan Ankkurilinkki ikoni

Valitse Transform - Recode into Different Variables...

Kun muuttujia luokitellaan, on lähes aina syytä käyttää Recode into Different Variables -vaihtoehtoa, joka luo matriisiin uuden muuttujan. Tällöin myös alkuperäinen ikämuuttuja jää matriisiin eikä siinä olevia tietoja menetetä.

Muuttujan päälle korjaava vaihtoehto Recode into Same Variables... hävittää alkuperäiset luokittelemattomat tiedot. Tätä vaihtoehtoa on syytä käyttää vain silloin, jos on ehdottoman varmaa, että vanhoja luokittelemattomia tietoja ei enää koskaan tarvita. Komentoa käytetään yleensä vain tallennus- ym. virheitä korjattaessa.

Nyt sinulla pitäisi olla auki alla oleva taulu, johon tehdään luokittelumääritykset. Siirrä käyttämäsi ika-muuttuja, joka on aivan muuttujalistan loppupuolella, nuolella Numeric Variable -> Output Variable: -laatikkoon.

Uudelleenkoodauksen määritykset

Klikkaa hiirellä Name: -kenttää ja kirjoita luokitellun ikä-muuttujan nimeksi esim. ikaLK. Label: -kenttään kirjoita Luokiteltu ikä. Hyväksy Change -painikkeella, jolloin Numeric Variable -> Output Variable: -kentän kysymysmerkki korvautuu uudella muuttujanimellä.

Jos painoit Change-painiketta liian aikaisin, paina sitä uudelleen saatuasi Name- ja Label-laatikkoon oikeat tekstit. Change-painikkeen klikkaamisen jälkeen saattaa ilmestyä varoitus, joka ilmoittaa, että olet tekemässä samannimistä muuttujaa, joka on jo olemassa matriisissa. Sulje varoitus ja nimeä luokiteltu muuttuja uudelleen. Uusi nimi hyväksytään taas Change-painikkeella.

Nyt Numeric Variable -> Output Variable: -laatikossa näkyy, että ika-niminen muuttuja luokitellaan uudeksi ikaLK-nimiseksi muuttujaksi. Uuden muuttujan nimeämisen jälkeen määritellään, millaiset ikäluokat SPSS-ohjelman halutaan muodostavan.

Siirry Old and New Values... -painikkeella tekemään luokittelumäärityksiä.

Luokittelutaulu jakaantuu Old Value ja New Value osioihin. Niiden lisäksi taulussa on yhteenvetotaulukko (Old --> New:), jossa näkyy, mitä määrityksiä on tehty. Tässä vaiheessa se on vielä tyhjä.

Old and New Values -ikkuna

Annetaan (ikä)luokille luokkakoodit alimmasta (1) ylimpään (3):
- alle 35 vuotta on luokka 1
- 35–59 vuotta on luokka 2
- 60 vuotta tai yli on luokka 3

Old Value tarkoittaa olemassa olevan ikämuuttujan arvoja (tässä esimerkissä muuttuja 'ika').
Range tarkoittaa vaihteluväliä ja koska nyt uudelleenkoodaaminen (Recode) on luokkavälien määrittämistä, käytämme kolmea eri Range-vaihtoehtoa.
New Value tarkoittaa uuden luokitellun ikämuuttujan arvoja.

Ensin alin luokka:
Klikkaa pallero kohtaan 'Range, LOWEST through value:' ja kirjoita kenttään alimman luokan ylin mahdollinen ikä.
Luokkaväli 1
Alin luokka määritellään aineiston alimmasta iästä 34 vuoteen. Ikäluokka, alle 35 vuotias, koodataan ikkunan New Value puolelle ikaLK-muuttujan luokaksi 1. (Periaatteessa luokkakoodeina voidaan käyttää mitä tahansa numeroita.)
Luokkavälin 1 koodi
Alimman luokan määritys hyväksytään Add -painikkeella.
Määritellään seuraava luokka:
Määritellään 'Range: through' -vaihtoehdolla luokan alarajaksi 35 vuotta ja ylärajaksi 59 vuotta
Luokkaväli 2
Sitten New Value samaan tapaan kuin alimman luokan kohdalla. Loogisesti toisen ikäluokan luokkakoodiksi tulee numero 2 ja se hyväksytään Add-painikkeella.
Ylin luokka:
Vanhimman ikäluokan, 60-vuotiaat ja yli, voi nyt määrittää helposti 'Range, value through HIGHEST:' -määrityksellä.
Luokkaväli 3
Se voitaisiin määrittää yhtä hyvin myös Range: through -määrityksellä tai koska se on viimeisimmäksi määriteltävä luokka, voitaisiin Old Value-puolella käyttää myös valintaa All other values.
Luokkakoodi 3 määritellään kuten edellä.

Nyt kaikkien luokkien pitäisi näkyä Old --> New: -laatikossa.

Jos numeroiden 1, 2 ja 3 ympärille on ilmestynyt heittomerkit: '1', '2', '3', tarkista onko Output variables are strings -kenttään laitettu vahingossa väkänen. Jos on, korjaa tilanne poistamalla väkänen. Koska kyse on numeerisesta tiedosta, tämän ruudun tulee olla tyhjä.

Jatka Continue -painikkeella takaisin edelliseen valikkoon.

Valitse seuraavaksi Paste, jolloin luokittelutoiminnon syntaksi tulee Syntax Editorissa näkyviin.

Siirry Syntax Editor -ikkunaan. Maalaa hiirellä komennot:

RECODE ika (Lowest thru 34=1) (35 thru 59=2) (60 thru Highest=3) INTO ikaLK.
VARIABLE LABELS ikaLK 'Luokiteltu ikä'.
EXECUTE.

Toteuta toiminnot Run-painikkeella.

Jos saat virheilmoituksen, avaa 'Transform - Recode into Different Variables...' -toiminto uudelleen, korjaa virhe ja jatka kuten edellä. Syntax Editor -ikkunasta kannattaa aina poistaa virheelliset SPSS-komennot! Tallenna oikein tehdyt syntaksit tiedostoon EVSsyntaksit.SPS (File - Save As.)

Varsinainen luokittelu on nyt tehty, mutta...

Siirry Data Editor -ikkunaan, sen Variable View -näkymään. Etsi viimeisenä oleva uusi ikaLK-muuttuja.

Mikäli ikaLK-muuttujan kohdalla Decimals-sarakkeessa on luku 2, se tarkoittaa, että luokkakoodit ovat merkitty kahdella desimaalilla. Tämä on tietysti tarpeetonta. Muuta koodit kokonaisluvuiksi, eli desimaalien määrä nollaksi.

Seuraavaksi on luokkakoodeille annettava selitykset. Muutoin jatkossa tehtäviin taulukoihin ja kuvioihin tulee ikäluokkien nimiksi ainoastaan luvut 1, 2 ja 3, jotka eivät kerro todellisia käytettyjä ikärajoja.

Klikkaa ikaLK-rivin Values-sarakkeen solua. Avaa Value Labels -taulu klikkaamalla pientä sinistä ruutua. (Mikäli taulussa on jo tekstiä, tarkista, oletko varmasti oikean muuttujan kohdalla. Cancel-painikkeella pääset takaisin Variable View -tilaan.)

Kirjoita luokkakoodi 1 kohtaan Value ja selitys "alle 35" kohtaan Label. Hyväksy Add-painikkeella, jolloin annettu Value Label tulee näkyviin alimmaiseen valkoiseen laatikkoon. Määrittele samoin luokkakoodi 2, joka tarkoittaa 35-59 vuotiaita ja luokkakoodi 3, joka tarkoittaa 60-vuotiaita ja sitä vanhempia.

Valmiissa taulussa näkyvät kaikki määritellyt luokat:

Valmiit Value Labels-määritykset

Klikkaa OK. Tallenna havaintomatriisi samalle nimelle, mikä sillä on ollut. Siihen on nyt tullut uusi, luokiteltu ikämuuttuja määrityksineen.

Tulosta ikaLK-muuttujan frekvenssitaulukko: Valitse Analyze - Descriptive Statistics - Frequencies... Tyhjennä Frequencies-taulu Reset-painikkeella. Siirrä muuttujaluettelon viimeisenä oleva ikaLK-muuttuja nuolen avulla Variables-laatikkoon ja valitse OK.

Ikä-muuttuja on nyt luokiteltu. Jos epäilet, tuliko luokitus varmasti tehtyä oikein, voit verrata alkuperäistä ikäjakaumaa ja luokiteltua ikää:

  • Tulosta Output-ikkunaan kunkin ikäryhmän henkilöiden tarkat iät:
    Valitse Analyze - Reports - Case Summaries...
  • Siirrä Variables-laatikkoon muuttuja, joka kertoo vuoden tarkkuudella syntymävuoden avulla lasketun iän. Esim. aiemmin tekemäsi "ika2017" tai aineistossa oleva "ika".
  • Valitse ryhmitteleväksi muuttujaksi (Grouping Variable) juuri muodostettu ikaLK-muuttuja:
    Summarize Cases-valikko
  • Voit lisäksi valita
    • näytetäänkö kunkin tapauksen numero (Display cases).
    • kuinka monta tapausta aineistosta haluat (Limit cases to first) vai haluatko kaikki mukaan. Kaikkia 1199 tapausta ei tarvitse ottaa mukaan.
    • näytetäänkö ainoastaan todelliset (valid) arvot eli puuttuvaa tietoa ei huomioida. Puuttuvalla tiedolla ei tässä yhteydessä ole merkitystä (Show only valid cases).
    • tulostetaanko kunkin ikäisten henkilöiden lukumäärä. (Show case numbers)
    • Statistics- ja Options-valikoita ei tarvita tässä yhteydessä.

Kun painat OK, saat Output-ikkunaan ikäryhmittäin listauksen tarkoista luokkiin kuuluvista i'istä ja voit silmämääräisesti tarkistaa, ettei missään ikäluokassa ole 'vääränikäisiä' havaintoja mukana.

Mahdolliset virheet voivat tämänkaltaisissa luokituksissa aiheutua esim. siitä, että sama ikä on määritelty kuuluvaksi kahteen eri luokkaan. Tällöin luokkarajoja on helppoa korjata, tallentaa ja toteuttaa Syntax Editorissa.