plotDist <- function(u,
naslov="Histogram of u",...) {
par(mfrow = c(2,1))
hist(u, col = "lightblue", prob = TRUE,main=naslov)
plot(u, rank(u)/length(u), ylab = "P",...)
}
Preizkus.
u <- c(rnorm(50, 10, 2),
rnorm(20, sd=2, mean=10),
rnorm(20,14,3))
plotDist(u)
plotDist(u,pch=16,col="red",main="Polne rdeče pike")
par(mfrow=c(1,1))
u <- sort(u)
P <- rank(u)/length(u)
range(u)
## [1] 3.867808 20.927526
range(P)
## [1] 0.01111111 1.00000000
P[1] <- 0 # da zagotovim pokrivanje intervala [0,1]
plot(u,rank(u),type="b")
head(cbind(u,P))
## u P
## [1,] 3.867808 0.00000000
## [2,] 5.770910 0.02222222
## [3,] 6.877098 0.03333333
## [4,] 7.137322 0.04444444
## [5,] 7.336601 0.05555556
## [6,] 7.341369 0.06666667
plot(u,P,type="b")
plot(u[1:10],P[1:10],type="b")
approx(u,P,6.5)
## $x
## [1] 6.5
##
## $y
## [1] 0.02954557
x <- c(6.5)
points(approx(u,P,x),col="red",pch=16)
x <- seq(5.5,8,length=5)
points(approx(u,P,x),col="blue",pch=16)
approx(u,P,x)$y # P koordinate za risanje
## [1] 0.01905885 0.02577888 0.03205670 0.06972236 0.15576308
Objekti vrste list
h <- hist(u)
str(h)
## List of 6
## $ breaks : num [1:11] 2 4 6 8 10 12 14 16 18 20 ...
## $ counts : int [1:10] 1 1 12 28 28 9 4 4 1 2
## $ density : num [1:10] 0.00556 0.00556 0.06667 0.15556 0.15556 ...
## $ mids : num [1:10] 3 5 7 9 11 13 15 17 19 21
## $ xname : chr "u"
## $ equidist: logi TRUE
## - attr(*, "class")= chr "histogram"
h$mids
## [1] 3 5 7 9 11 13 15 17 19 21
points(h$mids,h$counts,pch=17,col="blue",type="o")
# izbor drugega elementa
h[[2]]
## [1] 1 1 12 28 28 9 4 4 1 2
h$counts
## [1] 1 1 12 28 28 9 4 4 1 2
n <- 500
p <- runif(n)
ru <- approx(P,u,p)$y
plot(u,P,type="l")
points(ru,p,pch=16)
Slika porazdelitve generiranih vrednosti
plotDist(u,naslov="Izvorni podatki")
plotDist(ru,naslov="Generirani podatki")
## Slika ujemanja kvantilov
qqplot(u,ru)
Porazdelitvi u inru se kar dobro ujemata.
Primerjava z normalno porazdelitvijo
X <- rnorm(1000)
qqnorm(X)
qqline(X,col="red")
Za naša generirana števila:
qqnorm(ru)
Naš vzorec 500 števil, ki so v vektorju ru, ni normalno porazdeljen.