EXERCISE 1 (20 p)

  #Desviacion estandar muestral
dem_exe1 <- 0.09
  #Numero de la muestra
n_exe1 <- 17

TEOREMA DEL LIMITE CENTRAL

#Calculamos la desviacion poblacional y se compara con con el valor asumido por el entrenador: 𝜎= 0.1
dp_exe1 <- (dem_exe1*sqrt(n_exe1))
cat("La desviacion poblacional es:", round(dp_exe1, 4), "\n")
## La desviacion poblacional es: 0.3711
#desviacion poblacional asumida

dpa_exe1 <- 0.1

if (dp_exe1 == dpa_exe1) {
  cat("Es correcto asumir que el valor de la desviacion poblacional es 0.1")
} else {
  cat("No es correcto asumir que el valor de la desviacion poblacional es 0.1")
}
## No es correcto asumir que el valor de la desviacion poblacional es 0.1

EXERCISE 2 (20 p)

impureza <- c(2.94,3.00,2.90,2.75,3.00,2.95,2.90,2.75,2.95,2.82,2.81,3.05)

x <- mean(impureza)
cat("El promedio de las muestras es:", round(x, 4), "\n")
## El promedio de las muestras es: 2.9017
dem <- sd(impureza)
cat("La desviacion estandar muestral es:", round(dem, 4), "\n")
## La desviacion estandar muestral es: 0.0993
miu <- 2.95
nm <- 12

t_imp <- ((x-miu)/(dem/sqrt(nm)))
cat("El valor para t seria de:", round(t_imp, 4), "\n")
## El valor para t seria de: -1.6853
#Valores de t para un 95% de significancia

t_005_i <- qt(0.025, 11, lower.tail = TRUE) 
cat("El valor de t para una probabilidad del 0.05 en la cola izquierda con 11 grados de libertad es:", t_005_i,"\n")
## El valor de t para una probabilidad del 0.05 en la cola izquierda con 11 grados de libertad es: -2.200985
t_005_d <- qt(0.975, 11, lower.tail = TRUE)
cat("El valor de t para una probabilidad del 0.05 en la cola derecha con 11 grados de libertad es:", t_005_d,"\n")
## El valor de t para una probabilidad del 0.05 en la cola derecha con 11 grados de libertad es: 2.200985
#lim_superior_exe2 - t_005_d
#lim_inferior_exe2 - t_005_i

df <- nm - 1
t_005_i <- qt(0.025, df)
t_005_d <- qt(0.975, df)

# Generación del gráfico
x_vals <- seq(-4, 4, length=500)
y_vals <- dt(x_vals, df)

plot(x_vals, y_vals, type="l", lwd=2, col="blue", 
     xlab="Valores de t", ylab="Densidad de Probabilidad", 
     main="Distribución t de Student y Valor t calculado")

polygon(c(t_005_i, x_vals[x_vals > t_005_i & x_vals < t_005_d], t_005_d), 
        c(0, y_vals[x_vals > t_005_i & x_vals < t_005_d], 0), 
        col="skyblue", border=NA)

abline(v = t_imp, col="red", lty=2, lwd=2)
abline(v = t_005_i, col="green", lty=2, lwd=2)
abline(v = t_005_d, col="green", lty=2, lwd=2)

legend("topright", legend=c(paste("Valor t:", round(t_imp, 4)),
                            paste("Límite inferior:", round(t_005_i, 4)),
                            paste("Límite superior:", round(t_005_d, 4)),
                            "Región de aceptación"),
       col=c("red", "green", "green", "skyblue"), 
       lty=c(2, 2, 2, NA), lwd=c(2, 2, 2, NA), 
       fill=c(NA, NA, NA, "skyblue"))

if (t_imp >= t_005_i & t_imp <= t_005_d) {
  cat("No se debe multar a la empresa Primox, ya que se encuentra dentro de los limites permitidos de impurezas en la gasolina de 2.95%.")
} else {
  cat("Se debe multar a la empresa Primox, ya que no se encuentra dentro de los limites permitidos de impurezas en la gasolina de 2.95%.")
}
## No se debe multar a la empresa Primox, ya que se encuentra dentro de los limites permitidos de impurezas en la gasolina de 2.95%.

EXERCISE 3 (10 p)

µ = 100

𝜎² = 25

S = 1.5

n = ?

varp_exe3 <- 25
sig_exe3 <- 1.5

#n=((sqrt(𝜎²))²/(S)²)

n_exe3 <- ((sqrt(varp_exe3))^2)/((sig_exe3)^2)

cat("El tamaño que debe tener la muestra aleatoria si se
quiere la desviación estándar muestral sea de 1,5 es:", round(n_exe3, 2), "\n")
## El tamaño que debe tener la muestra aleatoria si se
## quiere la desviación estándar muestral sea de 1,5 es: 11.11

EXERCISE 4 (20 p)

sig_Aexe4 <- 16
sig_Bexe4 <- 16
n_exe4 <- 25
Xa_Xb <- 3.5
t_exe4 <- (Xa_Xb/sqrt((sig_Aexe4^2/n_exe4)+(sig_Bexe4^2/n_exe4)))
cat("El valor de t para la hipotesis de que µb = µa es:", round(t_exe4, 4), "\n")
## El valor de t para la hipotesis de que µb = µa es: 0.7734
#Valor critico para t
df <- n_exe4 - 1
#95% de significancia

#Lim. Superior
lim_superior_exe4 <- qt(0.025, df, lower.tail = FALSE)

#Lim. Inferior
lim_inferior_exe4 <- qt(0.025, df, lower.tail = TRUE)

# Valores críticos
lim_superiorgraf_exe4 <- qt(0.975, df)
lim_inferiorgraf_exe4 <- qt(0.025, df)

# Generación del gráfico
x <- seq(-4, 4, length=500)
y <- dt(x, df)

plot(x, y, type="l", lwd=2, col="blue", 
     xlab="Valores de t", ylab="Densidad de Probabilidad", 
     main="Distribucion t de Student y Valor t calculado")

polygon(c(lim_inferiorgraf_exe4, x[x > lim_inferiorgraf_exe4 & x < lim_superiorgraf_exe4], lim_superiorgraf_exe4), 
        c(0, y[x > lim_inferiorgraf_exe4 & x < lim_superiorgraf_exe4], 0), 
        col="skyblue", border=NA)

abline(v = t_exe4, col="red", lty=2, lwd=2)
abline(v = lim_superiorgraf_exe4, col="green", lty=2, lwd=2)
abline(v = lim_inferiorgraf_exe4, col="green", lty=2, lwd=2)

legend("topright", legend=c(paste("Valor t:", round(t_exe4, 4)),
                            paste("Limite superior:", round(lim_superiorgraf_exe4, 4)),
                            paste("Limite inferior:", round(lim_inferiorgraf_exe4, 4)),
                            "Region de aceptacion"),
       col=c("red", "green", "green", "skyblue"), 
       lty=c(2, 2, 2, NA), lwd=c(2, 2, 2, NA), 
       fill=c(NA, NA, NA, "skyblue"))

if (t_exe4 >= lim_inferior_exe4 & t_exe4 <= lim_superior_exe4) {
  cat("Se usaria el tubo de Tipo A, porque µb = µa")
} else {
  cat("Se usaria el tubo de Tipo B, porque µb > µa.")
}
## Se usaria el tubo de Tipo A, porque µb = µa

EXERCISE 5 (15 p)

datos_exe5 <- c(2216,2237,2249,2204,2225,2301,2281,2263,2381,2255,2275,2295)

#
xb_exe5 <- mean(datos_exe5)
  cat("La media muestral es:", xb_exe5, "\n")
## La media muestral es: 2265.167
dem_exe5 <- sd(datos_exe5)
  cat("La desviacion muestral es:", round(dem_exe5,4), "\n")
## La desviacion muestral es: 47.5525
miu_exe5 <- 2250
nm_exe5 <- 12

t_exe5 <- ((xb_exe5 - miu_exe5)/(dem_exe5/sqrt(nm_exe5)))
  cat("El estadistico de prueba t es:", round(t_exe5,4), "\n")
## El estadistico de prueba t es: 1.1049
#Calculamos el valor de t  para un nivel de significancia de un 5% y 11 grados de libertad

df_exe5 <- 11
p_exe5 <- 0.025

#Lim. Superior
lim_superior_exe5 <- qt(p_exe5, df_exe5, lower.tail = FALSE)

#Lim. Inferior
lim_inferior_exe5 <- qt(p_exe5, df_exe5, lower.tail = TRUE)

# Valores de t para la distribución
t_values_exe5 <- seq(-4, 4, length.out = 1000)

# Densidad de la distribución t
t_dist_exe5 <- dt(t_values_exe5, df_exe5)

# Límites de la región crítica
lim_superiorgraf_exe5 <- qt(0.975, df_exe5)
lim_inferiorgraf_exe5 <- qt(0.025, df_exe5)

# Crear el gráfico
plot(t_values_exe5, t_dist_exe5, type = "l", lwd = 2, col = "orange",
     xlab = "t", ylab = "Densidad de probabilidad",
     main = "Distribución t con 11 grados de libertad")

# Sombrear la región crítica
polygon(c(t_values_exe5[t_values_exe5 >= lim_superiorgraf_exe5], lim_superiorgraf_exe5), 
        c(t_dist_exe5[t_values_exe5 >= lim_superiorgraf_exe5], 0), 
        col = "red", border = NA)
polygon(c(t_values_exe5[t_values_exe5 <= lim_inferiorgraf_exe5], lim_inferiorgraf_exe5), 
        c(t_dist_exe5[t_values_exe5 <= lim_inferiorgraf_exe5], 0), 
        col = "red", border = NA)

# Añadir líneas verticales para los límites críticos
abline(v = lim_superiorgraf_exe5, col = "red", lty = 2, lwd = 2)
abline(v = lim_inferiorgraf_exe5, col = "red", lty = 2, lwd = 2)

# Añadir línea vertical para el valor de t calculado
abline(v = t_exe5, col = "blue", lty = 1, lwd = 2)

# Añadir leyendas
legend("topright", legend = c("Distribución t con 11 grados de libertad", 
                              "Región de rechazo", 
                              paste("Límite superior:", round(lim_superiorgraf_exe5, 2)), 
                              paste("Límite inferior:", round(lim_inferiorgraf_exe5, 2)), 
                              paste("Estadístico t calculado:", round(t_exe5, 2))),
       col = c("orange", "red", "red", "red", "blue"), 
       lty = c(1, NA, 2, 2, 1), lwd = c(2, 1, 2, 2, 2), fill = c(NA, "red", NA, NA, NA))

if (t_exe5 >= lim_inferior_exe5 & t_exe5 <= lim_superior_exe5) {
  cat("No se deberia aceptar el lote, ya que no se puede garantizar que la resistencia promedio del lote sea superior a 2250 con el nivel de confianza requerido")
} else {
  cat("Si se deberia aceptar el lote, ya que se obtendria una resistencia promedio superior a 2250 con el nivel de confianza requerido")
}
## No se deberia aceptar el lote, ya que no se puede garantizar que la resistencia promedio del lote sea superior a 2250 con el nivel de confianza requerido

EXERCISE 6 (15 p)

datos_exe6 <- c(101, 104, 104, 77, 89, 88, 104, 96, 82, 70, 89, 91, 39, 103, 93, 85, 104, 104, 81, 67, 104, 104, 104, 87, 104, 89,78, 104, 86, 76, 103, 102, 80, 45, 94, 104, 104, 76, 80, 72, 73)

var_exe6 <- var(datos_exe6)
  cat("La varianza de los datos recolectados es:", var_exe6, "\n")
## La varianza de los datos recolectados es: 255.7756
#Varianza del proceso de mantenimiento

vare_exe6 <- 180

#Se toma una decisión

if (var_exe6 == vare_exe6) {
  cat("Los calculos realizado dan como resultado un valor para confirmar que la varianza del proceso es igual a 180")
} else {
  cat("Los calculos realizado dan como resultado un valor para confirmar que la varianza del proceso no es igual a 180")
}
## Los calculos realizado dan como resultado un valor para confirmar que la varianza del proceso no es igual a 180

EXERCISE 6 (15 p)

sigp_exe6 <- 180
var_exe6 <- var(datos_exe6)
  cat("La varianza de los datos recolectados es:", var_exe6, "\n")
## La varianza de los datos recolectados es: 255.7756
nm_exe6 <- 41
df_exe6 <- nm_exe6 - 1

chi2_exe6 <- (df_exe6*var_exe6)/(sigp_exe6)
  cat("El estadistico de prueba X² es igual a:", chi2_exe6, "\n")
## El estadistico de prueba X² es igual a: 56.83902
#Valores criticos para un 95% de significancia y 40 grados de libertad
  
#Lim. Superior
lim_superior_exe6 <- qchisq(1 - 0.025, df_exe6)

#Lim. Inferior
lim_inferior_exe6 <- qchisq(0.025, df_exe6)

# Graficar la distribución Chi Cuadrado
curve(dchisq(x, df_exe6), from = 0, to = 80, 
      xlab = expression(chi^2), ylab = "Densidad de Probabilidad",
      main = expression(paste("Distribución ", chi^2, " con ", df_exe6, " grados de libertad")))

# Sombrear la región crítica inferior
polygon(c(0, seq(0, lim_inferior_exe6, length = 100), lim_inferior_exe6),
        c(0, dchisq(seq(0, lim_inferior_exe6, length = 100), df_exe6), 0), 
        col = "lightblue")

# Sombrear la región crítica superior
polygon(c(lim_superior_exe6, seq(lim_superior_exe6, 80, length = 100), 80),
        c(0, dchisq(seq(lim_superior_exe6, 80, length = 100), df_exe6), 0), 
        col = "lightblue")

# Añadir una línea vertical para el estadístico de prueba
abline(v = chi2_exe6, col = "red", lwd = 2)

# Añadir los valores críticos al gráfico
abline(v = lim_inferior_exe6, col = "blue", lty = 2)
abline(v = lim_superior_exe6, col = "blue", lty = 2)

# Agregar una leyenda
legend("topright", 
       legend = c("Estadístico X²", "Límite Crítico Inferior", "Límite Crítico Superior", "Área de Rechazo"), 
       col = c("red", "blue", "blue", "lightblue"), 
       lty = c(1, 2, 2, NA), 
       lwd = c(2, 2, 2, NA), 
       fill = c(NA, NA, NA, "lightblue"))

if (chi2_exe6 >= lim_inferior_exe6 & chi2_exe6 <= lim_superior_exe6) {
  cat("Los calculos realizado dan como resultado un valor para confirmar que la varianza del proceso es igual a 180")
} else {
  cat("Los calculos realizado dan como resultado un valor para confirmar que la varianza del proceso no es igual a 180")
}
## Los calculos realizado dan como resultado un valor para confirmar que la varianza del proceso es igual a 180

EXERCISE 7 (10 p)

# Parámetros del problema

nma_exe7 <- 12
nmb_exe7 <- 15
var_a_exe7 <- 8.2
var_b_exe7 <- 10.5

# Valor de F
F1_exe7 <- round(var_b_exe7/var_a_exe7, 4)
  cat("El valor del estadistico F es:", F1_exe7, "\n")
## El valor del estadistico F es: 1.2805
va_exe7 <- nma_exe7 - 1
vb_exe7 <- nmb_exe7 - 1

# F critico
Fc1_exe7 <- qf(0.05, vb_exe7, va_exe7, lower.tail = FALSE)
  cat("El valor del estadistico F critico es:", Fc1_exe7, "\n")
## El valor del estadistico F critico es: 2.738648
# Graficar la distribución F
curve(df(x, vb_exe7, va_exe7), from = 0, to = 5, 
      xlab = "F", ylab = "Densidad de Probabilidad",
      main = expression(paste("Distribución F con ", vb_exe7, " y ", va_exe7, " grados de libertad")))

# Sombrear la región crítica (Área de Rechazo)
polygon(c(Fc1_exe7, seq(Fc1_exe7, 5, length = 100), 5),
        c(0, df(seq(Fc1_exe7, 5, length = 100), vb_exe7, va_exe7), 0), 
        col = "lightblue")

# Añadir una línea vertical para el estadístico F
abline(v = F1_exe7, col = "red", lwd = 2)

# Añadir el valor crítico F al gráfico
abline(v = Fc1_exe7, col = "blue", lty = 2)

# Agregar una leyenda
legend("topright", 
       legend = c("Estadístico F", "Valor Crítico F", "Área de Rechazo"), 
       col = c("red", "blue", "lightblue"), 
       lty = c(1, 2, NA), 
       lwd = c(2, 2, NA), 
       fill = c(NA, NA, "lightblue"))

if (F1_exe7 <= Fc1_exe7) {
  cat("Son iguales las varianzas del proceso de las líneas de montaje")
} else {
  cat("No son iguales las varianzas del proceso de las líneas de montaje")
}
## Son iguales las varianzas del proceso de las líneas de montaje

EXERCISE 8 (10 p)

sigp_exe8 <- 2
var_exe8 <- 2.4
nm_exe8 <- 20
df_exe8 <- nm_exe8 - 1

chi2_exe8 <- (df_exe8*var_exe8)/(sigp_exe8)
  cat("El estadistico de prueba X² es igual a:", chi2_exe8, "\n")
## El estadistico de prueba X² es igual a: 22.8
#Valores criticos para una significancia de 0.05 y 19 grados de libertad
  
#Lim. Superior
lim_superior_exe8 <- qchisq(1 - 0.025, df_exe8)

#Lim. Inferior
lim_inferior_exe8 <- qchisq(0.025, df_exe8)

# Graficar la distribución Chi Cuadrado
curve(dchisq(x, df_exe8), from = 0, to = 40, 
      xlab = expression(chi^2), ylab = "Densidad de Probabilidad",
      main = expression(paste("Distribución ", chi^2, " con ", df_exe8, " grados de libertad")))

# Sombrear la región crítica inferior
polygon(c(0, seq(0, lim_inferior_exe8, length = 100), lim_inferior_exe8),
        c(0, dchisq(seq(0, lim_inferior_exe8, length = 100), df_exe8), 0), 
        col = "lightblue")

# Sombrear la región crítica superior
polygon(c(lim_superior_exe8, seq(lim_superior_exe8, 40, length = 100), 40),
        c(0, dchisq(seq(lim_superior_exe8, 40, length = 100), df_exe8), 0), 
        col = "lightblue")

# Añadir una línea vertical para el estadístico de prueba
abline(v = chi2_exe8, col = "red", lwd = 2)

# Añadir los valores críticos al gráfico
abline(v = lim_inferior_exe8, col = "blue", lty = 2)
abline(v = lim_superior_exe8, col = "blue", lty = 2)

# Agregar una leyenda
legend("topright", 
       legend = c("Estadístico X²", "Límite Crítico Inferior", "Límite Crítico Superior", "Área de Rechazo"), 
       col = c("red", "blue", "blue", "lightblue"), 
       lty = c(1, 2, 2, NA), 
       lwd = c(2, 2, 2, NA), 
       fill = c(NA, NA, NA, "lightblue"))

if (chi2_exe8 >= lim_inferior_exe8 & chi2_exe8 <= lim_superior_exe8) {
  cat("La varianza poblacional si puede ser igual a 2% con un nivel de significancia de 0.05")
} else {
  cat("La varianza poblacional no puede ser igual a 2% con un nivel de significancia de 0.05")
}
## La varianza poblacional si puede ser igual a 2% con un nivel de significancia de 0.05