Avainsana-arkisto: Frekvenssitaulukko

Lukumäärä- ja prosenttiyhteenvedot Pythonilla

Päivitetty 6.5.2020

Lukumäärä- ja prosenttiyhteenvedot tulevat kyseeseen seuraavissa tapauksissa:

  • Kategorisen muuttujan yhteenvetotaulukko (frekvenssitaulukko).
  • Määrällisen muuttujan luokiteltu jakauma taulukkona tai histogrammina.
  • Dummy-muuttujien yhteenveto. Dummy-muuttujaksi kutsutaan muuttujaa, joka saa arvokseen joko 0 (joskus tämän sijasta käytetään tyhjää) tai 1. Esimerkiksi kyselytutkimuksessa monivalintakysymys, jonka vaihtoehdoista vastaaja saa valita useammankin kuin yhden, koodataan dummy-muuttujiksi: Jokainen kysymyksen vaihtoehto on muuttuja, joka saa arvokseen 1, jos vastaaja on sen valinnut. Muussa tapauksessa arvo on 0 tai tyhjä.
  • Kategoristen muuttujien välisen riippuvuuden tarkastelu ristiintaulukoimalla.

Eri tapauksissa laskenta menee eri tavoilla. Seuraavaan olen koonnut mielestäni parhaat käytänteet.

Frekvenssitaulukko

Datassa kategoristen muuttujien arvot ovat yleensä lukuja. Lukujen tekstimuotoiset vastineet määrittelen listoina. Listan voin helposti sijoittaa taulukon indeksin arvoksi.

Frekvenssitaulukon lasken pandas-kirjaston crosstab-funktiolla.

lkm1

Voin visualisoida lukumääriä tai prosentteja vaaka- tai pystypylväskaaviona. Yhteensä-rivin tietoja en esitä pylväänä. Jos esitän kaaviossa prosentteja, niin näytän n-arvon (lukumäärä, josta prosentit on laskettu).

Tarkemmat yksityiskohdat selviävät esimerkistä.

Luokiteltu jakauma

Määrällisen muuttujan jakaumaan tutustun luokitellun jakauman avulla.

Pythonilla on helppo kokeilla erilaisia luokkien lukumääriä tai luokkarajoja tilanteeseen sopivan luokittelun löytämiseksi. Olen tottunut käyttämään luokitteluun kahta menetelmää:

  • Pandas kirjaston cut-funktiolla voin lisätä luokat alkuperäiseen dataan ja laatia sen jälkeen frekvenssitaulukon crosstab-funktiolla.
  • Mieluummin laadin histogrammin suoraan määrällisestä datasta hist-kaaviolajia käyttäen.

lkm2

Tarkemmat yksityiskohdat selviävät esimerkistä.

Dummy-muuttujien yhteenveto

Yhteenvetoon mukaan otettavat muuttujat määrittelen listana. Tämän jälkeen lasken listan mukaisista muuttujista lukumäärät:

  • Jos dummy-muuttujan arvoina on ykkösiä (ja nollia tai tyhjiä) niin käytän sum-funktiota.
  • Jos dummy-muuttujan arvoina on joitain lukuja ja tyhjiä niin käytän count-funktiota (laskee lukujen lukumäärän).

Huomaa, että sum- ja count-funktion antama tulos täytyy muuntaa dataframeksi to_frame-funktiolla.

lkm3

Tärkeää: Prosentit lasken kaikista vastaajista (=koko otoksesta).

Tarkemmat yksityiskohdat selviävät esimerkistä.

Ristiintaulukointi

Kahden kategorisen muuttujan välinen riippuvuus selviää ristiintaulukoimalla. Laadin ristiintaulukoinnin crosstab-funktiolla.

Tärkeää: Jos selittävän muuttujan arvot ovat sarakkeissa, niin käytän prosentteja sarakkeen kokonaissummasta (columns). Jos selittävän muuttujan arvot ovat riveillä, niin käytän prosentteja rivin kokonaissummasta (index).

lkm4

Jos otoksesta lasketussa ristiintaulukoinnissa on havaittavaa riippuvuutta, niin voin tarkistaa khiin neliö -testillä, onko riippuvuus tilastollisesti merkitsevää?

Tarkemmat yksityiskohdat selviävät esimerkistä.

value_counts()

Frekvenssitaulukot ja ristiintaulukoinnit voin siis laskea crosstab()-toiminnolla, mutta taitavalle käyttäjälle value_counts() on kätevämpi ja antaa enemmän mahdollisuuksia.

Tarkemmat yksityiskohdat selviävät esimerkistä.

 

3 Frekvenssijakauma

Päivitetty 14.4.2020.

Dataan kätkeytyvä tieto täytyy esittää jollain tavalla. Ainakin minulle nousee ensimmäisenä mieleen kysymys: kuinka monta mitäkin on (frekvenssijakauma)? Excelillä voin laskea frekvenssijakaumia pivot-taulukoina.

Varmista ennen pivot-taulukointia, että datasi on tallennettu aiemmassa artikkelissa 1 Datan tallentaminen kuvatulla tavalla. Datan täytyy olla yhtenäinen kokonaisuus, jonka sisällä ei ole tyhjiä rivejä tai sarakkeita. Pivot-taulukoinnin kannalta ei ole merkitystä sillä onko data määritelty Taulukoksi (Table) vai ei.

Tarkastelen seuraavassa esimerkkidataa data1.xlsx, joka sisältää vastauksia kuvitteellisen yrityksen työntekijöiltä.

Aloitan pivot-taulukoinnin valitsemalla täsmälleen yhden solun datan alueelta (tärkeää!). Seuraavaksi valitset Insert (Lisää) -välilehdeltä PivotTable (Pivot-taulukko).

Aukeavasta ikkunasta tarkastan, että Excel on tunnistanut datani oikein. Voin myös määrittää luotavan pivot-taulukon sijainnin, mutta yleensä oletus (New Worksheet) kelpaa minulle.

OK:n jälkeen Excel luo tyhjän pivot-taulukon ja näyttää kenttäluettelon (Field List). Kenttäluettelon yläosasta löydän aineistoni muuttujat. Kenttäluettelon alaosassa on paikat riviotsikoita (Row Labels) ja laskettuja arvoja (Values) varten. Lukumäärät lasken seuraavasti:

  • Raahaan tarkasteltavan muuttujan kenttäluettelon yläosasta riviotsikoihin (Row Labels).
  • Raahaan tarkasteltavan muuttujan myös Arvot (Values) -ruutuun.
  • Tilanteesta riippuen Excel laskee oletuksena joko arvojen summan (Sum) tai määrän (Count). Minun täytyy olla tarkkana ja vaihtaa tarvittaessa laskentaperusteeksi määrä: Napsautan Arvot (Values) -ruudun kenttää ja valitsen aukeavasta valikosta Value Field Settings (Arvokentän asetukset). Tämän jälkeen valitsen haluamani laskentaperusteen ja napsautan OK.

Taulukon muotoilu

Jos muuttuja sisältää puuttuvia tietoja (tyhjiä soluja), niin tämä näkyy pivot-taulukossa tarpeettomana rivinä. Voin helposti poistaa tyhjän (blank) -rivin: Pivot-taulukon riviotsikoista (Row Labels) aukeaa alasvetovalikokko, josta voin valita taulukossa näytettävät arvot. Poistan valinnan tyhjien (blank) arvojen kohdalta.

Yllä näet vierekkäin alkuperäisen pivot-taulukon ja vieressä tyylitellyn julkaistavaksi kelpaavan taulukon.

Prosentit

Lukumäärien viereen voin laskea prosentit. Lisään prosentit pivot-taulukkoon raahaamalla tarkasteltavan muuttujan toistamiseen Values (Arvot) -ruutuun. Napsautan uutta Values (Arvot) -ruudun muuttujaa ja valitsen aukeavasta valikosta Value Field Settings (Arvokentän asetukset). Laskentaperusteen täytyy olla Count (Määrä). Lisäksi valitsen esitystavaksi Show Values As (Näytä arvot muodossa) -välilehdeltä % of Column Total (Prosenttia sarakkeen summasta).

Lisäksi voin muuttaa desimaalien määrää Number Format (Lukumuotoilu) -painikkeella. Excel käyttää prosenttimuotoiluissa oletuksena kahta desimaalia, mutta usein 1 tai ei yhtään desimaalia riittää käytännön sovelluksiin.

Tutkimusraportissa taulukot ja kuviot pistävät ensimmäisenä silmään raporttia selailtaessa. Tämän takia taulukot kannattaa viimeistellä huolellisesti. Pienen viimeistelyn jälkeen valmis taulukko voisi näyttää seuraavalta:

Tällaista taulukkoa kutsutaan frekvenssitaulukoksi.

Graafinen esittäminen

Lukumäärät ja prosentit sisältävä taulukko on selkeä ja havainnollinen tapa frekvenssijakauman esittämiseen eikä vaadi graafista havainnollistamista. Jos kuitenkin haluan graafisen esityksen, niin voin toteuttaa sen Pivot-kaaviona (PivotChart). Jos olet pivot-taulukon alueella, niin työkalunauhassa on Pivot-taulukkotyökalut (PivotTable tools). Pivot-taulukkotyökalujen Analyze (Analysoi) -välilehdellä on PivotChart (Pivot-kaavio) -toiminto. Huomaa, että pivot-kaavio on pivot-taulukon graafinen esitystapa, jossa on mukana kaikki pivot-taulukon arvokentät. Koska kaaviossa ei saa olla yhtäaikaa lukumääriä ja prosentteja, niin PivotChart täytyy tehdä pivot-taulukosta, jossa on ainoastaan lukumäärät tai ainoastaan prosentit.

Pienen viilauksen jälkeen saan tässa artikkelissa esitetystä ensimmäisestä pivot-taulukosta seuraavan pivot-kaavion:

Numeroarvojen tilalle olen pivot-taulukkoon kirjoittanut vastausvaihtoehdot ’Tyytymätön’ jne. Kaaviosta olen poistanut selitteen (Legend) ja kaavion otsikon (Chart Title). Kaavioon olen lisännyt vaaka-akselin otsikon. Pivot-kaavion reunoilla on kenttäpainikkeita. Jos haluan kenttäpainikkeet pois kaaviosta, niin valitsen pivot-kaaviotyökaluista Analyze (Analysoi) -välilehdeltä Field Buttons -Hide All (Kenttäpainikkeet – Piilota kaikki).

Jos haluat oppia/kerrata Excel-kaavioiden luomiseen ja muotoiluun liittyvät perustaidot, niin käy läpi itseopiskelupaketti kaavio.xlsx.

Usein kysyttyä

Kysymys: Haluaisin vielä työstää pivot-taulukkoani, muta en näe kenttäluetteloa (Field List)?

Vastaus: Kenttäluettelo on näkyvillä vain jos valittuna on pivot-taulukon alueella oleva solu. Jos pivot-taulukon alueella olevan solun valitseminenkaan ei auta, niin valitse PivotTable Tools  – Analyze – Field List (Pivot-taulukkotyökalut – Analysoi – Kenttäluettelo).

Kysymys: Olen tehnyt muutoksia dataan, mutta muutokset eivät näy pivot-taulukossa. Mitä minun pitäisi tehdä?

Vastaus: Valitse pivot-taulukkotyökalujen Analyze (Analysoi) -välilehdeltä Refresh (Päivitä). Jos tämäkään ei auta, niin määrittele pivot-taulukon pohjana oleva aineisto uudelleen Analyze (Analysoi) -välilehden Change Data Source (Muuta tietolähde) -toiminnolla.

Kysymys: Kyselylomakkeellani oli monivalintakysymys (vastaaja sai valita tarjotuista vaihtoehdoista useampiakin). Miten saan valintojen määrät taulukoitua samaan taulukkoon?

Vastaus: Oletan, että olet tallentanut monivalintakysymyksen vastaukset neuvomallani tavalla (1 Datan tallentaminen). Tee pivot-taulukko. Raahaa monivalintakysymykseen liittyvät muuttujat yksi kerrallaan Values (Arvot) -ruutuun. Jos aineistossa valintoja on merkitty ykkösillä ja muut solut ovat tyhjiä, niin on saman tekevää käytätkö laskentaperusteena summaa (Sum) vai määrää (Count). Näin saat taulukon, jossa on koottuna eri vaihtoehtojen valintojen lukumäärät. Voit vielä valita näytetäänkö lukumäärät vierekkäin vai allekkain vaihtamalla rivi/sarakeotsikoiden Values (Arvot) -palikan paikkaa.

Kysymys: Olen kysynyt samaa mielipideasteikkoa käyttäen mielipidettä moneen eri asiaan. Miten saan eri asioihin liittyvien mielipiteiden lukumäärät tai prosentit samaan taulukkoon?

Vastaus: Jokaisesta asiasta täytyy tehdä oma pivot-taulukkonsa. Tulokset voit kopioida ja yhdistää uuteen taulukkoon. Liittäminen pitää tehdä arvoina (Values). Parhaiten liittäminen sujuu Office-leikepöytää käyttäen. Lisätietoa liittämismuodoista ja Office-leikepöydästä blogissani Olennaiset Excel-taidotUusi taulukko voi pienen tyylittelyn jälkeen näyttää esimerkiksi seuraavalta:

koonti

Huomaa, että prosentteja esitettäessä täytyy myös ilmoittaa kokonaismäärä (n), josta prosentit on laskettu.

Kysymys: Miksi taulukossa ei näy tyhjien (blank) arvojen lukumäärää?

Vastaus: Taulukkoon lasketaan Values (Arvot) -ruudun muuttujan arvojen lukumäärä niissä soluissa, jotka vastaavat vastaavalla rivillä riviotsikoissa olevaa arvoa. Tyhjien kohdalla ei ole arvoja, joten taulukossa ei näy mitään lukumäärää. Jos haluat taulukon, jossa on laskettu puuttuvien arvojen lukumäärä, niin käytä Values (Arvot) -muuttujana sellaista muuttujaa, jolla ei ole puuttuvia arvoja (esimerkiksi ensimmäisen sarakkeen juokseva numerointi).

Kysymys: Miten voin laskea prosenttiosuuden luottamusvälin?

Vastaus: Lue artikkeli Prosenttiosuuden luottamusväli.

Seuraavaksi

Muuttujalla voi olla liikaa arvoja siinä mielessä, että edellä kuvattu taulukointi tuottaa liian pitkän tai epähavainnollisen taulukon. Esimerkiksi ikä-muuttujan taulukointi sellaisenaan ei liene tarkoituksenmukaista. Ikä-muuttujan arvot kannattaakin luokitella sopiviin ikäluokkiin taulukon luettavuuden parantamiseksi. Artikkelista 4 Muuttujan arvojen luokittelu voit lukea lisää.

Lue myös artikkelini Pivot-kaaviot, jossa käsittelen pivot-taulukoita lähtien liikkeelle pivot-kaavioista.