# Establecer semilla para reproducibilidad
set.seed(123)

# 1. Simular tiempos de atención al cliente (distribución normal)
# Media = 15 minutos, Desviación estándar = 5 minutos
tiempos_atencion <- rnorm(20, mean = 15, sd = 5)

# 2. Simular tiempos entre llegadas (distribución exponencial)
# Media = 3.5 minutos → tasa = 1 / media
tiempos_llegada <- rexp(20, rate = 1 / 3.5)

# Crear data frames con los datos simulados
datos_atencion <- data.frame(
  Observación = 1:20,
  Tiempo_Atención = tiempos_atencion
)

datos_llegada <- data.frame(
  Observación = 1:20,
  Tiempo_Llegada = tiempos_llegada
)

# Mostrar los datos simulados
cat("Tiempos de Atención (Distribución Normal):\n")
## Tiempos de Atención (Distribución Normal):
print(datos_atencion)
##    Observación Tiempo_Atención
## 1            1       12.197622
## 2            2       13.849113
## 3            3       22.793542
## 4            4       15.352542
## 5            5       15.646439
## 6            6       23.575325
## 7            7       17.304581
## 8            8        8.674694
## 9            9       11.565736
## 10          10       12.771690
## 11          11       21.120409
## 12          12       16.799069
## 13          13       17.003857
## 14          14       15.553414
## 15          15       12.220794
## 16          16       23.934566
## 17          17       17.489252
## 18          18        5.166914
## 19          19       18.506780
## 20          20       12.636043
cat("\nTiempos entre Llegadas (Distribución Exponencial):\n")
## 
## Tiempos entre Llegadas (Distribución Exponencial):
print(datos_llegada)
##    Observación Tiempo_Llegada
## 1            1      5.3504309
## 2            2      4.7296638
## 3            3      4.7181557
## 4            4      4.0898514
## 5            5      5.6204832
## 6            6      5.2386000
## 7            7      5.4972839
## 8            8      0.1111871
## 9            9      2.0924739
## 10          10      7.5874391
## 11          11      1.7731551
## 12          12      0.9084524
## 13          13      9.0891224
## 14          14      4.3015901
## 15          15      2.7673862
## 16          16      2.2024803
## 17          17      4.3912435
## 18          18      2.0603962
## 19          19      3.9525151
## 20          20      1.4712768
# Función para calcular estadísticas resumen e intervalo de confianza
calcular_estadisticas <- function(datos, nombre) {
  media <- mean(datos)
  desv <- sd(datos)
  ee <- desv / sqrt(length(datos))
  margen <- qt(0.975, df = length(datos) - 1) * ee
  ic_inf <- media - margen
  ic_sup <- media + margen
  
  return(data.frame(
    Distribución = nombre,
    Tamaño_Muestra = length(datos),
    Media = media,
    Desviación_Estándar = desv,
    IC_Inferior = ic_inf,
    IC_Superior = ic_sup
  ))
}

# Calcular estadísticas para cada conjunto
resumen_atencion <- calcular_estadisticas(tiempos_atencion, "Normal")
resumen_llegada <- calcular_estadisticas(tiempos_llegada, "Exponencial")

# Mostrar tablas resumen por separado
cat("\n\nResumen Estadístico - Distribución Normal:\n")
## 
## 
## Resumen Estadístico - Distribución Normal:
print(resumen_atencion)
##   Distribución Tamaño_Muestra    Media Desviación_Estándar IC_Inferior
## 1       Normal             20 15.70812            4.863327    13.43201
##   IC_Superior
## 1    17.98423
cat("\nResumen Estadístico - Distribución Exponencial:\n")
## 
## Resumen Estadístico - Distribución Exponencial:
print(resumen_llegada)
##   Distribución Tamaño_Muestra    Media Desviación_Estándar IC_Inferior
## 1  Exponencial             20 3.897659            2.250994    2.844162
##   IC_Superior
## 1    4.951157
# Visualización de histogramas
par(mfrow = c(1, 2))  # Dos gráficos en la misma fila

# Histograma: tiempos de atención
hist(tiempos_atencion,
     main = "Tiempos de Atención (Normal)",
     xlab = "Minutos",
     col = "skyblue",
     breaks = 8)
abline(v = resumen_atencion$Media, col = "red", lwd = 2)
abline(v = resumen_atencion$IC_Inferior, col = "red", lty = 2)
abline(v = resumen_atencion$IC_Superior, col = "red", lty = 2)

# Histograma: tiempos entre llegadas
hist(tiempos_llegada,
     main = "Tiempos entre Llegadas (Exponencial)",
     xlab = "Minutos",
     col = "lightgreen",
     breaks = 8)
abline(v = resumen_llegada$Media, col = "red", lwd = 2)
abline(v = resumen_llegada$IC_Inferior, col = "red", lty = 2)
abline(v = resumen_llegada$IC_Superior, col = "red", lty = 2)

# Restablecer la configuración de gráficos
par(mfrow = c(1, 1))

# Análisis de resultados
cat("\n\nAnálisis de Resultados:\n")
## 
## 
## Análisis de Resultados:
cat("1. Distribución Normal (Tiempos de Atención):\n")
## 1. Distribución Normal (Tiempos de Atención):
cat("   - Media:", round(resumen_atencion$Media, 2), "minutos\n")
##    - Media: 15.71 minutos
cat("   - IC 95%: [", round(resumen_atencion$IC_Inferior, 2), ",", round(resumen_atencion$IC_Superior, 2), "]\n")
##    - IC 95%: [ 13.43 , 17.98 ]
cat("   - La media verdadera (15) está",
    ifelse(15 >= resumen_atencion$IC_Inferior & 15 <= resumen_atencion$IC_Superior, 
           "dentro", "fuera"), "del intervalo de confianza.\n")
##    - La media verdadera (15) está dentro del intervalo de confianza.
cat("\n2. Distribución Exponencial (Tiempos entre Llegadas):\n")
## 
## 2. Distribución Exponencial (Tiempos entre Llegadas):
cat("   - Media:", round(resumen_llegada$Media, 2), "minutos\n")
##    - Media: 3.9 minutos
cat("   - IC 95%: [", round(resumen_llegada$IC_Inferior, 2), ",", round(resumen_llegada$IC_Superior, 2), "]\n")
##    - IC 95%: [ 2.84 , 4.95 ]
cat("   - La media verdadera (3.5) está",
    ifelse(3.5 >= resumen_llegada$IC_Inferior & 3.5 <= resumen_llegada$IC_Superior, 
           "dentro", "fuera"), "del intervalo de confianza.\n")
##    - La media verdadera (3.5) está dentro del intervalo de confianza.
# Comparación entre distribuciones
cat("\n3. Comparación entre Distribuciones:\n")
## 
## 3. Comparación entre Distribuciones:
cv_atencion <- resumen_atencion$Desviación_Estándar / resumen_atencion$Media
cv_llegada <- resumen_llegada$Desviación_Estándar / resumen_llegada$Media

cat("   - Forma: Normal (simétrica) vs Exponencial (sesgada a la derecha)\n")
##    - Forma: Normal (simétrica) vs Exponencial (sesgada a la derecha)
cat("   - Coeficiente de variación: Normal =", round(cv_atencion, 2), 
    ", Exponencial =", round(cv_llegada, 2), "\n")
##    - Coeficiente de variación: Normal = 0.31 , Exponencial = 0.58
amplitud_normal <- resumen_atencion$IC_Superior - resumen_atencion$IC_Inferior
amplitud_exponencial <- resumen_llegada$IC_Superior - resumen_llegada$IC_Inferior

cat("   - El intervalo de confianza de la Exponencial es",
    ifelse(amplitud_exponencial > amplitud_normal, "más amplio", "más estrecho"),
    "que el de la Normal.\n")
##    - El intervalo de confianza de la Exponencial es más estrecho que el de la Normal.
cat("   - Interpretación: Los tiempos de atención son más consistentes,\n")
##    - Interpretación: Los tiempos de atención son más consistentes,
cat("     mientras que los tiempos entre llegadas son más variables y menos predecibles.\n")
##      mientras que los tiempos entre llegadas son más variables y menos predecibles.