CLT255: Tulosten esittäminen ja niiden arviointi tilastomenetelmillä Anssi Yli-Jyrä Syksy 2012
2. opetuskerta, 14.9.2012, luento ja harjoitukset Tämän opetuskerran ja siihen liittyvien harjoitusten jälkeen: ymmärrät R:n keskeisiä käsitteitä osaat luoda ja käsitellä havaintomatriiseja osaat alustavasti tulostaa ja visualisoida havaintomatriiseja
R Laskimena R osaa tavalliset laskukoneen toiminnot ja enemmänkin: 2 * 3 6 / 3 3 %% 2 (quotient) 2 ^ 3 (power; also 2 ** 3) 9 ^ 0.5 (square root) log(14) (also log(14,exp(1))) exp(2.639) sqrt(36) x <- 3 ^ 3 (assignment)
Vektorit ja niiden indeksointi 20:10 10:20 c(20,22) x <- 10:20 x <- c(1,2,3,5,7,11,13,17,19,23,29) x <- c(c(1,2,3,5,7,11),c(13,17,19,23,29)) x x[1] c(x[2],x[3]) c(x[2:4]) c(x[2:4])[2] head(x) tail(x) (same as x[2:4]) # 5 ensimmäistä elementtiä # 5 viimeistä elementtiä
Unaariset vektorien laskutoimitukset > x [1] 1 2 3 5 7 11 13 17 19 23 29 30 > rev(x) [1] 30 29 23 19 17 13 11 7 5 3 2 1 > sort(rev(x)) [1] 1 2 3 5 7 11 13 17 19 23 29 30 > trunc(3/x + 1) [1] 4 2 2 1 1 1 1 1 1 1 1 1
Vektorien keskiset laskutoimitukset > a <- c(100,200,300) > b <- c(1,2,3,4,5,6,7,8,9) > c <- c(100,200,-1) > a+b [1] 101 202 303 104 205 306 107 208 309 > pmin(b,c) [1] 1 2-1 4 5-1 7 8-1
Tunnuslukujen kysely > x <- c(1,2,3,5,7,11,13,17,19,23,29) > length(x) (vektoin pituus) > x[1] (ensimmäinen alkio) > x[length(x)] (viimeinen alkio) > min(x) (minimialkio) > max(x) (maksimialkio) > mean(x) (keskiarvo)
Mediaani > median(c(100,0,40,-100,50)) 40 > median(c(-100,0,40,50,100)) 40 > median(c(0,40,50)) 40 > median(c(40)) 40 > median(c(-100,0,40,50)) 20 > median(c(0,40)) 20 > mean(c(0,40)) 20
Kvantiilit > x <- c(1,2,3,5,7,11,13,17,19,23,29,30) > (i <- 1 + 0.5*(length(x)-1)) # mediaanin indeksi 6.5 > x[i] + (i-trunc(i)) * (x[i+.5]-x[i]) # mediaani 12 > median(x) 12 > (i <- 1 + 0.25*(length(x)-1)) # 1. kvantiilin indeksi 3.75 > x[i] + (i-trunc(i)) * (x[i+.5]-x[i]) # 1. kvantiili 4.5 > quantile(x) 0% 25% 50% 75% 100% 1.0 4.5 12.0 20.0 30.0 > summary(x) Min. 1st Qu. Median Mean 3rd Qu. Max. 1.00 4.50 12.00 13.33 20.00 30.00
Havaintomatriisi (data frame) Definition R:n havaintomatriisi muodostuu riveistä ja sarakkeista. Jokainen rivi ja sarake on itsessään vektori. Jokaisen rivin ensimmäinen elementti on rivin nimi. Jokaisen sarakkeen ensimmäinen elementti on sarakkeen nimi. Havaintomatriisi voidaan nähdä myös vektorina, joka muodostuu sarakkeista, kuten age ja height. Example > age=18:22 > height=c(76.1, 77, 78.1, 78.2, 78.8)) > village=data.frame(age=age,height=height)
Havaintomatriisin muoto > x <- matrix(1:10,ncol=5) > x # huomaa: [rivi,sarake] [,1] [,2] [,3] [,4] [,5] [1,] 1 3 5 7 9 [2,] 2 4 6 8 10 > t(x) # matriisin transpoosi [,1] [,2] [1,] 1 2 [2,] 3 4 [3,] 5 6 [4,] 7 8 [5,] 9 10
Havaintomatriisin indeksointi > village age height 1 18 76.1 2 19 77.0 3 20 78.1 4 21 78.2 5 22 78.8 > village[1] # tai village[,1] age 1 18 2 19 3 20 4 21 5 22 > village[1,] age height 1 18 76.1 > village[2,1] # [y,x], ei (x,y) kuten normaalisti [1] 19
Havaintomatriisin visualisointi ts(x) 0 5 10 15 20 25 30 Kuvateksti R: plot(ts(x)) title(main = Kuvateksti ) dev.print(pdf, file= p.pdf ) pdflatex: \usepackage{graphicx} \includegraphics{p.pdf} \scalebox{0.3}{\inc...} \raisebox{-1in}{\scal...} 2 4 6 8 10 12 Time Mahdollisia formaatteja: pdf, jpeg, pnf, tiff, bmp.
Havaintomatriisin lukeminen tiedostosta Tallenna tiedostoon esim-data.txt havaintomatriisi: Price Floor Area Rooms Age Cent.heat 01 52.00 111.0 830 5 6.2 no 02 54.75 128.0 710 5 7.5 no 03 57.50 101.0 1000 5 4.2 no 04 57.50 131.0 690 6 8.8 no 05 59.75 93.0 900 5 1.9 yes > HousePrice <- read.table("esim-data.txt") > HousePrice
Havaintomatriisin kirjoittaminen tiedostoon > write.table(houseprice) Price Floor Area Rooms Age Cent.heat 01 52 111 830 5 6.2 no... > write.csv(houseprice) # comma separated values (comma =,) ", Price, Floor, Area, Rooms, Age, Cent.heat 01,52,111,830,5,6.2, no... > write.csv2(houseprice) # comma separated values (comma = ;) "; Price ; Floor ; Area ; Rooms ; Age ; Cent.heat 01 ;52;111;830;5;6,2; no...
Havaintomatriisin tuonti Excelistä Tallenna Excelissä muodossa Tab delimited text (.txt) > e <- read.table( table.txt, header=true) > e <- read.table( /unixdir/table.txt, header=true) > e <- read.table( c:\\dosdir\table.txt, header=true) Tallenna Excelissä muodossa Comma separated values (.csv) > e <- read.csv("table.csv", header=true) > summary(e) Tarkista aina että tulos luettiin oikein: > summary(e[1]) # numeerinen kenttä Price Min. :52.00 # numeerisen arvon tunnusluvut 1st Qu.:54.75 Median :57.50 Mean :56.30 3rd Qu.:57.50 Max. :59.75
Valmiita havaintomatriiseja ja aineistoja https://kitwiki.csc.fi/twiki/pub/kitwiki/ HyClt255s2010L02/esim-data.txt Price Floor Area Rooms Age Cent.heat 01 52.00 111.0 830 5 6.2 no 02 54.75 128.0 710 5 7.5 no 03 57.50 101.0 1000 5 4.2 no 04 57.50 131.0 690 6 8.8 no 05 59.75 93.0 900 5 1.9 yes https://kitwiki.csc.fi/twiki/pub/kitwiki/ HyClt255s2011L03/hkv.txt HKV:n tekstitiedosto 00101010 Lev Semjonovits Vygotskin monisäikeinen tutkimustyö 00102010 Tietoisuutta koskevan tutkimuksen merkit...... https://kitwiki.csc.fi/twiki/pub/kitwiki/ HyClt255s2011L03/hkv-num.txt HKV-korpuksen lausekohtaiset luokitustiedot havaintomatriisina 001 01 01 1 0 1 0 1 1 0 1 1 0 1 1... 001 02 01 2 0 1 2 1 1 0 1 1 0 1 1......
2. kerran harjoitustehtävä 1 Keksi kaksi esimerkkiä yhdessä korpuksessa esiintyvästä ilmiöistä, joka saa korpuksen sisällä erilaisia arvoja. Käytä lähteenä: https: //kitwiki.csc.fi/twiki/bin/view/kitwiki/hyclt255s2011l01
2. kerran harjoitustehtävä 2 Määrittele, minkälaisen OMAn (pienehkön) havaintomatriisin haluat Määrittele, minkälaisia muuttujia tämän matriisin sarakkeet ovat Tuota ainakin muutama rivi tällaista havaintomatriisia Lue havaintomatriisi R:ään Tarkista havaintomatriisin oikeellisuus Jos ei onnistunut, opiskele ja korjaa mikä meni pieleen Kuvaile portfoliossasi, mitä halusit tehdä ja miten tämän teit. Käytä lähteenä: https: //kitwiki.csc.fi/twiki/bin/view/kitwiki/hyclt255s2010l02
2. kerran harjoitustehtävä 3 Kirjoita KitWikiin portfolioon hyväksi kokemasi neuvo (1-3 kappaletta) yhdestä seuraavista aiheista: Kuinka vien havaintomatriisini R:ään Millaisia havaintomuuttujien arvoja ja esitysmuotoja on olemassa Kuinka määrittelen havaintomuuttujien tyypin Miksi havaintomatriisin vienti R:ään on vaikeaa Kuinka muutan havaintomatriisin tietoja Miten konvertoin havaintomatriisien ja vektorien välillä Mitä tietoa saan summary()-komennon tuloksista oma aihe