El presente informe estadístico analiza la variable Inicio(fecha) de pozos petroleros de Brasil.
A continuación se presenta la tabla de frecuencias detallada.
Tabla_Base <- Datos %>%
group_by(Variable_Analisis) %>%
summarise(ni = n()) %>%
arrange(Variable_Analisis)
xi <- Tabla_Base$Variable_Analisis
ni <- Tabla_Base$ni
N <- sum(ni)
hi <- (ni / N) * 100
Ni_asc <- cumsum(ni)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_asc <- cumsum(hi)
Hi_desc <- rev(cumsum(rev(hi)))
TDF_Final <- data.frame(
Xi = as.character(xi), ni = as.character(ni), hi = as.character(round(hi, 2)),
Ni_asc = as.character(Ni_asc), Ni_desc = as.character(Ni_desc),
Hi_asc = as.character(round(Hi_asc, 2)), Hi_desc = as.character(round(Hi_desc, 2))
)
TDF_Final <- rbind(TDF_Final, c("TOTAL", sum(ni), round(sum(hi), 2), "-", "-", "-", "-"))
TDF_Final %>%
gt() %>%
tab_header(title = md("DISTRIBUCIÓN RESTRINGIDA (10 AÑOS)"), subtitle = paste(ANIO_INICIO, "-", ANIO_FIN)) %>%
tab_source_note(source_note = "Fuente: Datos ANP 2018") %>%
cols_label(
Xi = "Año",
ni = "Frec. Absoluta (ni)",
hi = "Frec. Relativa % (hi)",
Ni_asc = "Frec. Acum. Asc. (Ni)",
Ni_desc = "Frec. Acum. Desc. (Ni*)",
Hi_asc = "Frec. Rel. Acum. Asc. (Hi)",
Hi_desc = "Frec. Rel. Acum. Desc. (Hi)"
) %>%
cols_align(align = "center", columns = everything()) %>%
tab_options(table.border.top.color = "#2E4053") %>%
tab_style(style = list(cell_fill(color = "#1F618D"), cell_text(color = "white", weight = "bold")), locations = cells_title())| DISTRIBUCIÓN RESTRINGIDA (10 AÑOS) | ||||||
| 2009 - 2018 | ||||||
| Año | Frec. Absoluta (ni) | Frec. Relativa % (hi) | Frec. Acum. Asc. (Ni) | Frec. Acum. Desc. (Ni*) | Frec. Rel. Acum. Asc. (Hi) | Frec. Rel. Acum. Desc. (Hi) |
|---|---|---|---|---|---|---|
| 2009 | 868 | 15.6 | 868 | 5565 | 15.6 | 100 |
| 2010 | 815 | 14.65 | 1683 | 4697 | 30.24 | 84.4 |
| 2011 | 693 | 12.45 | 2376 | 3882 | 42.7 | 69.76 |
| 2012 | 819 | 14.72 | 3195 | 3189 | 57.41 | 57.3 |
| 2013 | 610 | 10.96 | 3805 | 2370 | 68.37 | 42.59 |
| 2014 | 593 | 10.66 | 4398 | 1760 | 79.03 | 31.63 |
| 2015 | 665 | 11.95 | 5063 | 1167 | 90.98 | 20.97 |
| 2016 | 243 | 4.37 | 5306 | 502 | 95.35 | 9.02 |
| 2017 | 243 | 4.37 | 5549 | 259 | 99.71 | 4.65 |
| 2018 | 16 | 0.29 | 5565 | 16 | 100 | 0.29 |
| TOTAL | 5565 | 100 | - | - | - | - |
| Fuente: Datos ANP 2018 | ||||||
Representación visual de la actividad de perforacion en Brazil
# Frecuencias
col_barras <- "#154360"
col_texto <- "black"
par(mar = c(8, 5, 4, 2))
bar_pos <- barplot(ni, names.arg = xi,
main = "Gráfica No.1: Distribución de Inicio",
ylab = "Frecuencia Absoluta",
xlab = "Año",
col = col_barras,
border = "white",
ylim = c(0, 1200),
las=2)
grid(nx=NA, ny=NULL, col="gray", lty="dotted")# GRÁFICO
par(mar = c(8, 5, 4, 2))
bar_pos2 <- barplot(Ni_asc, names.arg = xi,
main = "Gráfica N°2: Distribución de Inicio",
ylab = "Total Pozos",
xlab = "Año",
col = "#154360",
border = "white",
ylim = c(0, max(Ni_asc) * 1.15),
las=2)
text(x = bar_pos2, y = Ni_asc, label = Ni_asc, pos = 3, cex = 0.8, col="white")
grid(nx=NA, ny=NULL, col="gray", lty="dotted")#grafico
par(mar = c(8, 5, 4, 2))
bar_pos3 <- barplot(hi, names.arg = xi,
main = "Gráfica N°3: Distribución Porcentual de Inicio",
ylab = "Porcentaje(%)",
xlab = "Año",
col = "#154360", border = "white",
ylim = c(0, 20),
las=2)
text(x = bar_pos3, y = hi, label = paste0(round(hi, 1), "%"), pos = 3, cex = 0.8)
grid(nx=NA, ny=NULL, col="gray", lty="dotted")#grafico
par(mar = c(8, 5, 4, 2))
bar_pos4 <- barplot(Hi_asc, names.arg = xi,
main = "Gráfica No.4: Distribución Porcentual de Inicio)",
ylab = "Porcentaje Total(%)",
xlab = "Año",
col = "#154360",
border = "white",
ylim = c(0, 110), las=2)
text(x = bar_pos4, y = Hi_asc, label = paste0(round(Hi_asc, 2), "%"), pos = 3, cex = 0.6)par(mar = c(5, 5, 4, 2))
boxplot(as.numeric(Fechas_Completas),
horizontal = TRUE,
col = "#F1C40F",
main = "Gráfica No.5: Diagrama de Caja de Inicio (Boxplot)",
frame.plot = FALSE,
xaxt = "n",
xlab = "Año")
eje_fechas <- seq(min(Fechas_Completas), max(Fechas_Completas), length.out = 5)
axis(1, at = as.numeric(eje_fechas), labels = format(eje_fechas, "%Y"), cex.axis=0.8)library(ggplot2)
library(dplyr)
Datos_Grafico <- Tabla_Base %>%
arrange(Variable_Analisis) %>%
mutate(
hi = (ni / sum(ni)) * 100,
Hi_asc = cumsum(hi),
Hi_desc = rev(cumsum(rev(hi)))
)
ggplot(Datos_Grafico, aes(x = Variable_Analisis)) +
geom_line(aes(y = Hi_asc, color = "Ascendente"), size = 1) +
geom_point(aes(y = Hi_asc, color = "Ascendente"), size = 3) +
geom_line(aes(y = Hi_desc, color = "Descendente"), size = 1) +
geom_point(aes(y = Hi_desc, color = "Descendente"), size = 3) +
scale_x_continuous(breaks = Datos_Grafico$Variable_Analisis) +
scale_y_continuous(limits = c(0, 110)) +
scale_color_manual(name = "Tipo de Ojiva",
values = c("Ascendente" = "#2E4053", "Descendente" = "#C0392B")) +
labs(
title = "Ojivas Ascendente y Descendente",
subtitle = "Distribución acumulada de inicios de pozos",
x = "Año",
y = "Frecuencia Acumulada (%)"
) +
theme_minimal() +
theme(legend.position = "right") x <- Datos$Variable_Analisis
#TABLA
media <- mean(x)
mediana <- median(x)
#moda
get_mode <- function(v) {
uni <- unique(v)
uni[which.max(tabulate(match(v, uni)))]
}
moda <- get_mode(x)
varianza <- var(x)
desv_std <- sd(x)
cv <- (desv_std / media) * 100
asimetria <- skewness(x)
curtosis <- kurtosis(x)
min_val <- min(x)
max_val <- max(x)
# valores atipicos
Q1 <- quantile(x, 0.25)
Q3 <- quantile(x, 0.75)
IQR_val <- Q3 - Q1
lim_inf <- Q1 - 1.5 * IQR_val
lim_sup <- Q3 + 1.5 * IQR_val
outliers_data <- x[x < lim_inf | x > lim_sup]
num_outliers <- length(outliers_data)
if(num_outliers > 0){
rango_outliers <- paste0(num_outliers, " [", min(outliers_data), "; ", max(outliers_data), "]")
} else {
rango_outliers <- "0 [Sin Outliers]"
}
#tabla
df_resumen <- data.frame(
Variable = "Año de Inicio",
Rango = paste0("[", min_val, "; ", max_val, "]"),
Media = round(media, 2),
Mediana = round(mediana, 2),
Moda = round(moda, 2),
Varianza = round(varianza, 2),
Desv_Est = round(desv_std, 2),
CV = round(cv, 2),
Asimetria = round(asimetria, 4),
Curtosis = round(curtosis, 2),
Outliers = rango_outliers
)
df_resumen %>%
gt() %>%
tab_header(
title = md("CONCLUSIONES Y ESTADÍSTICOS"),
subtitle = "Resumen de Indicadores de Inicio (Fecha)"
) %>%
cols_label(
Variable = "Variable",
Rango = "Rango [Min; Max]",
Media = "Media (x̄)",
Mediana = "Mediana (Me)",
Moda = "Moda (Mo)",
Varianza = "Varianza (S²)",
Desv_Est = "Desv. Est. (S)",
CV = "C.V. (%)",
Asimetria = "Asimetría (As)",
Curtosis = "Curtosis (K)",
Outliers = "Outliers [Intervalo]"
) %>%
tab_options(
table.border.top.color = "#2E4053",
heading.background.color = "white"
) %>%
tab_style(
style = list(
cell_fill(color = "#2E4053"),
cell_text(color = "white", weight = "bold")
),
locations = cells_column_labels()
) %>%
cols_align(align = "center", columns = everything())| CONCLUSIONES Y ESTADÍSTICOS | ||||||||||
| Resumen de Indicadores de Inicio (Fecha) | ||||||||||
| Variable | Rango [Min; Max] | Media (x̄) | Mediana (Me) | Moda (Mo) | Varianza (S²) | Desv. Est. (S) | C.V. (%) | Asimetría (As) | Curtosis (K) | Outliers [Intervalo] |
|---|---|---|---|---|---|---|---|---|---|---|
| Año de Inicio | [2009; 2018] | 2012.21 | 2012 | 2009 | 5.58 | 2.36 | 0.12 | 0.3111 | -0.94 | 0 [Sin Outliers] |
x <- Datos$Variable_Analisis
min_val <- min(x)
max_val <- max(x)
mediana <- median(x)
desv_std <- sd(x)
cv <- (desv_std / mean(x)) * 100
num_outliers <- length(boxplot.stats(x)$out)
tipo_homogeneidad <- if(cv < 10) "muy homogénea" else if(cv < 30) "homogénea" else "heterogénea"
cat(paste0(
"<h3>5.1 Análisis Descriptivo</h3>",
"<p style='text-align: justify;'>",
"La variable <b>Inicio</b> fluctúa entre <b>", min_val, "</b> y <b>", max_val, "</b>, ",
"con una tendencia central alrededor del año <b>", round(mediana, 0), "</b>. ",
"Presenta una desviación estándar de <b>", round(desv_std, 2), "</b> años, ",
"caracterizándose como una variable <b>", tipo_homogeneidad, "</b> (CV: ", round(cv, 2), "%). ",
"En cuanto a valores extremos, la distribución <b>no presenta valores atípicos (0 outliers)</b>, ",
"lo que sugiere un comportamiento <b>regular y estable</b> en la programación de perforaciones durante este periodo.",
"</p>"
))La variable Inicio fluctúa entre 2009 y 2018, con una tendencia central alrededor del año 2012. Presenta una desviación estándar de 2.36 años, caracterizándose como una variable muy homogénea (CV: 0.12%). En cuanto a valores extremos, la distribución no presenta valores atípicos (0 outliers), lo que sugiere un comportamiento regular y estable en la programación de perforaciones durante este periodo.