setwd("/cloud/project/Datos/")
datos<-read.csv("DISCRETAS.csv",
                header= TRUE, sep= ",", dec=".")
## AÑO DE INICIO DE PERFORACIÓN
# 1935-1950
años <- as.numeric(datos$SPUD_DATE_AÑO)
años <- años[!is.na(años) & años >= 1935 & años <= 1950]
TDF_años <- table(años)
Tabla_años <- as.data.frame(TDF_años)
hi <- Tabla_años$Freq / sum(Tabla_años$Freq)
hi_porc <- round(hi * 100, 2)
Ni_asc <- cumsum(Tabla_años$Freq)
Ni_dsc <- rev(cumsum(rev(Tabla_años$Freq)))
Hi_asc <- cumsum(hi_porc)
Hi_dsc <- rev(cumsum(rev(hi_porc)))

# Gráfico de barras
barplot(Tabla_años$Freq, 
        names.arg = Tabla_años$años,
        main = "Gráfico No.8: Distribución por Años (1935–1950)",
        xlab = "Año", ylab = "Frecuencia",
        col = "salmon",
        las = 2,
        cex.names = 0.8,
        ylim = c(0, max(Tabla_años$Freq) + 100))

k <- nrow(Tabla_años)
Fo <- Tabla_años$Freq
p_uniforme <- rep(1/k, k)
Fe <- rep(sum(Fo)/k, k)
tabla_uniforme <- data.frame(
  Año = Tabla_años$años,
  Observado = Fo,
  Esperado = Fe
)
print(tabla_uniforme)
##     Año Observado Esperado
## 1  1935       380 350.1875
## 2  1936       322 350.1875
## 3  1937       282 350.1875
## 4  1938       284 350.1875
## 5  1939       360 350.1875
## 6  1940       330 350.1875
## 7  1941       427 350.1875
## 8  1942       330 350.1875
## 9  1943       286 350.1875
## 10 1944       339 350.1875
## 11 1945       317 350.1875
## 12 1946       421 350.1875
## 13 1947       375 350.1875
## 14 1948       399 350.1875
## 15 1949       371 350.1875
## 16 1950       380 350.1875
# Gráfico comparativo
barplot(rbind(Fo, Fe),
        beside = TRUE,
        names.arg = Tabla_años$años,
        col = c("salmon", "orange"),
        main = "Gráfico No.9: 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.6,
       inset = c(-0.1, 0)) 

# Correlación observadas vs esperadas
cor_uniforme <- cor(Fo, Fe)
## Warning in cor(Fo, Fe): the standard deviation is zero
# Test
#Cálculo del estadístico chi-cuadrado
x2<-sum((Fo-Fe)^2/Fe)
x2
## [1] 91.96912
#Mostrar el valor de chi-cuadrado
cat("X2=",x2,"\n")
## X2= 91.96912
## AÑO DE PROFUNDIDAD ALCANZADA
# 1956-1965
años1 <- as.numeric(datos$TOTAL_DEPTH_REACHED_DATE_AÑO)
años1 <- años1[!is.na(años1) & años1 >= 1956 & años1 <= 1965]
TDF_años1 <- table(años1)
Tabla_años1 <- as.data.frame(TDF_años1)
hi <- Tabla_años1$Freq / sum(Tabla_años1$Freq)
hi_porc <- round(hi * 100, 2)
Ni_asc <- cumsum(Tabla_años1$Freq)
Ni_dsc <- rev(cumsum(rev(Tabla_años1$Freq)))
Hi_asc <- cumsum(hi_porc)
Hi_dsc <- rev(cumsum(rev(hi_porc)))

# Gráfico de barras
barplot(Tabla_años1$Freq, 
        names.arg = Tabla_años1$años1,
        main = "Gráfico No.8: Distribución por Años (1951-1965)",
        xlab = "Año", ylab = "Frecuencia",
        col = "skyblue",
        las = 2,
        cex.names = 0.8,
        ylim = c(0, max(Tabla_años1$Freq) + 100))

# Modelo Geometrico
# Transformar años en conteo (1984 = 1, ..., 1994 = 11)
conteo_geom <- as.numeric(as.character(Tabla_años1$años1))-1955
frecuencia_obs <- Tabla_años1$Freq
# Estimar parámetro p
media_x <- mean(rep(conteo_geom, frecuencia_obs))
p_hat <- 1 / media_x
cat("Parámetro estimado p =", round(p_hat, 4), "\n")
## Parámetro estimado p = 0.2089
# Probabilidades teóricas y frecuencias esperadas
probs_geom <- dgeom(conteo_geom - 1, prob = p_hat)
frecuencia_esp <- round(sum(frecuencia_obs) * probs_geom)
tabla_geom <- data.frame(
  Año = Tabla_años1$años1,
  X = conteo_geom,
 `ni (obs)`= frecuencia_obs,
 `ni (esp)`= frecuencia_esp,
 `P(x)`= round(probs_geom, 4))
tabla_geom
##     Año  X ni..obs. ni..esp.   P.x.
## 1  1956  1      458      663 0.2089
## 2  1957  2      450      525 0.1653
## 3  1958  3      367      415 0.1307
## 4  1959  4      333      328 0.1034
## 5  1960  5      335      260 0.0818
## 6  1961  6      294      206 0.0647
## 7  1962  7      234      163 0.0512
## 8  1963  8      224      129 0.0405
## 9  1964  9      262      102 0.0320
## 10 1965 10      218       80 0.0254
# Gráfico comparativo observados vs esperados
barplot(rbind(frecuencia_obs, frecuencia_esp),
        beside = TRUE,
        names.arg = Tabla_años1$años1,
        col = c("skyblue", "orange"),
        main = "Gráfico No.3: Modelo Geométrico (1956–1965)",
        xlab = "Año", ylab = "Frecuencia",
        las = 2,
        cex.names = 0.8)
legend("topright", 
       legend = c("Real", "Modelo"),
       fill = c("skyblue", "orange"), 
       bty = "n",
       cex = 0.6,
       inset = c(-0.1, 0)) 

# Correlación observadas vs esperadas
cor_geome <- cor(frecuencia_obs, frecuencia_esp)

# Test
#Cálculo del estadístico chi-cuadrado
x2<-sum((frecuencia_obs-frecuencia_esp)^2/frecuencia_esp)

#Mostrar el valor de chi-cuadrado
cat("X2=",x2,"\n")
## X2= 728.8733
k <- length(frecuencia_obs)
Vc<-qchisq(0.95,k-1)

#Mostrar el valor crítico
cat("Valor crítico =", Vc, "\n")
## Valor crítico = 16.91898
## AÑO DE INICIO DE PERFORACIÓN
# 1981-2000
años3 <- as.numeric(datos$SPUD_DATE_AÑO)
años3 <- años3[!is.na(años3) & años3 >= 1986 & años3 <= 2000]
TDF_años3 <- table(años3)
Tabla_años3 <- as.data.frame(TDF_años3)
hi <- Tabla_años3$Freq / sum(Tabla_años3$Freq)
hi_porc <- round(hi * 100, 2)
Ni_asc <- cumsum(Tabla_años3$Freq)
Ni_dsc <- rev(cumsum(rev(Tabla_años3$Freq)))
Hi_asc <- cumsum(hi_porc)
Hi_dsc <- rev(cumsum(rev(hi_porc)))

# Gráfico de barras
barplot(Tabla_años3$Freq, 
        names.arg = Tabla_años3$años3,
        main = "Gráfico No.8: Distribución por Años (1981-2000)",
        xlab = "Año", ylab = "Frecuencia",
        col = "coral3",
        las = 2,
        cex.names = 0.8,
        ylim = c(0, max(Tabla_años3$Freq) + 100))

k3 <- nrow(Tabla_años3)
Fo3 <- Tabla_años3$Freq
p_uniforme3 <- rep(1/k3, k3)
Fe3 <- rep(sum(Fo3)/k3, k3)
tabla_uniforme3 <- data.frame(
  Año = Tabla_años3$años3,
  Observado = Fo3,
  Esperado = Fe3
)
print(tabla_uniforme3)
##     Año Observado Esperado
## 1  1986       134 107.5333
## 2  1987       111 107.5333
## 3  1988       192 107.5333
## 4  1989       104 107.5333
## 5  1990       122 107.5333
## 6  1991       116 107.5333
## 7  1992        84 107.5333
## 8  1993       122 107.5333
## 9  1994       101 107.5333
## 10 1995        92 107.5333
## 11 1996        61 107.5333
## 12 1997        78 107.5333
## 13 1998       106 107.5333
## 14 1999        76 107.5333
## 15 2000       114 107.5333
# Gráfico comparativo
barplot(rbind(Fo3, Fe3),
        beside = TRUE,
        names.arg = Tabla_años3$años3,
        col = c("coral3", "pink4"),
        main = "Gráfico: Modelo Uniforme (1981-2000)",
        xlab = "Año", ylab = "Frecuencia",
        las = 2,
        cex.names = 0.8)
legend("topright", 
       legend = c("Real", "Modelo"),
       fill = c("coral3", "pink4"),
       bty = "n", 
       cex = 0.6,
       inset = c(-0.1, 0)) 

# Correlación observadas vs esperadas
cor_uniforme <- cor(Fo3, Fe3)
## Warning in cor(Fo3, Fe3): the standard deviation is zero
# Test
#Cálculo del estadístico chi-cuadrado
x2<-sum((Fo3-Fe3)^2/Fe3)
x2
## [1] 123.3453
#Mostrar el valor de chi-cuadrado
cat("X2=",x2,"\n")
## X2= 123.3453
k <- length(Fo3)
Vc<-qchisq(0.95,k-1)

#Mostrar el valor crítico
cat("Valor crítico =", Vc, "\n")
## Valor crítico = 23.68479
## AÑO DE PROFUNDIDAD ALCANZADA
# 1935-1950
años <- as.numeric(datos$TOTAL_DEPTH_REACHED_DATE_AÑO)
años <- años[!is.na(años) & años >= 1935 & años <= 1950]
TDF_años <- table(años)
Tabla_años <- as.data.frame(TDF_años)
hi <- Tabla_años$Freq / sum(Tabla_años$Freq)
hi_porc <- round(hi * 100, 2)
Ni_asc <- cumsum(Tabla_años$Freq)
Ni_dsc <- rev(cumsum(rev(Tabla_años$Freq)))
Hi_asc <- cumsum(hi_porc)
Hi_dsc <- rev(cumsum(rev(hi_porc)))

# Gráfico de barras
barplot(Tabla_años$Freq, 
        names.arg = Tabla_años$años,
        main = "Gráfico No.8: Distribución por Años (1935–1950)",
        xlab = "Año", ylab = "Frecuencia",
        col = "salmon",
        las = 2,
        cex.names = 0.8,
        ylim = c(0, max(Tabla_años$Freq) + 100))

k <- nrow(Tabla_años)
Fo <- Tabla_años$Freq
p_uniforme <- rep(1/k, k)
Fe <- rep(sum(Fo)/k, k)
tabla_uniforme <- data.frame(
  Año = Tabla_años$años,
  Observado = Fo,
  Esperado = Fe
)
print(tabla_uniforme)
##     Año Observado Esperado
## 1  1935       382 350.1875
## 2  1936       321 350.1875
## 3  1937       291 350.1875
## 4  1938       273 350.1875
## 5  1939       361 350.1875
## 6  1940       343 350.1875
## 7  1941       418 350.1875
## 8  1942       337 350.1875
## 9  1943       274 350.1875
## 10 1944       344 350.1875
## 11 1945       305 350.1875
## 12 1946       421 350.1875
## 13 1947       369 350.1875
## 14 1948       420 350.1875
## 15 1949       368 350.1875
## 16 1950       376 350.1875
# Gráfico comparativo
barplot(rbind(Fo, Fe),
        beside = TRUE,
        names.arg = Tabla_años$años,
        col = c("salmon", "orange"),
        main = "Gráfico No.9: 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.6,
       inset = c(-0.1, 0)) 

# Correlación observadas vs esperadas
cor_uniforme <- cor(Fo, Fe)
## Warning in cor(Fo, Fe): the standard deviation is zero
# Test
#Cálculo del estadístico chi-cuadrado
x2<-sum((Fo-Fe)^2/Fe)

#Mostrar el valor de chi-cuadrado
cat("X2=",x2,"\n")
## X2= 101.0214
k <- length(Fo)
Vc<-qchisq(0.95,k-1)

#Mostrar el valor crítico
cat("Valor crítico =", Vc, "\n")
## Valor crítico = 24.99579
## AÑO DE PROFUNDIDAD ALCANZADA
# 1966-1980
años2 <- as.numeric(datos$TOTAL_DEPTH_REACHED_DATE_AÑO)
años2 <- años2[!is.na(años2) & años2 >= 1966 & años2 <= 1980]
TDF_años2 <- table(años2)
Tabla_años2 <- as.data.frame(TDF_años2)
hi <- Tabla_años2$Freq / sum(Tabla_años2$Freq)
hi_porc <- round(hi * 100, 2)
Ni_asc <- cumsum(Tabla_años2$Freq)
Ni_dsc <- rev(cumsum(rev(Tabla_años2$Freq)))
Hi_asc <- cumsum(hi_porc)
Hi_dsc <- rev(cumsum(rev(hi_porc)))

# Gráfico de barras
barplot(Tabla_años2$Freq, 
        names.arg = Tabla_años2$años2,
        main = "Gráfico No.8: Distribución por Años (1966-1980)",
        xlab = "Año", ylab = "Frecuencia",
        col = "skyblue",
        las = 2,
        cex.names = 0.8,
        ylim = c(0, max(Tabla_años2$Freq) + 100))

k2 <- nrow(Tabla_años2)
Fo2 <- Tabla_años2$Freq
p_uniforme2 <- rep(1/k2, k2)
Fe2 <- rep(sum(Fo2)/k2, k2)
tabla_uniforme2 <- data.frame(
  Año = Tabla_años2$años2,
  Observado = Fo2,
  Esperado = Fe2
)
print(tabla_uniforme2)
##     Año Observado Esperado
## 1  1966       159 365.3333
## 2  1967       158 365.3333
## 3  1968       215 365.3333
## 4  1969       263 365.3333
## 5  1970      2718 365.3333
## 6  1971       168 365.3333
## 7  1972       198 365.3333
## 8  1973       132 365.3333
## 9  1974       180 365.3333
## 10 1975       165 365.3333
## 11 1976       158 365.3333
## 12 1977       251 365.3333
## 13 1978       189 365.3333
## 14 1979       245 365.3333
## 15 1980       281 365.3333
# Gráfico comparativo
barplot(rbind(Fo2, Fe2),
        beside = TRUE,
        names.arg = Tabla_años2$años2,
        col = c("skyblue", "darkgreen"),
        main = "Gráfico: Modelo Uniforme (1966-1980)",
        xlab = "Año", ylab = "Frecuencia",
        las = 2,
        cex.names = 0.8)
legend("topright", 
       legend = c("Real", "Modelo"),
       fill = c("skyblue", "darkgreen"),
       bty = "n", 
       cex = 0.6,
       inset = c(-0.1, 0)) 

# Correlación observadas vs esperadas
cor_uniforme <- cor(Fo2, Fe2)
## Warning in cor(Fo2, Fe2): the standard deviation is zero
# Test
#Cálculo del estadístico chi-cuadrado
x2<-sum((Fo2-Fe2)^2/Fe2)

#Mostrar el valor de chi-cuadrado
cat("X2=",x2,"\n")
## X2= 16309.18
k <- length(Fo2)
Vc<-qchisq(0.95,k-1)

#Mostrar el valor crítico
cat("Valor crítico =", Vc, "\n")
## Valor crítico = 23.68479
## AÑO DE PROFUNDIDAD ALCANZADA
# 1981-2000
años3 <- as.numeric(datos$SPUD_DATE_AÑO)
años3 <- años3[!is.na(años3) & años3 >= 1981 & años3 <= 2000]
TDF_años3 <- table(años3)
Tabla_años3 <- as.data.frame(TDF_años3)
hi <- Tabla_años3$Freq / sum(Tabla_años3$Freq)
hi_porc <- round(hi * 100, 2)
Ni_asc <- cumsum(Tabla_años3$Freq)
Ni_dsc <- rev(cumsum(rev(Tabla_años3$Freq)))
Hi_asc <- cumsum(hi_porc)
Hi_dsc <- rev(cumsum(rev(hi_porc)))

# Gráfico de barras
barplot(Tabla_años3$Freq, 
        names.arg = Tabla_años3$años3,
        main = "Gráfico No.8: Distribución por Años (1981-2000)",
        xlab = "Año", ylab = "Frecuencia",
        col = "coral3",
        las = 2,
        cex.names = 0.8,
        ylim = c(0, max(Tabla_años3$Freq) + 100))

k3 <- nrow(Tabla_años3)
Fo3 <- Tabla_años3$Freq
p_uniforme3 <- rep(1/k3, k3)
Fe3 <- rep(sum(Fo3)/k3, k3)
tabla_uniforme3 <- data.frame(
  Año = Tabla_años3$años3,
  Observado = Fo3,
  Esperado = Fe3
)
print(tabla_uniforme3)
##     Año Observado Esperado
## 1  1981       204   142.85
## 2  1982       262   142.85
## 3  1983       257   142.85
## 4  1984       240   142.85
## 5  1985       281   142.85
## 6  1986       134   142.85
## 7  1987       111   142.85
## 8  1988       192   142.85
## 9  1989       104   142.85
## 10 1990       122   142.85
## 11 1991       116   142.85
## 12 1992        84   142.85
## 13 1993       122   142.85
## 14 1994       101   142.85
## 15 1995        92   142.85
## 16 1996        61   142.85
## 17 1997        78   142.85
## 18 1998       106   142.85
## 19 1999        76   142.85
## 20 2000       114   142.85
# Gráfico comparativo
barplot(rbind(Fo3, Fe3),
        beside = TRUE,
        names.arg = Tabla_años3$años3,
        col = c("coral3", "pink4"),
        main = "Gráfico: Modelo Uniforme (1981-2000)",
        xlab = "Año", ylab = "Frecuencia",
        las = 2,
        cex.names = 0.8)
legend("topright", 
       legend = c("Real", "Modelo"),
       fill = c("coral3", "pink4"),
       bty = "n", 
       cex = 0.6,
       inset = c(-0.1, 0)) 

# Correlación observadas vs esperadas
cor_uniforme <- cor(Fo3, Fe3)
## Warning in cor(Fo3, Fe3): the standard deviation is zero
# Test
#Cálculo del estadístico chi-cuadrado
x2<-sum((Fo3-Fe3)^2/Fe3)

#Mostrar el valor de chi-cuadrado
cat("X2=",x2,"\n")
## X2= 640.2699
k <- length(Fo3)
Vc<-qchisq(0.95,k-1)

#Mostrar el valor crítico
cat("Valor crítico =", Vc, "\n")
## Valor crítico = 30.14353