Havaintoaineistot (data.frame)

Tavanomaiset havaintoaineistot (data set) tai havaintomatriisit (data matrix) ovat myös eräänlaisia matriiseja eli kaksiulotteisia taulukoita. Havaintomatriisin sarakkeita sanotaan muuttujiksi ja rivejä havainnoiksi. Tilastollisen havaintoaineiston muuttujat eivät kaikki välttämättä ole numeerisia eli reaaliarvoisia (numeric), vaan luokitteluasteikon muuttujat voivat olla tyypiltään merkkimuotoisia (character) tai loogisia (logical). Tilastollista havaintoaineistoa kuvaavaa kaksiulotteista taulukkoa varten R:ssä onkin nimetty erityinen datarakenne- tai oliotyyppi (ks. s. 15) nimeltä data.frame eli ``datakehikko''. Valmis havaintoaineisto luetaan datakehikoksi yleensä ulkoisesta tiedostosta (§3.9)). Lisäksi R:ssä on valmiina suuri joukko esimerkkiaineistoja, jotka saa käyttöön komennolla data(aineiston.nimi). Tämän oppaan liitepaketissa rekola on pikkuruinen aineisto ih98, jossa on Helsingin yliopiston ympäristöekologian laitoksen ekologian laboratoriokurssilla kerätty pieni aineisto, joissa on ruukuissa kasvatettujen retiisien lukumäärä per ruukku (tiheys) sekä kuivapaino (massa). Tämän aineiston saamme käyttöön komennoilla:

> library(rekola)
> data(ih98)

Voimme nyt viitata tämän data.framena käsiteltävän havaintomatriisin ih98 alkioihin, riveihin ja sarakkeisiin normaalisti indekseillä:

> dim(ih98)
[1] 25  2
> ih98[1:3,]
  tiheys  massa
1      1 0.5156
2      2 0.2617
3      4 0.4769

Voimme käyttää indekseinä myös muuttujien nimiä. Emme kuitenkaan voi suoraan käyttää data.framen sisäisiä muuttujien nimiä tiheys ja massa vaan meidän on kirjoitettava ih98$tiheys ja ih98$massa, mikä on vähintäänkin kömpelöä. Voimme kuitenkin liittää (attach) tämän datakehikon istuntoon, minkä jälkeen aineiston muuttujat ovat suoraan viitattavissa:

> massa[1:5]         
Error: Object "massa" not found
> ih98$massa[1:5]
[1] 0.5156 0.2617 0.4769 0.1913 0.3135
> attach(ih98)
> massa[1:5]
[1] 0.5156 0.2617 0.4769 0.1913 0.3135

Tällöin meidän on tietenkin syytä varoa, ettei meillä ennestään ole samannimisiä muuttujia (esim. x näyttää olevan kovin yleinen nimi).

Kun emme enää tarvitse aineistoa, voimme irrottaa sen

> detach(ih98)

minkä jälkeen muuttujat tiheys ja massa eivät enää suoraan näy R-istuntoon.


Jari Oksanen 2003-01-21