R: mikä, miksi ja miten?



Samankaltaiset tiedostot
Tässä harjoituksessa käydään läpi R-ohjelman käyttöä esimerkkidatan avulla. eli matriisissa on 200 riviä (havainnot) ja 7 saraketta (mittaus-arvot)

Yleinen lineaarinen malli eli usean selittäjän lineaarinen regressiomalli

Suhtautuminen Sukupuoli uudistukseen Mies Nainen Yhteensä Kannattaa Ei kannata Yhteensä

1. Tietokoneharjoitukset

805306A Johdatus monimuuttujamenetelmiin, 5 op

Ilmoittaudu Weboodissa klo (sali L4) pidettävään 1. välikokeeseen!

(d) Laske selittäjään paino liittyvälle regressiokertoimelle 95 %:n luottamusväli ja tulkitse tulos lyhyesti.

Opiskelija viipymisaika pistemäärä

ATH-koulutus: R ja survey-kirjasto THL ATH-koulutus / Tommi Härkänen 1

MS-C2128 Ennustaminen ja aikasarja-analyysi 2. harjoitukset / Tehtävät Kotitehtävä: 3,4

Tehtävä 1. (a) JYVÄSKYLÄN YLIOPISTO Matematiikan ja tilastotieteen laitos Parametrittomat ja robustit menetelmät Harjoitukset 7, vastaukset

2. Tietokoneharjoitukset

Residuaalit. Residuaalit. UK Ger Fra US Austria. Maat

b1) harhattomuutta, b2) helppoutta, b3) herkkyyttä, b4) mitta-asteikkoa, b5) standardointia, b6) tarkkuutta.

Tähtitieteen käytännön menetelmiä Kevät 2009

Esimerkkiaineisto ALKOKULU Olemme käyttäneet 3. harjoituksissa esimerkkinä aineistoa, joka käsittelee yksityisiä kulutusmenoja

Nuoruusiän vaikutus aikuisen painoindeksiin Data-analyysin perusmenetelmät Harjoitustyö. Lassi Miinalainen

Aineiston visualisointimenetelmiä

Kokeellisen datan käsittely ja analysointi R:llä

Ristivalidointia ja grafiikkaa

Load

TA4b Taloudellinen kasvu Harjoitus 1

Eläkeläisten elämäntyytyväisyyden tekijät

(b) Vedonlyöntikertoimet syytetyn ihonvärin eri luokissa

Maiju Mykkänen Susanna Sällinen

RISTIINTAULUKOINTI JA Χ 2 -TESTI

Health 2000/2011 Surveys. Statistical Analysis using SAS and SAS-Callable SUDAAN Packages Esa Virtala.

SAS ja R yhteiskäyttö

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

1 Johdatus varianssianalyysiin

1. Normaalisuuden tutkiminen, Bowmanin ja Shentonin testi, Rankit Plot, Wilkin ja Shapiron testi

5 Osa 5: Ohjelmointikielen perusteita

Grafiikka, satunnaislukuja, jakaumia ja yleistettyjä lineaarisia malleja

Viherseinien efekti Tilastoanalyysi

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

TA4b Taloudellinen kasvu Harjoitus 2

Kokeellista matematiikkaa SAGE:lla

Otanta-aineistojen analyysi (78136, 78405) Kevät 2010 TEEMA 3: Frekvenssiaineistojen asetelmaperusteinen analyysi: Perusteita

SPSS-pikaohje. Jukka Jauhiainen OAMK / Tekniikan yksikkö

P e d a c o d e ohjelmointikoulutus verkossa

erasmartcardkortinlukijaohjelmiston

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Selainpelien pelimoottorit

C-ohjelmointikielen perusteet, osa 1

Supplementary Table S1. Material list (a) Parameters Sal to Str

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011

UCOT-Sovellusprojekti. Asennusohje

SEM1, työpaja 2 ( )

AVOIMET KOULUTUKSET. K-ryhmän etuhinnoin syksy 2017

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

Visual Basic -sovelluskehitin Juha Vitikka

805324A (805679S) Aikasarja-analyysi Harjoitus 3 (2016)


Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

FoA5 Tilastollisen analyysin perusteet puheentutkimuksessa. 9. luento. Pertti Palo

Frequencies. Frequency Table

Est.kand Kandidaatintyö ja seminaari: L A T E Xin käyttöönotto

CUDA. Moniydinohjelmointi Mikko Honkonen

4. Lausekielinen ohjelmointi 4.1

Johdatus edistyneeseen web-kehitykseen. Juuso Lappalainen

Juha Merikoski. Jyväskylän yliopiston Fysiikan laitos Kevät 2009


Kymenlaakson Ammattikorkeakoulu

1. PÄÄTTELY YHDEN SELITTÄJÄN LINEAARISESTA REGRESSIOMALLISTA

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

A130A0650-K Tilastollisen tutkimuksen perusteet 6 op Tentti / Anssi Tarkiainen & Maija Hujala

Data-analyysi II. Sisällysluettelo. Simo Kolppo [Type the document subtitle]

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

AVOIMET KOULUTUKSET. kevät ja syksy 2017

Matemaatikot ja tilastotieteilijät

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

AVOIMET KOULUTUKSET. syksy 2017 WISTEC TRAINING OY ITÄMERENKATU 1, HELSINKI PUH (MA-PE KLO 9-17)

8. Näppäimistöltä lukeminen 8.1

1 www-sivujen teko opetuksessa

3 Osa 3: Vielä tietorakenteista

Johdatus ohjelmointiin

pitkittäisaineistoissa

Tieteellinen laskenta I (Scientific Computing I)

Directory Information Tree

UBUNTU 8.04 LTS ASENNUS

Hallintatyökaluja Fujitsu-työasemille

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

Sovellusarkkitehtuurit

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Suoritustavat: Laboratoriotöitä 2.-3.periodi. Luennot 2h, Laboratorityöt 4h, itsenäinen työskentely 124 h. Yhteensä 130 h.

Sisältö IT Linux 2001:n uudet ominaisuudet IT Linux 2001:n yhteensopivuus Red Hat 7.0:n kanssa Asennuksen valmistelu

Kaikissa tämän ryhmän tehtävissä on vastattava seuraavan kysymykseen sen ohjeita noudattaen.

MTTTP1 Tilastotieteen johdantokurssi Luento JOHDANTO

4. UUDEMPAA MALLINNUSTA VARIANSSIANALYYSIN TUEKSI

2. Aineiston kuvailua

proc glm data = ex61; Title2 "Aliasing Structure of the 2_IV^(5-1) design"; model y = A B C D E /Aliasing; run; quit;

Tilastolliset ohjelmistot A. Pinja Pikkuhookana

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Paikkatiedon käsittely 8. Spatiaalinen riippuvuus

Harjoitus 6 -- Ratkaisut

E80. Data Uncertainty, Data Fitting, Error Propagation. Jan. 23, 2014 Jon Roberts. Experimental Engineering

Kuvaruudun striimaus tai nauhoitus. Open Broadcaster Software V.20. Tero Keso, Atso Arat & Niina Järvinen (muokattu )

Integrointi. Ohjelmistotekniikka kevät 2003

TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps

Transkriptio:

R: mikä, miksi ja miten? Ilmari Ahonen Matematiikan ja tilastotieteen laitos, Turun yliopisto SSL R-Webinaari 2015

Vähän minusta Valmistuin maisteriksi Turun yliopistossa 2012 Teen neljättä vuotta väitöskirjaa liittyen syöpäsolukuvien tilastollisiin analyysimenetelmiin R on ollut päätyökaluni viimeisen neljän vuoden ajan. Käyttötunteja arviolta > 4000 Kokemuksena varsinaisesta lääketeollisuudesta on kesäharjoittelu Rochella Baselissa 2012.

Mikä R? R on: ohjelmointikieli ja ohjelmaympäristö, joka on suunnattu tieteelliseen laskentaan ilmainen ja vapaan lähdekoodin ohjelmisto erityisen suosittu data-analyytikoiden keskuudessa tiedemaailmassa ja yhä suositumpi yritysmaailmassa

Mikä R? - konepellin alla R perustuu Bell Laboratoriossa kehitettyyn S-kieleen, josta myös S-PLUS on johdettu R:n lähdekoodi on kirjoitettu pääösin C:llä ja Fortranilla, joiden kutsuminen R:stä on suhteellisen helppoa R on funktionaalinen ja tulkittava kieli. Oliot ja metodit kummittelevat silti mukana

Mikä R?

Koodiesimerkkejä # Vähän laskentaa: 3 + 8 [1] 11 2.434^1.002 - exp(2)*log(124)/3 [1] -9.43411

Koodiesimerkkejä Asioita tallennetaan olioihin a.thing <- 95 some.other.thing <- "tekstiä"

Koodiesimerkkejä Erilaisia olioita c(1, 4, 1, 6) [1] 1 4 1 6 c("eka", "toka") [1] "eka" "toka" matrix(1:12, nrow=2) [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 3 5 7 9 11 [2,] 2 4 6 8 10 12

Koodiesimerkkejä Mallin rakennusta x <- runif(100) y <- 1 + 2*x + rnorm(100) malli <- lm(y ~ x) class(malli) [1] "lm"

Koodiesimerkkejä summary(malli) Call: lm(formula = y ~ x) Residuals: Min 1Q Median 3Q Max -2.20792-0.71069-0.00739 0.62288 3.14653 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 1.2829 0.2157 5.946 4.23e-08 *** x 1.8278 0.3730 4.900 3.79e-06 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 1.08 on 98 degrees of freedom Multiple R-squared: 0.1968, Adjusted R-squared: 0.1886 F-statistic: 24.01 on 1 and 98 DF, p-value: 3.786e-06

Koodiesimerkkejä Kuvien tekoa hist(malli$residuals, col="pink", border="white", lwd=3, main="jäännösten jakauma") Jäännösten jakauma Frequency 0 5 10 15 20 2 1 0 1 2 3 malli$residuals

Koodiesimerkkejä Funktioiden määrittelemistä funktioni <- function(numero){ if(numero > 10000){ print("numero on kovin suuri") } else { print("numero on aika tavallisen kokoinen") } } funktioni(31) [1] "numero on aika tavallisen kokoinen"

Koodiesimerkkejä Lisää funktioita ja aineistoja on koottu paketteihin, joita löytyy esim CRANista (the Comprehensive R Archive Network)

Koodiesimerkkejä Pakettien käsittely # asennettaan paketti koneelle # install.packages("pet") # otetaan paketti käyttöön istunnossa library(pet) Loading required package: adimpro Reading RAW images requires to install dcraw, see http://cybercom.net/~dcoffin/dcraw/ for LINUX and http://www.insflug.org/raw/ for MAC OS and Windows Attaching package: PET The following object is masked from package:base : norm

Koodiesimerkkejä viewdata(list(p, R$Data, R$rData), list("phantom", "Marked Poisson Data", "Simulated PET Data")) Phantom Marked Poisson Data Simulated PET Data

R-koodaamisen erityispiirteitä # otetaan iris data esimerkiksi data(iris) # aineiston tiivistelmä: str(iris) 'data.frame': 150 obs. of 5 variables: $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9... $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1... $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5... $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1... $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1

R-koodaamisen erityispiirteitä # valitaan osa-aineisto iris[130:135, c("sepal.length", "Species")] Sepal.Length Species 130 7.2 virginica 131 7.4 virginica 132 7.9 virginica 133 6.4 virginica 134 6.3 virginica 135 6.1 virginica # poistetaan puuttuvia havaintoja sisältävät rivit siivottu.iris <- iris[complete.cases(iris), ]

R-koodaamisen erityispiirteitä # järjestetään muuttujan mukaan iris.sorted <- iris[order(iris$sepal.length), ] # otetaan otos iris.sample <- iris[sample(1:nrow(iris), 50), ] dim(iris.sample) [1] 50 5

R-koodaamisen erityispiirteitä # sarakekeskiarvot colmeans(iris[, 1:4]) Sepal.Length Sepal.Width Petal.Length Petal.Width 5.843333 3.057333 3.758000 1.199333 # sarakekeskihajonnat apply(iris[,1:4], 2, sd) Sepal.Length Sepal.Width Petal.Length Petal.Width 0.8280661 0.4358663 1.7652982 0.7622377 # neliöjuurimuunnos iris.muunnettu <- apply(iris[,1:4], 2, sqrt)

R-koodaamisen erityispiirteitä # tehdään kuvakokoelma par(mfrow=c(1,3)) hist(iris$sepal.length) plot(iris$sepal.length, iris$sepal.width) boxplot(iris$sepal.length ~ iris$species) abline(h=6, col="red") Histogram of iris$sepal.length Frequency 0 5 10 15 20 25 30 iris$sepal.width 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 4 5 6 7 8 4.5 5.5 6.5 7.5 setosa virginica iris$sepal.length iris$sepal.length

R-koodaamisen erityispiirteitä # ggplot2:lla nopeasti hyvää laatua: library(ggplot2) ggplot(data=iris, aes(x=sepal.width, y=sepal.length, col=species)) + geom_point() + geom_smooth(method="lm") 8 7 Sepal.Length 6 Species setosa versicolor virginica 5 4 2.0 2.5 3.0 3.5 4.0 4.5 Sepal.Width

R-koodaamisen erityispiirteitä # sama kuva pilkottuna library(ggplot2) ggplot(data=iris, aes(x=sepal.width, y=sepal.length, col=species)) + geom_point() + geom_smooth(method="lm") + facet_grid(. ~ Species) 8 setosa versicolor virginica 7 Sepal.Length 6 Species setosa versicolor virginica 5 4 2.0 2.5 3.0 3.5 4.0 4.52.0 2.5 3.0 3.5 4.0 4.52.0 2.5 3.0 3.5 4.0 4.5 Sepal.Width

Miksi R? R:n vahvuuksia verrattuna SAS:iin: Ilmaisuus ja asema tiedeyhteisön suosikkina Aineiston muokkaus Kuvat Yhteispeli muiden työkalujen kanssa, kuten LaTeX, C++, SQL, html jne. Laajennuksien avulla interaktiiviset tulokset ja jopa itsenäisiä sovelluksia (esim Shiny) Ohjelmointikieli ja sen tuoma nopeus ja joustavuus Editorit, esim RStudio

Miksei R? R:n heikkouksia verrattuna SAS:iin: Pakettien laatu on täysin kehittäjiensä armoilla. Koskee erityisesti vähemmän käytettyjä ja uudempia paketteja Suurten aineistojen käsittely (ilman lisäpaketteja) Tulosten raportointi, pois lukien kuvat (jälleen ilman lisäpakettia)

Miten R? R:n opiskelun aloittaminen on helppoa (jatkaminen ei välttämättä...). saatavilla kaikille yleisimmille käyttöjärjestelmille (Windows, Mac OS, Linux) erilaisia oppaita on tarjolla valtavasti (myös itseopiskelukurssi Turun yliopistolla!) RStudio tai jokin muu graafinen editori helpottaa käyttöä huomattavasti R:n kotisivut: www.r-project.org/, RStudio: www.rstudio.com/

Miten R?

Miten R? Materiaaleja Quick-R: www.statmethods.net/ swirl: swirlstats.com/ DataCamp: https://www.datacamp.com/ R inferno: http://www.burns-stat.com/documents/ books/the-r-inferno/