# Distribuciones de Probabilidad en R

## Distribución Normal
- `dnorm(x, mean = 0, sd = 1)`: Densidad de probabilidad.
- `pnorm(x, mean = 0, sd = 1)`: Función de distribución acumulativa.
- `qnorm(p, mean = 0, sd = 1)`: Cuantiles.
- `rnorm(n, mean = 0, sd = 1)`: Generación de números aleatorios.

## Distribución Binomial
- `dbinom(x, size, prob)`: Densidad de probabilidad.
- `pbinom(x, size, prob)`: Función de distribución acumulativa.
- `qbinom(p, size, prob)`: Cuantil (inversa de la CDF).
- `rbinom(n, size, prob)`: Generación de números aleatorios.

## Distribución Poisson
- `dpois(x, lambda)`: Densidad de probabilidad.
- `ppois(x, lambda)`: Función de distribución acumulativa.
- `qpois(p, lambda)`: Cuantil (inversa de la CDF).
- `rpois(n, lambda)`: Generación de números aleatorios.

## Distribución Exponencial
- `dexp(x, rate)`: Densidad de probabilidad.
- `pexp(x, rate)`: Función de distribución acumulativa.
- `qexp(p, rate)`: Cuantil (inversa de la CDF).
- `rexp(n, rate)`: Generación de números aleatorios.

## Distribución Uniforme
- `dunif(x, min = 0, max = 1)`: Densidad de probabilidad.
- `punif(x, min = 0, max = 1)`: Función de distribución acumulativa.
- `qunif(p, min = 0, max = 1)`: Cuantil (inversa de la CDF).
- `runif(n, min = 0, max = 1)`: Generación de números aleatorios.

## Distribución de Chi-cuadrado
- `dchisq(x, df)`: Densidad de probabilidad.
- `pchisq(x, df)`: Función de distribución acumulativa.
- `qchisq(p, df)`: Cuantil (inversa de la CDF).
- `rchisq(n, df)`: Generación de números aleatorios.

---

# Ejemplo de simulación de una exponencial

### Establecer el parámetro lambda

```r
lambda <- 0.2

Generamos una semilla

set.seed(123)

Generar una muestra aleatoria de 1000 valores de X

muestra <- rexp(1000, rate = lambda)

Calcular el histograma de la muestra

hist(muestra, breaks = 30, prob = TRUE, main = "Histograma de la Muestra", col = "limegreen")
x <- seq(0, max(muestra), length = 100)
y <- dexp(x, rate = lambda)
lines(x, y, col = "red")

Calcular la función de distribución empírica \(F_x\)

F_muestra <- ecdf(muestra)
x_f <- seq(0, max(muestra), length = 100)
y_f <- F_muestra(x_f)

Calcular la distribución teórica

F_teorica <- pexp(x_f, rate = lambda)

Graficar la función empírica vs la teórica

plot(x_f, y_f, type = "l", col = "blue", main = "F empírica vs F teórica")
lines(x_f, F_teorica, col = "red")

Calcular P(X <= 2) teóricamente

Calcular P(X <= 2) a partir de la muestra

Comparación de probabilidades teórica vs muestra

cat("Probabilidad teórica de X <= 2:", prob_teorica, "\n")
## Probabilidad teórica de X <= 2: 0.32968
cat("Probabilidad a partir de la muestra de X <= 2:", prob_muestra, "\n")
## Probabilidad a partir de la muestra de X <= 2: 0.311