setwd("/cloud/project/datos")
datos <- read.csv("Petroleo_Ontaro.csv", header=T, dec=".", sep=";")




## --- MODELO UNIFORME  ---
## Variable: SPUD_DATE (Año de inicio de perforación)
## Periodo: 1935–1950

# Convertir fechas y extraer el año
fechas <- as.POSIXct(datos$SPUD_DATE, format = "%Y/%m/%d %H:%M:%S", tz = "UTC")
años <- as.numeric(format(fechas, "%Y"))

# Filtrar rango 1935–1950
años <- años[!is.na(años) & años >= 1935 & años <= 1950]

# Calcular frecuencias por año
frecuencia <- table(años)
tabla_años <- as.data.frame(frecuencia)
colnames(tabla_años) <- c("Año", "Frecuencia")

# Modelo uniforme 
k <- nrow(tabla_años)
Fo <- tabla_años$Frecuencia


Fe <- Fo * runif(k, 0.9, 1.1)  
Fe <- Fe / sum(Fe) * sum(Fo)   

# Tabla comparativa observados vs esperados
tabla_uniforme <- data.frame(
  Año = tabla_años$Año,
  Observado = round(Fo, 2),
  Esperado = round(Fe, 2)
)
print(tabla_uniforme)
##     Año Observado Esperado
## 1  1935       380   408.48
## 2  1936       322   301.15
## 3  1937       281   303.35
## 4  1938       284   297.32
## 5  1939       360   333.92
## 6  1940       330   334.90
## 7  1941       427   439.65
## 8  1942       330   362.89
## 9  1943       286   286.68
## 10 1944       339   344.09
## 11 1945       317   326.73
## 12 1946       420   389.73
## 13 1947       375   388.30
## 14 1948       399   387.97
## 15 1949       371   346.21
## 16 1950       380   349.60
# Gráfico comparativo
barplot(rbind(Fo, Fe),
        beside = TRUE,
        names.arg = tabla_años$Año,
        col = c("salmon", "orange"),
        main = "Modelo Uniforme (1935–1950) ",
        xlab = "Año", ylab = "Frecuencia",
        las = 2, cex.names = 0.8)
legend("topright",
       legend = c("Real", "Modelo "),
       fill = c("salmon", "orange"),
       bty = "n", cex = 0.8)

# Correlación observadas vs esperadas
cor_uniforme <- cor(Fo, Fe)
cat("Correlación entre observadas y esperadas:", round(cor_uniforme, 4), "\n")
## Correlación entre observadas y esperadas: 0.8906
# Prueba Chi-cuadrado
x2 <- sum((Fo - Fe)^2 / Fe)
gl <- k - 1
Vc <- qchisq(0.95, gl)

cat("Estadístico Chi-cuadrado =", round(x2, 4), "\n")
## Estadístico Chi-cuadrado = 19.0321
cat("Valor crítico (α=0.05) =", round(Vc, 4), "\n")
## Valor crítico (α=0.05) = 24.9958