#UNIVRSIDAD CENTRAL DEL ECUADOR 
#Tema:Estadística Inferencial-Variable Continuas
#AUTOR:Grupo 6

#CARGA DE DATOS 
setwd("/cloud/project")
datos <- read.csv("DATOS.csv", header = TRUE, sep = ";" , dec = ".")
str(datos)
## 'data.frame':    10190 obs. of  17 variables:
##  $ Distrito_edit                        : chr  "1" "1" "1" "1" ...
##  $ Year_edit_Fecha_del_derrame          : int  2013 2013 2013 2013 2013 2013 2013 2013 2013 2013 ...
##  $ Mes_edit_Fecha_del_derrame           : int  6 3 4 4 6 6 3 9 10 6 ...
##  $ Categoria_Instalaciones              : chr  "Instalacion fija" "Pozos" "Pozos" "Pozos" ...
##  $ Operacion_general                    : chr  "Produccion" "Otro" "Produccion" "Produccion" ...
##  $ Categoria_Fuente                     : chr  NA "Tanques/Almacenamiento" "Lineas/Tuberias" "Infraestructura Fija" ...
##  $ Grupo_causas_probable                : chr  NA "Afectaciones externas" "Factores humanos" "Problemas tecnicos" ...
##  $ Liberacion_petroleo_crudo_edicion    : num  0 0 0 0 0 ...
##  $ Edicion_recuperacion_petroleo_crudo  : num  NA 0 0 0 0 0 0 0 0 NA ...
##  $ Volumen_liberado_Cond_Final          : num  0 0 0 10 0 0 0 1 0 0 ...
##  $ Liberacion_agua_de_produccion_edicion: num  6720 3780 5040 420 10920 ...
##  $ Liberacion_volumen_gas               : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Volumen_condensado_recuperado        : num  NA 0 0 1 0 0 0 0 0 NA ...
##  $ Edicion_Recuperacion_agua_producida  : num  NA 420 4620 0 10920 ...
##  $ Derrame_sobre_agua_limpio            : chr  "NO" "NO" "NO" "NO" ...
##  $ Estado_general                       : chr  "Observaciones tecnicas" NA NA NA ...
##  $ Codigo_area                          : int  1 1 1 1 1 1 1 1 1 3 ...
#VARIABLE CONTINUA 1:LIBERACION DE PETRÓLEO CRUDO--------------------------------
# Limpieza de datos
Liberacion_petroleo_crudo_edicion <- datos$Liberacion_petroleo_crudo_edicion
Liberacion_petroleo_crudo_edicion <- as.numeric(Liberacion_petroleo_crudo_edicion)
Liberacion_petroleo_crudo_edicion <- Liberacion_petroleo_crudo_edicion[!is.na(Liberacion_petroleo_crudo_edicion) & Liberacion_petroleo_crudo_edicion > 0]

# Crear histograma con un número específico de intervalos (breaks)
hist(Liberacion_petroleo_crudo_edicion, 
     main = "Histograma de Liberacion_petroleo_crudo_edicion",
     xlab = "Liberacion_petroleo_crudo_edicion", 
     ylab = "Frecuencia",
     breaks = 10,  # Ajusta el número de intervalos según el rango de los datos
     col = "cyan4", 
     xaxt = "n")  # Desactiva los ejes X automáticos

# Personalizar las etiquetas del eje X
axis(1, at = seq(0, max(Liberacion_petroleo_crudo_edicion), by = 50000), 
     labels = format(seq(0, max(Liberacion_petroleo_crudo_edicion), by = 50000), scientific = FALSE))

# Cálculo de probabilidad 
# Asegúrate de que 'Liberacion_petroleo_crudo_edicion' esté limpia y lista
# Calcular la media de 'Liberacion_petroleo_crudo_edicion'
u <- mean(Liberacion_petroleo_crudo_edicion, na.rm = TRUE)  # Media de la muestra

# Calcular la desviación estándar de 'Liberacion_petroleo_crudo_edicion'
sigma <- sd(Liberacion_petroleo_crudo_edicion, na.rm = TRUE)  # Desviación estándar

# Definir los límites para la probabilidad 
lim_inf <- 200
lim_sup <- 400

probabilidad_normal <- pnorm(lim_sup, mean = u, sd = sigma) - pnorm(lim_inf, mean = u, sd = sigma)

probabilidad_normal * 100
## [1] 0.9823916
# Graficar el histograma con barras
HistogramaNormal <- hist(Liberacion_petroleo_crudo_edicion, freq = FALSE,
                         main = "Gráfica. Cálculo de Probabilidades (Normal)",
                         xlab = "Liberación de Petróleo Crudo",
                         ylab = "Densidad de probabilidad",
                         breaks = 10,  # Ajusta el número de intervalos según el rango de los datos
                         col = rgb(0.4, 0.7, 1, 0.5),  # Color semi-transparente
                         cex.lab = 1.5, 
                         axes = FALSE)  # Desactivamos los ejes automáticos

# Personalizar los ejes
axis(1, at = seq(0, max(Liberacion_petroleo_crudo_edicion), by = 10000),
     labels = format(seq(0, max(Liberacion_petroleo_crudo_edicion), by = 10000), scientific = FALSE))

eje_y <- axTicks(2)
axis(2,
     at = eje_y,
     labels = format(eje_y, scientific = FALSE),
     las = 1,  # Dirección de las etiquetas en el eje Y
     cex.axis = 0.5)  # Ajusta el tamaño de las etiquetas en el eje Y

# Calcular la media y desviación estándar de los datos
u <- mean(Liberacion_petroleo_crudo_edicion, na.rm = TRUE)
sigma <- sd(Liberacion_petroleo_crudo_edicion, na.rm = TRUE)

# Graficar la curva normal sobre el histograma
x_vals <- seq(min(Liberacion_petroleo_crudo_edicion), max(Liberacion_petroleo_crudo_edicion), length.out = 1000)
lines(x_vals, dnorm(x_vals, mean = u, sd = sigma), col = "red", lwd = 2)

# Sombrear el área bajo la curva normal entre los límites definidos (lim_inf y lim_sup)
x_sombreado <- seq(lim_inf, lim_sup, length.out = 1000)
y_sombreado <- dnorm(x_sombreado, mean = u, sd = sigma)

# Usar polygon para sombrear el área
polygon(c(x_sombreado, rev(x_sombreado)), 
        c(y_sombreado, rep(0, length(y_sombreado))), 
        col = "BLUE")  # Área sombreada con color rojo semi-transparente

n <- length(Liberacion_petroleo_crudo_edicion)

# Error estándar de la media (SE = sigma / sqrt(n))
error <- sigma / sqrt(n)

# Intervalo de confianza al 95%: media ± 2 * error estándar
li <- u - 2 * error  # Límite inferior
ls <- u + 2 * error  # Límite superior

# Mostrar los valores
cat("Media muestral (u):", u, "\n")
## Media muestral (u): 1706.834
cat("Desviación estándar (sigma):", sigma, "\n")
## Desviación estándar (sigma): 7996.945
cat("Error estándar de la media:", error, "\n")
## Error estándar de la media: 104.1643
cat("Límite inferior del intervalo de confianza:", li, "\n")
## Límite inferior del intervalo de confianza: 1498.505
cat("Límite superior del intervalo de confianza:", ls, "\n")
## Límite superior del intervalo de confianza: 1915.162