Cuestión 2 - Apartado c
# Simulación del Teorema Central del Límite
# Definir la distribución de las variables aleatorias Por ejemplo, una distribución exponencial con lambda=2
lambda <- 2
n <- 1000 # Tamaño de la muestra
num_simulaciones <- 1000 # Número de simulaciones
# Crear una función para generar muestras y calcular la media
simulacion_tcl <- function(n, lambda) {
muestra <- rexp(n, rate = lambda) # Generar muestra
media <- mean(muestra) # Calcular la media de la muestra
return(media)
}
# Realizar múltiples simulaciones
medias <- replicate(num_simulaciones, simulacion_tcl(n, lambda))
# Graficar el histograma de las medias
hist(medias, breaks = 30, main = "Distribución de las medias muestrales",
xlab = "Media", ylab = "Frecuencia", col = "skyblue")
# Superponer una curva de densidad normal
curve(dnorm(x, mean = 1/lambda, sd = sqrt(1/(lambda^2*n))),
add = TRUE, col = "red", lwd = 2)

Ejercicio 1
# Definir la distribución conjunta como una matriz de probabilidades
distribucion_conjunta <- matrix(c(0.05, 0.1, 0.05, 0.02, 0.01,
0.1, 0.2, 0.1, 0.05, 0.02,
0.05, 0.1, 0.05, 0.02, 0.01),
nrow = 3, byrow = TRUE,
dimnames = list(c("0-50", "51-100", "101-150"),
c("0-20", "21-40", "41-60", "61-80", "81-100")))
# Mostrar la distribución conjunta
print("Distribución Conjunta:")
## [1] "Distribución Conjunta:"
print(distribucion_conjunta)
## 0-20 21-40 41-60 61-80 81-100
## 0-50 0.05 0.1 0.05 0.02 0.01
## 51-100 0.10 0.2 0.10 0.05 0.02
## 101-150 0.05 0.1 0.05 0.02 0.01
# Calcular las distribuciones marginales para la edad y el peso
distribucion_marginal_edad <- rowSums(distribucion_conjunta)
distribucion_marginal_peso <- colSums(distribucion_conjunta)
# Mostrar las distribuciones marginales
print("Distribución Marginal para la Edad:")
## [1] "Distribución Marginal para la Edad:"
print(distribucion_marginal_edad)
## 0-50 51-100 101-150
## 0.23 0.47 0.23
print("Distribución Marginal para el Peso:")
## [1] "Distribución Marginal para el Peso:"
print(distribucion_marginal_peso)
## 0-20 21-40 41-60 61-80 81-100
## 0.20 0.40 0.20 0.09 0.04
# Calcular la distribución condicional para la edad dado un peso específico (por ejemplo, 51-100 kg)
peso_especifico <- "51-100"
indice_peso <- which(colnames(distribucion_conjunta) == peso_especifico)
distribucion_condicional_edad <- distribucion_conjunta[, indice_peso] / distribucion_marginal_peso[indice_peso]
# Mostrar la distribución condicional para la edad dado un peso específico
print(paste("Distribución Condicional para la Edad dado un Peso de", peso_especifico, ":"))
## [1] "Distribución Condicional para la Edad dado un Peso de 51-100 :"
print(distribucion_condicional_edad)
##
## 0-50
## 51-100
## 101-150