Vektorit

R on tilastollinen ohjelma, joten yleensä ei riitä, että se operoi vain yksittäisillä luvuilla. Perusrakenne on vektori, jota käytetään etenkin muuttujien esittämiseen. Vektorit syntyvät usein luettaessa havaintoaineisto R:ään, mutta niitä voi muodostaa myös R-istunnossa.

Perusfunktio vektorien muodostamiseksi on c, joka yhdistää (engl. ``concatenate'') arvoja vektoriksi. Pieniä havaintoaineistoja voi tallettaa suoraan tällä tavoin:

> vek <- c(3.4, 2, 2.22, 0.9, 5.12)
> vek
[1] 3.40 2.00 2.22 0.90 5.12

Vektoreilla on ainakin kaksi ominaisuutta: pituus eli alkioiden määrä (length) ja alkioiden tyyppi (mode):

> length(vek)
[1] 5
> mode(vek)
[1] "numeric"
> length(A)
[1] 1

Vektorissa vek on 5 numeerista alkiota. Yksittäiseen vektorin alkioon viitataan hakasulkuihin [] sijoitetulla indeksillä. Matemaattista merkintää xi vastaa R:ssä x[i]. Itse asiassa R piti myös aiemmin muodostamaamme vakiota A yhden alkion mittaisena vektorina. Saamme siis vektorin vek kolmannen alkion (2.22) tai muuttujan A ainoan alkion arvot kirjoittamalla:

> vek[3]
[1] 2.22
> A[1]
[1] 12.56637

Myös vektorin indeksi voi olla vektori, jolloin saamme kaikki vektorissa luetellut alkiot. Esim. alkiot 3 ja 1 tässä järjestyksessä ovat:

> vek[c(3,1)]
[1] 2.22 3.40

Kaikkien vektorin alkioiden on oltava samaa tyyppiä, mutta tyyppejä on tarjolla useita. Erityisen hyödyllisiä tilastollisissa analyyseissä ovat tekstinä ilmaistut luokkamuuttujat:

> pihalla <- c("helsinki","tampere","jyväskylä","oulu")
> pihalla
[1] "helsinki"  "tampere"   "jyväskylä" "oulu"     
> mode(pihalla)
[1] "character"
> length(pihalla)
[1] 4

Tässä tapauksessa muuttujat ovat merkkijonoja (character). R:ssä myös tällaisia merkkijonomuuttujia voi käyttää luokittelevina muuttujina analyyseissä. Tällöin niitä sanotaan faktoreiksi. Sekä numeerisen että merkkijonomuuttujan voi muuntaa faktoriksi komennolla factor:

> pihalla <- factor(pihalla)

Monessa tilasto-ohjelmassa luokkamuuttujatkin on koodattava numeroiksi, mutta tekstinä esittäminen tekee tulokset paljon helpommin tulkittaviksi -- varsinkin aikojen kuluttua. Palaamme faktoreihin perusteellisemmin varianssianalyysin yhteydessä.

Kolmas tavallinen tyyppi on looginen muuttuja (logical), joka voi saada vain arvoja tosi (TRUE) tai epätosi (FALSE). Looginen muuttuja syntyy yleensä ehtolauseiden tuloksena:

> vek > 2
[1]  TRUE FALSE  TRUE FALSE  TRUE

Yllä käytettiin vertailuoperaattoria >. Mikäli olisimme halunneet myös arvon 2 olevan tosi, olisimme käyttäneet ehtoa ``>=''. Muita vertailuoperaattoreita ovat <, <=, == (yhtäläisyys), != (epäyhtäläisyys) ja ! (negaatio). Loogisia muuttujia joutuu käyttämään kun kutsuttavalle funktiolle on kerrottava, onko tietyn parametrin arvo tosi vai epätosi; tällöin ne saa lyhentää muotoon T ja F.

Loogisia operaattoreita käytetään usein valitsemaan osa-aineistoja: kun vektorin indeksinä on looginen vektori, valitaan ne alkiot, joille ehto on tosi. Voimme valita suuremmat arvot kuin 2 kirjoittamalla:

> vek[vek>2]
[1] 3.40 2.22 5.12

Hakasuluissa olevan ehtolauseen tulos on vektori, joka on TRUE alkioille 1, 3 ja 5.


Jari Oksanen 2003-01-21