Distribuzioni discrete e funzioni R

Uniforme

Esempio: lancio di un dado

layout(matrix(c(1,2,3,4), 2, 2))

plot(1:6, dunif(1:6, min=1, max=6), type = "s", ylab="dunif",
     xlab="La probabilità di ciascun esito")

plot(1:6, punif(1:6, min=1, max=6), type = "s", ylab="punif",
     xlab="La probabilità di un esito minore o uguale")

plot(seq(0, 1, by=0.2), qunif(seq(0, 1, by=0.2), min=1, max=6), type = "s",
     ylim = c(0,6), ylab="qunif", xlab="Suddivisione per percentili")

plot(1:6, table(floor(runif(100, min=0, max = 6))), type="h",
     ylim = c(0, 30), ylab="runif", xlab="La distribuzione di 100 lanci casuali")

Ipergeometrica

Esempio di classe con 30 persone, di cui 17 OK e 13 KO. Se ne interrogo cinque, quante probabilità ho di averne 0, 1, 2, 3, 4 o tutte e 5 OK?

layout(matrix(c(1,2,3,4), 2, 2))

plot(0:5, dhyper(0:5, m = 17, n = 13, k = 5), type = "s", ylab="dhyper",
     xlab="La probabilità di ciascun esito")

plot(0:5, phyper(0:5, m = 17, n = 13, k = 5), type = "s", ylab="phyper",
     xlab="La probabilità di un esito minore o uguale")

plot(seq(0, 1, by=1/5), qhyper(seq(0, 1, by=1/5), m = 17, n = 13, k = 5), type = "s", ylim = c(0,6), ylab="qhyper", xlab="Suddivisione per percentili")

plot(table(floor(rhyper(100, m = 17, n = 13, k = 5))), type="h",  ylab="rhyper", xlab="La distribuzione di 100 lanci casuali")

Binomiale

Esempio di classe con 30 persone, di cui 17 OK e 13 KO. Se ne chiamo uno alla volta in cinque materie diverse, quante probabilità ho di averne 0, 1, 2, 3, 4 o tutte e 5 OK?

layout(matrix(c(1,2,3,4), 2, 2))

plot(0:10, dbinom(0:10, size = 5, prob = 17/30), type = "s", ylab="dbinom",
     xlab="La probabilità di ciascun esito")

plot(0:10, pbinom(0:10, size = 5, prob = 17/30), type = "s", ylab="pbinom",
     xlab="La probabilità di un esito minore o uguale")

plot(seq(0, 1, by=1/10), qbinom(seq(0, 1, by=1/10), size = 5, prob = 17/30), type = "s", ylim = c(0,6), ylab="qbinom", xlab="Suddivisione per percentili")

plot(table(floor(rbinom(100, size = 5, prob = 17/30))), type="h",  ylab="rbinom", xlab="La distribuzione di 100 lanci casuali")

Poisson

Esempio di città con 300.000 persone, di cui malate 1/100.000. Quante probabilità ho di avere nella città 0, 1, 2, 3, 4… persone malate?

layout(matrix(c(1,2,3,4), 2, 2))

plot(dpois(1:10, lambda = 300000/100000), type = "s", ylab="dpois",
     xlab="La probabilità di ciascun esito")

plot(0:10, ppois(0:10, lambda = 300000/100000), type = "s", ylab="ppois",
     xlab="La probabilità di un esito minore o uguale")

plot(seq(0, 1, by=1/10), qpois(seq(0, 1, by=1/10), lambda = 300000/100000), type = "s", ylim = c(0,10), ylab="qpois", xlab="Suddivisione per percentili")

plot(table(floor(rpois(100, lambda = 300000/100000))), type="h",  ylab="rpois", xlab="La distribuzione di 100 lanci casuali")

Geometrica

Esempio: In Italia il 7,5% delle persone ha gruppo sanguigno B+. Se esamino 5 persone qual è la probabilità che una di loro abbia B+?

layout(matrix(c(1,2,3,4), 2, 2))

plot(dgeom(1:10, prob = 0.075), type = "s", ylab="dgeom",
     xlab="La probabilità di ciascun esito")

plot(0:100, pgeom(0:100, prob = 0.075), type = "s", ylab="pgeom",
     xlab="La probabilità di un esito minore o uguale")

plot(seq(0, 1, by=1/100), qgeom(seq(0, 1, by=1/100), prob = 0.075), type = "s", ylim = c(0,100), ylab="qgeom", xlab="Suddivisione per percentili")

plot(table(floor(rgeom(100, prob = 0.075))), type="h",  ylab="rgeom", xlab="La distribuzione di 100 lanci casuali")