Tänases praktikumis

  1. Teeme kiirsissejuhatuse R-i objektidesse:
  • Muutujad
  • Objektitüübid:
    • numeric,
    • character,
    • factor,
    • logical
  • Objektiklassid:
    • vector,
    • data.frame,
    • (matrix, list)
  1. Arvuliste andmete kirjeldamine ja visualiseerimine (kui jõuab)
  • aritmeetiline keskmine
  • mediaan ja kvantiiljaotus
  • visualiseerimine: histogramm, kastdiagramm

Muutujad

Muutuja on arbitraarse nimega objekt, millele saab omistada väärtusi. R-i reeglite kohaselt peab muutuja nimi algama tähemärgiga (ei saa alata numbriga või olla ainult number) ja nimi ei saa sisaldada matemaatilisi funktsioone ja tühikuid; muus osas on nime panemine täiesti vaba: a, b, x, muutuja1, Toomas, Minu_katseisiku_vanus…

Muutujale omistatakse väärtus kas võrdusmärgiga (=) või noolega (<-), mis RStudios saab klahvikombinatsiooniga Alt-. Võrdusmärgi suund on alati sama, kriips-noole suunda saab ka muuta.

Muutujatega saab teha tehteid

## [1] 9
## [1] 38

ja muutuja väärtuseks võib anda mingi käsurea vastuse:

## [1] 7

Objektitüübid

Objektitüüp (ehk mode) väärtused võivad olla kas:

  • arvud (numeric),
  • tekst (character),
  • faktorid (factor),
  • tõeväärtused (logical).

Arvud kirjutatakse lihtsalt numbritega. Arvulise väärtusega muutujatega saab teha matemaatilisi tehteid.

## [1] 4

Tekst tuleb kirjutada jutumärkides. Ka numbrid võivad olla tekst.

## [1] "Tartu"

Faktor on järjestatud (piiratud hulga) väärtustega nominaalne muutuja. Miks faktoreid vaja on? Faktori väärtuseid saab järjestada, see on oluline näiteks ordinaalskaalaga muutujate puhul (“vanem”, “keskmine”, “noorem”).

Tõeväärtused - binaarne muutuja, millel on kaks võimalikku väärtust: TRUE/FALSE. Milleks seda vaja on? Näiteks kui me kasutame võrratusi, siis vastuseks on tõeväärtus. Võrratusi läheb meil vaja hiljem, kui meil on näteks suuremast andmestikust vaja leida kindlatele tunnustele vastav alamosa.

## [1] TRUE
## [1] FALSE

Lisaks on R-is oluline kategooria NA ehk tundmatu väärtus. Kõigi objektitüüpide hulgas võib olla tundmatuid väärtusi. Tundmatu väärtusega tehteid tehes on tulemuseks samuti tundmatu väärtus.

## [1] NA

Käsk mode() abil saab küsida, mis tüüpi muutuja on.

## [1] "numeric"
## [1] "character"
## [1] "logical"

Objektiklassid

Neli põhilist objekti klassi R-is on:

  • vector - ühemõõtmeline objekt
  • matrix - kahemõõtmeline ühetüübiline objekt (tabel, mis sisaldab kas ainult numbreid või teksti)
  • data.frame - kahemõõtmleine objekt (tabel), kus veergudes võivad olla eri tüüpi andmed
  • list - struktureerimata mitmemõõtmeline objekt

Siin kursusel kasutame põhiliselt vektoreid ja data.frame’e.

Vektor

R-i põhiobjekt on vektor. Ka ühest elemendist koosnev objekt on vektor. Vektor on ühemõõtmeline objekt, millel võib olla mitu väärtust.

## [1] "numeric" "vector"

Käsk c() kombineerib väärtused kokku vektoriks; järjestikuste arvude jada kooloniga.

Ühes vektoris on kõik elemendid sama tüüpi. Objekti tüüpi ja klassi saab küsida käskudega mode() ja is().

## [1] "numeric"
## [1] "numeric" "vector"
## [1] 5

Käsk c() kombineerib omavahel kokku ka mitu muutujat.

Tehted vektoritega. Tehteid rakendatakse elementide kaupa. Kui vektorid on eri pikkusega, siis lühemat vektorit taaskasutataske.

## [1]  7  9 11 13 15
##  [1]  3  0  9  0 15  0 21  0 27  0

Ja kui pikem vektor ei jagu täpselt lühemaga, siis küll lühemat taaskasutatakse nii, et kõik pikema vektori elemendid saaksid endale paarilise, aga kõik lühema vektori elemendid ei saa võrdselt kordusi, mille kohta antakse ka veateade.

## Warning in 1:10 * c(3, 0, 1): longer object length is not a multiple of
## shorter object length
##  [1]  3  0  3 12  0  6 21  0  9 30

Tabel

Siin kursusel kasutame kõige rohkem ilmselt tabeleid, mille klass on data.frame. R-is saab andmeid ka vektoritest data.frame() käsuga tabeliks kokku panna, aga üldjuhul saame me data.frame’i kujulise objekti nii, et loeme tabelina struktureeritud andmeid failist. Käsuga read.table() saab importida R-i tabeleid, mis on näiteks csv formaadis. Kui andmestik on R-is korrastatud ja RData fromaadis salvestatud, siis neid andmestikke saab avada käsuga load(). Näiteks sellisel kujul on moodlis failis kysimustik.RData korrastatud vastused küsimustikule, mida eelmises praktikumis täitsite:

Selle käsurea rakendamisest justkui ei juhtugi midagi, aga töölauale tekkis objekt nimega kysimustik. Nüüd oleks vaja saada natuke aimu, mis see tabel endast kujutab. Selleks proovime käske:

  • dim()
  • str()
  • view()
  • summary()

Mis tüüpi andmed on tabelis? Mis skaalal?

Aritmeetiline keskmine (mean)

Aritmeetilise keskmise leidmiseks on R-is käsk mean(). Üldiselt on selle käsu sisendiks arvuline vektor (või maatriks).

Plussid:

  • arvestab kõiki vaatlusi;
  • dispersioon on keskmisest mõlemas suunas sama;
  • valimid samast üldkogumist annavad üldjuhul sarnase keskmise;
  • lihtne aru saada.

Miinused:

  • erinditest (erandlikult suurtest/väikestest vaatlustest) kergesti mõjutatud;

Juhul, kui andmed on tabelis ja tahame ühe arvuliste väärtuste tulba keskmist, siis peame selle tabelist vektorina välja tõmbama. Selleks on R-i süntaksis kolm varianti:

##  [1] 1994 1994 1987 1992 1992 1967 1992 1992 1989 1986 1984 1993 1989 1996
## [15] 1994 1994 1995 1987 1978 1990 1995 1996 1994 1991 1992 1992 1985 1986
## [29] 1976 1996 1971 1995 1994 1995

Küsimustikule vastanud üliõpilaste keskmine sünniaeg.

## [1] 1989.5

Keskmine ülikoolis õpitud aeg:

## [1] 6.529412

Järgmises osas…

  • Kirjeldav statistika (sagedused, tabelid)
    • Mediaan (median)
    • Kvartiilid, detsiilid
  • Visualiseerimine
    • Histogramm
    • Karpdiagramm
    • X-Y diagramm
    • Barplot
  • Pakett ggplot2