# R-harjoitukset 2 ################ # # empiirinen kertymäfunktio: Fn<-ecdf(days) summary(Fn) plot(Fn, verticals= TRUE, do.p = FALSE) plot.ecdf(days, verticals= TRUE, do.p = FALSE) # muuttujan arvojen järjestäminen suuruusjärjestykseen y<-sort(days) y[1:50] # which-funktion käyttö, palauttaa muuttujan arvojen paikat, jossa ehto toteutuu which(days<60) # empiirisen kertymäfunktion arvon määrääminen length(which(days<60))/length(days) (length(which(days<=199.5))-length(which(days<=149.5)))/length(days) ################ # Todennäköisyysjakaumista # normaalijakautuneiden satunnaismuuttujien generointi rnorm(20) z<-rnorm(100, mean=50, sd=5) hist(z) plot(density(z)) # normaalijakauman tiheysfunktio dnorm(0) dnorm(20, mean=30, sd=8) plot(seq(-4,4,0.1),dnorm(seq(-4,4,0.1)), type="l") plot(seq(10,90,0.1),dnorm(seq(10,90,0.1), mean=50, sd=10),type="l") curve(dnorm(x,mean=50,sd=12), 10, 90, add=T, lty=2) # normaalijakauman kertymäfunktio pnorm(0) pnorm(20, mean=30, sd=8) plot(seq(-4,4,0.1),pnorm(seq(-4,4,0.1)), type="l") plot(seq(10,90,0.1),pnorm(seq(10,90,0.1), mean=50, sd=10),type="l") lines(seq(10,90,0.1),pnorm(seq(10,90,0.1), mean=50, sd=12), lty=2) # normaalijakautuneiden satunnaismuuttujien kvantiilien # määäritys todennäköisyyksien avulla qnorm(0) qnorm(0.975) qnorm(0.5, mean=30, sd=8) # binomijakauman vastaavat funktiot # # rbinom(n, size, prob) # dbinom(x, size, prob, log = FALSE) # pbinom(q, size, prob, lower.tail = TRUE, log.p = FALSE) # qbinom(p, size, prob, lower.tail = TRUE, log.p = FALSE) # Lasketaan P(45 < X < 55) kun X ~ Bin(100,0.5) sum(dbinom(46:54, 100, 0.5)) # generoidaan binomijakautuneita satunnaismuuttujia rbinom(10,50,0.2) r<-rbinom(100,50,0.2) hist(r) ################ # Luennot Harjoitus 1.4 # # Heitä harhatonta noppaa 60,120,240,480,960 ja 2000 kertaa # ja laske eri silmälukujen suhteelliset frekvenssit eri # heittosarjoissa. Piirrä myös suhteellisten # frekvenssien histogrammat. Miten heittojen lkm:n n # kasvattaminen vaikuttaa suhteellisiin frekvensseihin? # Heitetään 60 kertaa harhatonta noppaa y<-sample(1:6,60,replace=TRUE,c(1/6,1/6,1/6,1/6,1/6,1/6)) table(y)/60 br<-seq(0.5,6.5,1) hist(y, br, freq = TRUE) hist(y, br, freq = FALSE) y60<-sample(1:6,60,replace=TRUE,c(1/6,1/6,1/6,1/6,1/6,1/6)) y120<-sample(1:6,120,replace=TRUE,c(1/6,1/6,1/6,1/6,1/6,1/6)) y240<-sample(1:6,240,replace=TRUE,c(1/6,1/6,1/6,1/6,1/6,1/6)) y480<-sample(1:6,480,replace=TRUE,c(1/6,1/6,1/6,1/6,1/6,1/6)) y960<-sample(1:6,960,replace=TRUE,c(1/6,1/6,1/6,1/6,1/6,1/6)) y2000<-sample(1:6,2000,replace=TRUE,c(1/6,1/6,1/6,1/6,1/6,1/6)) par(mfrow=c(3,2)) hist(y60, br);hist(y120, br);hist(y240, br);hist(y480, br);hist(y960, br);hist(y2000, br) # Suhteelliset frekvenssit lähenevät 1/6:tta, kun n kasvaa. ################ # Luennot Harjoitus 1.9 # # (a) Heitetään samanaikaisesti kahta noppaa ja olkoon tulos # silmälukujen summa. # Olkoot kaikki 36 alkeistapausta ovat yhtä todennäköisiä. # Osoita, että tuloksen tn-jakauma on: # Tulos 2 3 4 5 6 7 8 9 10 11 12 # 36*tn 1 2 3 4 5 6 5 4 3 2 1 # (b) Heitä kahta noppaa 100 kertaa. Vertaa tuloksen # havaittuja frekvenssejä odotettuihin frekvensseihin. n<-100 p<-c(1,2,3,4,5,6,5,4,3,2,1)/36 y<-sample(2:12,n,replace=TRUE,p) br<-seq(1.5,12.5,1) # Havaitut frekvenssit hist(y,br) table(y) # Odotetut frekvenssit 100*p