El paquete stats de R (que se instala por defecto al instalar R, y se carga en memoria siempre que iniciamos sesión) implementa numerosas funciones para la realización de cálculos asociados a distintas distribuciones de probabilidad. Entre las utilizadas más comunmente podemos citar:

Distribución Nombre en R
Binomial binom
Poisson pois
Geométrica geom
Hipergeométrica hyper
Binomial Negativa nbinom
Uniforme unif
Normal norm
t Student t
F Fisher F
Chi-Cuadrado chisq
Exponencial exp
Gamma gamma
Weibull weibull

Para cada distribución, R dispone de cuatro funciones. Se puede acceder a cada una de ellas simplemente precediendo el nombre de la distribución que figura en la tabla anterior por la letra que se indica a continuación:

d: función de densidad o de probabilidad.

p: función de distribución.

q: función para el cálculo de cuantiles.

r: función para simular datos con dicha distribución.

Así, por ejemplo, para la distribución normal, la función de densidad se obtiene como dnorm(), la función de distribución como pnorm(), los cuantiles se calculan mediante qnorm() y se pueden generar valores aleatorios con distribución normal mediante rnorm(). Puede consultarse la ayuda, help(dnorm) para conocer la sintaxis específica de estas funciones.

Ejemplo 1: distribución binomial

Si \(X\) sigue una distribución binomial \(B(n,p)\), entonces:

Por ejemplo, si \(X \sim B(10,0.6)\) tenemos:

dbinom(8,10,0.6)
## [1] 0.1209324
pbinom(8,10,0.6)
## [1] 0.9536426
qbinom(0.95,10,0.6)
## [1] 8

Podemos obtener simultáneamente varios cuantiles:

qbinom(c(0.05,0.95),10,0.6)
## [1] 3 8
rbinom(20,10,0.6)
##  [1] 6 5 7 5 6 4 4 5 5 8 6 8 4 7 6 7 4 4 6 6

Podemos representar la función de probabilidad de la distribución binomial:

plot(dbinom(0:10,10,0.6),type="h",xlab="k",ylab="P(X=k)",main="Función de Probabilidad B(10,0.6)")

También podemos representar su función de distribución acumulada:

plot(stepfun(0:10,pbinom(0:11,10,0.6)),xlab="k",ylab="F(k)",main="Función de distribución B(10,0.6)")

Ejemplo 2: distribución normal

Si \(X\) sigue una distribución normal \(N(\mu,\sigma)\), entonces:

Por ejemplo, si \(X\sim N(170,12)\). Entonces:

dnorm(173,170,12)
## [1] 0.03222234

Podemos calcular los valores de la función de densidad sobre una secuencia de valores de \(x\):

x=seq(165,175,by=0.5)
dnorm(x,170,12)
##  [1] 0.03048103 0.03098792 0.03144860 0.03186077 0.03222234 0.03253150
##  [7] 0.03278664 0.03298647 0.03312996 0.03321634 0.03324519 0.03321634
## [13] 0.03312996 0.03298647 0.03278664 0.03253150 0.03222234 0.03186077
## [19] 0.03144860 0.03098792 0.03048103
curve(dnorm(x,170,12),xlim=c(130,210),col="blue",lwd=2,
      xlab="x",ylab="f(x)",main="Función de Densidad N(170,12)")

curve(pnorm(x,170,12),xlim=c(130,210),col="blue",lwd=2,
      xlab="x",ylab="F(x)",main="Función de Distribución N(170,12)")

pnorm(180,170,12)
## [1] 0.7976716
1-pnorm(168,170,12)
## [1] 0.5661838

o también

pnorm(168,170,12, lower.tail=FALSE)
## [1] 0.5661838
pnorm(168,170,12)-pnorm(150,170,12)
## [1] 0.3860258
qnorm(0.95,170,12)
## [1] 189.7382
qnorm(c(0.025,0.975))
## [1] -1.959964  1.959964
rnorm(10,170,12)
##  [1] 157.3321 161.6392 159.2494 149.4788 191.8352 160.4870 150.8372 164.8297
##  [9] 175.7572 153.9785