Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 

581264 Tutkimustiedonhallinnan peruskurssi, 3 ov, kevät 2004

Laskuharjoitus 1 (23.3., 25.3)

Tehtävissä tarkastellaan muutamia eri sovelluksia, joiden yhteydessä kohdataan tutkimustiedonhallinnan ongelmia. Ensimmäiset tehtävät voivat tuntua epämääräisiltä - tyypillinen ongelma tutkimustiedon käsittelyssä onkin oikeiden kysymysten etsiminen. Tehtäviin ei välttämättä ole yksiselitteisiä oikeita vastauksia.

  1. Tiedostossa NNDD.html kuvattu aineisto sisältää useita erillisiä tiedostoja, jotka ovat tarpeen tuberkuloosi- ja sikotautitapauksia koskevaa tietoa käsiteltäessä.
    • Keksi muutamia mahdollisimman erilaisia kysymyksiä, joihin tästä aineistosta voisi etsiä vastausta.
    • Keksi ainakin yksi (kuviteltu) tietokokoelma, jota voisi olla mielekästä käyttää tämän aineiston yhteydessä, ja muutamia kysymyksiä, joiden ratkaisemiseksi ehdottamasi tietokokoelman sisältämät tiedot olisivat tarpeen.
  2. Tarkastele vielä edellisen tehtävän aineistoa. Millaisia vaatimuksia tämä tutkimusaineisto ja sen (oletettu tai kuviteltu) käytto asettaa tiedonhallintajärjestelmälle?
  3. Kirjoita awk-ohjelma, joka tulostaa syötetiedoston k:nnen sarakkeen pienimmän ja suurimman arvon. Sarakkeen numero k annetaan ohjelmalle parametrina.
  4. Luennoilla annettiin awk-ohjelma, joka laskee syötetiedoston ensimmäisen sarakkeen arvojen jakauman. Muunna ohjelmaa siten, että tulostus tapahtuu ensimmäisen sarakkeen arvojen mukaisessa suuruusjärjestyksessä, pienimmästä suurimpaan.

    Jos esim.syötetiedoston ensimmäisessä sarakkeessa ovat luvut

    7 3 2 7 2 2 1 4
    niin ohjelma tulostaa:
    	1 1
    	2 3
    	3 1
    	4 1
    	7 2
    *Lisätehtävä halukkaille: toteuta sama tehtävä käyttämällä vain unixin komentoja tr, sort ja uniq sekä putkia.
    Korjaus 22.3.2004: lisätehtävä kuten se on muotoiltu yllä ei ole mahdollinen. Uusi muotoilu: mikä on ratkaisuun vaadittava minimaalinen määrä awk-koodia, kun käytössä ovat myös komennot tr, sort ja uniq?
  5. Laadi awk-ohjelma jonka avulla voit tulostaa järjestetystä numeeristen havaintoarvojen joukosta tiedoston histogrammin piirtämistä varten. Syötetiedostossa on yksi luku yhdellä rivillä ja luvut ovat suuruusjärjestyksessä pienimmästä suurimpaan. Samoja lukuja voi esiintyä peräkkäisillä riveillä. Ohjelmalle annetaan parametrina pylvään leveys b. Ohjelma tulostaa

    Havaintojen lukumäärä välillä [0,b[
    Havaintojen lukumäärä välillä [b,2b[
    jne.

    Esim. syötetiedostossa ovat arvot

    2 5 21 21 23 32
    b=10. Ohjelma tulostaa:
    	  2
    	  0
    	  3
    	  1
    	
  6. Tarkastellaan taas tehtävän 1 ainestoa NNDD, ja sen osajoukon (taulun) tb attribuutteja (state, year, ...). Kerro kustakin attribuutista, millä asteikolla se on kuvattu, ja miten laskisit sille yhden kuvaavan tunnusluvun (esim. keskiarvon)? Millaisia erikoistapauksia kannattaa ottaa huomioon ja miten?
    (Näitä asioita ei vielä käsitelty luennolla, mutta katso esim. tulevia luentokalvoja.)

Lähteet: