KvantiMOTV SPSS-opas

Ajankohtaista | MOTV-lista | Palaute

Menetelmäopetuksen tietovaranto - SPSS-opas

Muuttujien muunnokset - SPSS-harjoitus 2

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

Tässä harjoituksessa käytetään havaintoaineistona vuoden 1996 World Values Survey-tutkimuksen Suomen osa-aineistoa.
Havaintoaineiston hakemisesta SPSS-ohjelmaan on erilliset ohjeet.

Ikämuuttujan luokitteleminen

» osaWVS-aineisto | Harjoitusaineistot

Aineistossa on useita ikään liittyviä muuttujia:

  • v215 "Olkaa hyvä ja kertokaa syntymävuotenne."
  • v216 "Olette siis ... ikäinen? (vastaajan kertoma ikä)"
  • ika (syntymävuoden perusteella laskettu ikä)

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

Tässä demonstraatiossa käytetään vain yhtä ika-muuttujaa. Voit johdonmukaisesti käyttää tekemääsi ika96-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 (WVSsyntaksit.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

Valitse Transform - Recode into Different Variables...

Kun muuttujia luokitellaan on 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ä.

Päällekorjaava 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. luokika. 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 luokika-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 luokika-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 luokika.
VARIABLE LABELS luokika '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 WVSsyntaksit.SPS (File - Save As.)

Varsinainen luokittelu on nyt tehty, mutta...

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

Mikäli luokika-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 luokika-rivin Values-sarakkeen solua. Avaa Value Labels -taulu klikkaamalla pientä harmaata laatikkoa. (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 luokika-muuttujan frekvenssitaulukko: Valitse Analyze - Descriptive Statistics - Frequencies... Tyhjennä Frequencies-taulu Reset-painikkeella. Siirrä muuttujaluettelon viimeisenä oleva luokika-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 "ika96" tai aineistossa oleva "ika".
  • Valitse ryhmitteleväksi muuttujaksi (Grouping Variable) juuri muodostettu luokika-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 990 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 ijistä 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.


viimeksi päivitetty 2012-11-12

Yhteiskuntatieteellinen tietoarkisto Menetelmäopetuksen tietovaranto - SPSS-opas
FSD