¿Cuál es la densidad de probabilidad de que un estudiante termine su examen en exactamente 100 minutos?
\[ f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{1}{2}\left(\frac{x - \mu}{\sigma}\right)^2} \]
# Parámetros
media <- 90
desviacion_estandar <- 10
x <- 100
# Cálculo de la densidad en x = 100
densidad <- dnorm(x, mean = media, sd = desviacion_estandar)
densidad
## [1] 0.02419707
# Crear la curva de la distribución normal
curve(dnorm(x, mean = 90, sd = 10),
from = 60,
to = 120,
main = "Densidad de Probabilidad en Exámenes de Estadística",
xlab = "Tiempo (minutos)",
ylab = "Densidad",
lwd = 2,
col = "blue")
# Marcar la media (90) con una línea vertical
abline(v = 90, col = "darkgreen", lty = 2, lwd = 1.5)
# Resaltar el punto x = 100
points(100, dnorm(100, 90, 10), col = "red", pch = 19, cex = 1.5)
abline(v = 100, col = "red", lty = 3, lwd = 1.5)
# Leyenda
legend("topright",
legend = c("Densidad (FDP)", "Media (90)", "Punto en 100 min"),
col = c("blue", "darkgreen", "red"),
lty = c(1, 2, 3),
pch = c(NA, NA, 19),
lwd = 2,
cex = 0.8)
R) la densidad de probabilidad de que un estudiante termine su examen en
exactamente 100 minutos es aproximadamente 0.0242 o 2,42%.
media <- 48
desviacion <- 6
x <- 54
densidad <- dnorm(x, mean = media, sd = desviacion)
densidad
## [1] 0.04032845
curve(dnorm(x, media, desviacion),
from = 30,
to = 66,
main = "Densidad de Probabilidad en Tiempos de Entrega",
xlab = "Horas",
ylab = "Densidad",
col = "#2c3e50",
lwd = 2)
# Marcar media y punto de interés
abline(v = media, col = "#27ae60", lty = 2, lwd = 2)
points(x, densidad, col = "#e74c3c", pch = 19, cex = 1.8)
abline(v = x, col = "#e74c3c", lty = 3, lwd = 1.5)
# Leyenda
legend("topright",
legend = c("FDP", "Media (48h)", paste("54h (Densidad =", round(densidad, 4), ")")),
col = c("#2c3e50", "#27ae60", "#e74c3c"),
lty = c(1, 2, 3),
pch = c(NA, NA, 19),
lwd = 2)
R)El punto rojo está a 1 desviación estándar de la media (48h + 6h),su
densidad es aproximadamente 60% del valor máximo.
media_col <- 200
sd_col <- 25
x_col <- 210
densidad_col <- dnorm(x_col, mean = media_col, sd = sd_col)
densidad_col
## [1] 0.01473081
# Parámetros
media_col <- 200
sd_col <- 25
x_col <- 210
densidad_col <- dnorm(x_col, media_col, sd_col)
# Crear gráfico con ajustes de escala
curve(dnorm(x, media_col, sd_col),
from = 125,
to = 275,
ylim = c(0, 0.03), # Ajustamos el límite del eje Y
main = "Densidad de Colesterol Total (Media = 200 mg/dL, DE = 25 mg/dL)",
xlab = "Nivel de colesterol (mg/dL)",
ylab = "Densidad de probabilidad",
col = "#3498db",
lwd = 2,
cex.main = 0.9)
# Elementos gráficos mejorados
abline(v = media_col, col = "#2ecc71", lty = 2, lwd = 2) # Media
points(x_col, densidad_col, col = "#e74c3c", pch = 19, cex = 2) # Punto más grande
abline(v = x_col, col = "#e74c3c", lty = 3, lwd = 1.5) # Línea vertical
text(x_col, densidad_col + 0.002, # Texto arriba del punto
labels = paste("210 mg/dL\nDensidad =", round(densidad_col, 4)),
col = "#e74c3c", cex = 0.8)
# Leyenda con posición ajustada
legend("topright",
legend = c("Función de densidad", "Media (200 mg/dL)", "Valor en 210 mg/dL"),
col = c("#3498db", "#2ecc71", "#e74c3c"),
lty = c(1, 2, NA),
pch = c(NA, NA, 19),
lwd = 2,
cex = 0.8)
knitr::opts_chunk$set(echo = TRUE)
prob_a <- pnorm(1.43) - pnorm(0.68)
prob_a
## [1] 0.1718937
prob_b <- pnorm(1.74) - pnorm(0.58)
prob_b
## [1] 0.2400278
prob_c <- pnorm(1.55) - pnorm(-0.44)
prob_c
## [1] 0.6094607
prob_d <- 1 - pnorm(1.34)
prob_d
## [1] 0.09012267
prob_e <- pnorm(4.32)
prob_e
## [1] 0.9999922
Una variable aleatoria normal x tiene media de 1.35 y desviación estándar 0.15. Encuentre las probabilidades de estos valores x:
2.00 < x < 2.20
x > 2.48
2.35 < x < 2.50
media_x <- 1.35
sd_x <- 0.15
prob_a <- pnorm(2.20, media_x, sd_x) - pnorm(2.00, media_x, sd_x)
prob_a
## [1] 7.336144e-06
prob_b <- 1 - pnorm(2.48, media_x, sd_x)
prob_b
## [1] 2.475797e-14
prob_c <- pnorm(2.50, media_x, sd_x) - pnorm(2.35, media_x, sd_x)
prob_c
## [1] 1.307521e-11
media <- 5
desviacion <- 0.2
limite <- 5.3
prob <- 1 - pnorm(limite, mean = media, sd = desviacion)
prob_z <- round((limite - media)/desviacion, 2) # Valor Z estandarizado
# Curva normal
curve(dnorm(x, media, desviacion),
from = 4.4,
to = 5.6,
main = paste("Diámetros de tornillos\n", "μ = 5 mm, σ = 0.2 mm"),
xlab = "Diámetro (mm)",
ylab = "Densidad",
col = "#2c3e50",
lwd = 2)
# Área de interés (cola derecha)
polygon(c(limite, seq(limite, 5.6, 0.01), 5.6),
c(0, dnorm(seq(limite, 5.6, 0.01), media, desviacion), 0),
col = "#e74c3c30",
border = NA)
# Líneas de referencia
abline(v = media, col = "#27ae60", lty = 2, lwd = 2) # Media
abline(v = limite, col = "#e74c3c", lwd = 1.5) # Límite 5.3 mm
# Leyenda
legend("topright",
legend = c("Distribución", "Media (5 mm)",
paste("> 5.3 mm (Prob =", round(prob*100, 2), "%)")),
col = c("#2c3e50", "#27ae60", "#e74c3c"),
lty = c(1, 2, 1),
lwd = 2,
cex = 0.8)
media <- 70
desviacion <- 10
lim_inf <- 65
lim_sup <- 85
prob <- pnorm(lim_sup, media, desviacion) - pnorm(lim_inf, media, desviacion)
z_inf <- round((lim_inf - media)/desviacion, 2) # Estandarización Z
z_sup <- round((lim_sup - media)/desviacion, 2)
# Curva normal
curve(dnorm(x, media, desviacion),
from = 40,
to = 100,
main = "Distribución de Puntajes del Examen\n(μ = 70, σ = 10)",
xlab = "Puntaje",
ylab = "Densidad",
col = "#3498db",
lwd = 2)
# Área de interés (65-85)
polygon(c(lim_inf, seq(lim_inf, lim_sup, 0.1), lim_sup),
c(0, dnorm(seq(lim_inf, lim_sup, 0.1), media, desviacion), 0),
col = "#2ecc7080", # Verde semitransparente
border = NA)
# Líneas de referencia
abline(v = media, col = "#e67e22", lty = 2, lwd = 2) # Media
abline(v = c(lim_inf, lim_sup), col = "#e74c3c", lwd = 1.5) # Límites
# Leyenda
legend("topright",
legend = c("Distribución", "Media (70)",
paste("65-85 pts (", round(prob*100, 1), "%)")),
col = c("#3498db", "#e67e22", "#2ecc70"),
lty = c(1, 2, 1),
lwd = 2,
cex = 0.8)
# Parámetros
media_tr <- 30
sd_tr <- 5
lim_inf <- 25
lim_sup <- 35
# Cálculo de probabilidad
prob <- pnorm(lim_sup, media_tr, sd_tr) - pnorm(lim_inf, media_tr, sd_tr)
# Estandarización a puntajes Z
z_inf <- (lim_inf - media_tr)/sd_tr # Z para 25 min
z_sup <- (lim_sup - media_tr)/sd_tr # Z para 35 min
# Configuración gráfica
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
ggplot(data.frame(x = c(15, 45)), aes(x)) +
stat_function(fun = dnorm, args = list(mean = media_tr, sd = sd_tr),
color = "#3498db", linewidth = 1.2) +
geom_area(stat = "function", fun = dnorm, args = list(mean = media_tr, sd = sd_tr),
fill = "#2ecc70", alpha = 0.3, xlim = c(lim_inf, lim_sup)) +
geom_vline(xintercept = media_tr, linetype = "dashed", color = "#e67e22") +
geom_vline(xintercept = c(lim_inf, lim_sup), color = "#e74c3c") +
annotate("text", x = 30, y = 0.02,
label = paste("Probabilidad =", round(prob*100, 1), "%"),
color = "black", size = 4) +
labs(title = "Distribución de Tiempos de Reacción",
subtitle = "Media = 30 min, Desviación = 5 min",
x = "Tiempo (minutos)",
y = "Densidad de probabilidad") +
theme_minimal()