# R-harjoitukset 1 ################ # # Hyvä manuaali aloittelijoille: # http://cran.r-project.org/doc/contrib/rdebuts_en.pdf # ################ # # Työskentelyhakemiston määrittäminen ja muuttaminen # Huom! Käytä hakemistopolussa joko \\ tai / merkkejä. getwd() setwd("X:\\") # Polku voidaan määritellä myös valikosta File/Change Dir... # # Helpin käyttö: Joko html-help (paras) tai ?getwd help(getwd) # Lukujen sijoittaminen ja aineiston lukeminen onn<-read.table("C:\\kurssit\\Mtt\\Datat\\kaivos_onn.dat",header=T,skip=5) onn<-read.table("C:/kurssit/Mtt/Datat/kaivos_onn.dat",header=T,skip=5) # Jos hakemistopolku on määritelty jo aiemmin, ei sitä enää tarvita onn<-read.table("kaivos_onn.dat",header=T,skip=5) # Polku voi viitata myös www-osoitteeseen onn<-read.table("http://mtl.uta.fi/tilasto/mtt04/Datat/kaivos_onn.dat",header=T,skip=5) # Liitetään muuttujat työskentelytilaan, jonka jälkeen aineiston muuttujiin voidaan viitata suoraan nimillä attach(onn) names(onn) # Aineisto ja muuttuja saadaan printattua ruudulle kirjoittamalla sen nimi onn; days # Lasketaan aineistosta perustunnusluvut ja piirretään kuvaaja m1<-mean(days) m2<-sum(days)/length(days) s1<-sd(days) s2<-sqrt(sum((days-(sum(days)/length(days)))^2)/(length(days)-1)) median(days) min(days); max(days) hist(days) # Lukujonojen erilaisia määrityksiä: 1:10 1:10-1 1:(10-1) seq(1,10,0.5) seq(length=9,from=1, to=10) rep(1,10) sequence(1:3) sequence(c(2,5,7)) c(1,seq(1,10,0.5),rep(1,10)) # Muodostetaan tehtävän 1.3.a luokkarajat ja piirretään uusi kuvaaja br<-c(seq(-0.5,399.5,50),seq(499.5,999.5,100),1999.5) hist(days,br) # Muodostetaan vastaava frekvenssitaulukko frekvenssit<-table(cut(days,br)) # Viittaaminen muuttujan havaintoihin br[5] br[1:5] br[c(1,5,10)] # Piirretään useampi kuvaaja samaan kuvaan (tehtävä 1.3.b) par(mfrow=c(2,2)) hist(days[1:56],br) hist(days[57:109],br) hist(days,br) # "huono" tapa par(mfrow=c(2,2)) hist(days[1:56]) hist(days[57:109]) hist(days) ################ # sample-funktion käytöstä ################ sample(1:12) # kolikon heitto sample(c(0,1),5,replace=TRUE) # Nopan heitto sample(1:6,10,replace=TRUE) sample(1:6,10,replace=TRUE,rep(1/6,6)) # Väärän nopan heitto (tehtävä 1.6.c) prob<-c(rep(1/6+0.05,4),rep(1/6-2*0.05,2)) sum(prob) noppa<-sample(1:6,300,replace=TRUE,prob) frekvenssit<-table(noppa) # p:n, q:n ja thetan estimaatit p<-sum(frekvenssit[1:4])/(4*300) q<-sum(frekvenssit[5:6])/(2*300) theta<-p-1/6