# Tema: Estadística Inferencial
# Autor: Grupo 1
# Fecha: 19/1/2026
# 1. Carga de datos
setwd("C:/Users/LENOVO/OneDrive/Escritorio/ESTADISTICA")
datos <- read.csv("china_water_pollution_data.csv")
# Convertir la fecha correctamente
datos$Date <- as.Date(datos$Date)
# Extraer mes en número
datos$Month <- format(datos$Date, "%m")
# 2. Definición de la variable de interés Mes
Mes <- datos$Month
# La variable mes es cuantitativa discreta, ya que toma valores enteros del 1 al 12, correspondientes a los meses del año. Su dominio es finito y no admite valores intermedios.
# 3. Tabla de frecuencias (Calculamos las Frecuencias Simple (absoluta (ni) y relativa (hi)))
Mes <- as.numeric(format(as.Date(datos$Date), "%m"))
TDF_mes <- data.frame(table(Mes))
colnames(TDF_mes) <- c("Mes", "ni")
N <- 3000
hi <- round((TDF_mes$ni / N) * 100, 2)
# Ajustar para que la suma sea EXACTAMENTE 100
hi[length(hi)] <- 100 - sum(hi[-length(hi)])
# Tabla final solo con ni y hi
Tabla_Final <- rbind(
data.frame(
Mes = TDF_mes$Mes,
ni = TDF_mes$ni,
"hi(%)" = hi,
check.names = FALSE
),
data.frame(
Mes = "TOTAL",
ni = N,
"hi(%)" = 100,
check.names = FALSE
)
)
Tabla_Final
## Mes ni hi(%)
## 1 1 241 8.03
## 2 2 226 7.53
## 3 3 266 8.87
## 4 4 232 7.73
## 5 5 253 8.43
## 6 6 261 8.70
## 7 7 310 10.33
## 8 8 246 8.20
## 9 9 231 7.70
## 10 10 258 8.60
## 11 11 225 7.50
## 12 12 251 8.38
## 13 TOTAL 3000 100.00
# 4. Diagrama de Barra con hi
barplot(
hi,
main = "Diagrama de barras de la frecuencia relativa (%) por mes",
xlab = "Mes",
ylab = "Frecuencia relativa (%)",
names.arg = TDF_mes$Mes,
las = 2,
col = "red"
)

# 5. Conjetura del modelo
#Debido a que las barras presentan alturas similares entre los diferentes meses, se conjetura que los datos siguen un comportamiento aproximadamente uniforme, motivo por el cual se seleccionó el modelo de distribución uniforme.
P <- rep(1/12, length(TDF_mes$Mes))
P
## [1] 0.08333333 0.08333333 0.08333333 0.08333333 0.08333333 0.08333333
## [7] 0.08333333 0.08333333 0.08333333 0.08333333 0.08333333 0.08333333
N <- sum(TDF_mes$ni)
FE <- P * N
FE
## [1] 250 250 250 250 250 250 250 250 250 250 250 250
# Probabilidades reales (hi) ya calculadas en %
hi_plot <- hi
# Probabilidades teóricas del modelo uniforme discreto (en %)
P_plot <- rep(100/12, 12)
# Valores de la variable Mes
mes_plot <- 1:12
# 6. Diagrama de barras comparadas
barplot(rbind(hi_plot, P_plot),
main = "Gráfica N°: Comparación entre el modelo de probabilidad
uniforme y la distribución real del mes",
xlab = "Mes",
ylab = "Probabilidad",
col = c("red", "blue"),
names.arg = mes_plot,
beside = TRUE)
legend("topright",
legend = c("Real", "Modelo uniforme"),
fill = c("red", "blue"),
cex = 0.7)

# 7. Test
FO <- TDF_mes$ni
FO
## [1] 241 226 266 232 253 261 310 246 231 258 225 251
k <- 12
N <- sum(FO)
FE <- rep(N / k, k)
FE
## [1] 250 250 250 250 250 250 250 250 250 250 250 250
chi_cuadrado <- sum((FO - FE)^2 / FE)
chi_cuadrado
## [1] 24.136
gl <- k - 1
gl
## [1] 11
test_uniforme <- chisq.test(FO, p = rep(1/12, 12))
test_uniforme
##
## Chi-squared test for given probabilities
##
## data: FO
## X-squared = 24.136, df = 11, p-value = 0.01217
X2 <- sum(((FO- FE)^2) / FE)
Vc <- qchisq(0.99999999, gl)
X2 < Vc
## [1] TRUE
# 8. Intervalos de confianza