rnorm(10, 170, 10) #Kogus, keskväärtus, standardhälve round(rnorm(10, 170, 10)) sort(round(rnorm(10, 170, 10))) rev(sort(round(rnorm(10, 170, 10)))) set.seed(258) #Juhuarvugeneraatori algväärtus round(rnorm(10, 170, 10)) round(rnorm(10, 170, 10)) eesnimed=c("Juku" ,"Kati", "Mati", "Madis", "Mari", "Martin") sample(eesnimed, 3) sample(eesnimed, 3) head(mtcars) #näitandmed 70ndate autodega mtcars[1:3, ] #Kolm esimest rida mtcars[sample(1:nrow(mtcars), 5),] #5 juhuslikku autot, nrows- ridade arv #Harjutus - arvutage kümne juhusliku auto keskmine mpg (miles per gallon) mean(mtcars[sample(1:nrow(mtcars), 10),"mpg"]) #mtcars$mpg 1:nrow(mtcars) sample(5:32, 10) #esimest nelja ei vali #Viiel korral käivitatakse käsklust, kus valitakse kümne juhusliku auto keskmine sapply(1:5, function(i){ mean(mtcars[sample(1:nrow(mtcars), 10),"mpg"])}) hist(sapply(1:100, function(i){ mean(mtcars[sample(1:nrow(mtcars), 10),"mpg"])})) summary(sapply(1:100, function(i){ mean(mtcars[sample(1:nrow(mtcars), 5),"mpg"])})) sample(eesnimed, 10, replace=TRUE) #Kordused lubatud #bussiooteaeg ühtlase jaotuse järgi 0-7 min runif(1, 0, 7) #üks väärtus random uniform runif(20, 0, 7) #Püüdke modelleerida bussiga kohale jõudmise aega: #ooteaeg 0-7 minutit ühtlase jaotuse järgi, #Sõiduaeg normaaljaotusega keskväärtusega 20 minutit, standardhälve 3 minutit #Tekitage käsuga üks tulemus, korrake käsku, jälgige tulemusi runif(1, 0, 7)+rnorm(1, 20, 3) #Leidke, mitmel juhul sajast oli kohale jõudmise aeg üle 25 minuti sapply(1:100, function(i){runif(1, 0, 7)+rnorm(1, 20, 3)}) sapply(1:100, function(i){runif(1, 0, 7)+rnorm(1, 20, 3)})>25 ajad=sapply(1:100, function(i){runif(1, 0, 7)+rnorm(1, 20, 3)}) length(ajad[ajad>25]) #ajad[ajad>25] ajad=sapply(1:100, function(i){runif(1, 0, 7)+rnorm(1, 20, 3)}) length(ajad[ajad>30]) #veidi pikem minekuaeg #http://www.tlu.ee/~jaagup/andmed/muu/ounad/ounad3_100.txt ounad3_100=read.table("http://www.tlu.ee/~jaagup/andmed/muu/ounad/ounad3_100.txt", header=TRUE, sep=",") ounad2=edit(ounad3_100) antoonovkad=ounad3_100[ounad3_100$ounasort=="Antoonovka", "diameeter"] antoonovkad (antoonovkad=ounad3_100[ounad3_100$ounasort=="Antoonovka", "diameeter"]) t.test(antoonovkad) t.test(antoonovkad, conf.level=0.9) #Leidke Kuldrenettide keskmise diameetri usaldusvahemik 99% täpsusega t.test(antoonovkad, mu=7.5, alternative="less") mean(antoonovkad) sd(antoonovkad) x=seq(3, 10, 0.1) y=dnorm(x, mean(antoonovkad), sd(antoonovkad)) plot(x, y, type="l") # l nagu line qnorm(0.95, mean(antoonovkad), sd(antoonovkad)) abline(v=qnorm(0.95, mean(antoonovkad), sd(antoonovkad))) #95% antoonovkate valimi jaotusega üldkogumist võiksid olla #väiksemad kui 9,9 #Näidake diameeter, millest nende parameetritega normaaljaotuse puhul #on õuntest väiksemad 25%, tõmmake vastav joon kuldrenetid=ounad3_100[ounad3_100$ounasort=="Kuldrenett", "diameeter"] kuldrenetid t.test(antoonovkad, kuldrenetid) #95 percent confidence interval: # 2.169562 4.034605 attributes(t.test(antoonovkad, kuldrenetid)) t.test(antoonovkad, kuldrenetid)[["conf.int"]] t.test(antoonovkad, kuldrenetid)[["conf.int"]][1] piirid=round(t.test(antoonovkad, kuldrenetid)[["conf.int"]], 2) paste('Antoonovkad on 95% tõenäosusega suuremad ', piirid[1], 'kuni', piirid[2], "cm") #Kuvage Antoonovkate ja Liivi sibulõunte keskmise diameetri erinevus #välja 90% tõenäosusega liivisibulad=ounad3_100[ounad3_100$ounasort=="Liivi sibul", "diameeter"] piirid=round(t.test(antoonovkad, liivisibulad, conf.level = 0.9)[["conf.int"]], 2) paste('Antoonovkad on 90% tõenäosusega suuremad ', piirid[1], 'kuni', piirid[2], "cm") ounakuud=read.table("http://www.tlu.ee/~jaagup/andmed/muu/ounad/antoonovka3.txt", header=TRUE, sep=",") head(ounakuud) t.test(ounakuud$august, ounakuud$oktoober) t.test(ounakuud$august, ounakuud$oktoober, paired=TRUE) #Tehke võrdlev test vaid õuntega, mis olid augustis alla 5cm diameetriga (v2ikesed=ounakuud[ounakuud$august<5, ]) t.test(v2ikesed$august, v2ikesed$oktoober) t.test(v2ikesed$august, v2ikesed$oktoober, paired=TRUE) cor(ounakuud$august, ounakuud$oktoober) cor(ounakuud) pairs(ounakuud) ounad2=ounakuud ounad2$august[c(3, 10, 12)]=NA cor(ounad2) mean(ounad2$august) mean(ounad2$august, na.rm=TRUE) cor(ounad2$august, ounad2$september, use="pairwise.complete.obs") cor(ounad2$august, ounad2$september, use="complete") cor(ounad2, use="complete") cor(ounad2, use="pairwise.complete.obs") cor.test(ounakuud$august, ounakuud$september) #Leidke septembri ja oktoobri vahel #Korrelatsiooni usaldusvahemik 90% tõenäosusega