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.
-
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.
- Tarkastele vielä edellisen tehtävän aineistoa. Millaisia vaatimuksia tämä tutkimusaineisto ja sen (oletettu tai kuviteltu) käytto asettaa tiedonhallintajärjestelmälle?
- Kirjoita awk-ohjelma, joka tulostaa syötetiedoston k:nnen sarakkeen pienimmän ja suurimman arvon. Sarakkeen numero k annetaan ohjelmalle parametrina.
- 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? -
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
-
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:
- http://www.cs.helsinki.fi/hannu.toivonen/tutihaK04/laskarit/NNDD.html