ANÁLISIS ESTADÍSTICO DE LONGITUD
1. CARGA DE DATOS Y LIBRERÍAS
library(knitr)
library(dplyr)
library(e1071)
library(gt)
# CARGA DE DATOS
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ",", sep = ";")
# LIMPIEZA DE VARIABLE
longitud <- as.numeric(datos$Longitude.of.well.pad)
longitud <- na.omit(longitud)
n <- length(longitud)
2. TABLA DE DISTRIBUCION CON STURGES
# STURGES
k <- floor(1 + 3.322 * log10(n))
minimo <- min(longitud)
maximo <- max(longitud)
R <- maximo - minimo
A <- R/k
# LIMITES
Li <- round(seq(minimo, maximo-A, by=A),2)
Ls <- round(seq(minimo+A, maximo, by=A),2)
MC <- round((Li+Ls)/2,2)
# FRECUENCIAS
ni <- numeric(length(Li))
for(i in 1:length(Li)){
ni[i] <- sum(longitud >= Li[i] & longitud < Ls[i])
}
ni[length(Li)] <- sum(longitud >= Li[length(Li)] & longitud <= maximo)
hi <- (ni/sum(ni))*100
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- round(cumsum(hi),2)
Hidsc <- round(rev(cumsum(rev(hi))),2)
# TABLA FINAL
TDFlongitud <- round(data.frame(Li, Ls, MC, ni, hi, Niasc, Nidsc, Hiasc, Hidsc),2)
fila_total <- data.frame(Li = "TOTAL", Ls = "", MC = "", ni = sum(TDFlongitud$ni),
hi = round(sum(TDFlongitud$hi),2), Niasc = "", Nidsc = "",
Hiasc = "", Hidsc = "")
TDFlongitud_p <- rbind(TDFlongitud, fila_total)
# TABLA GT
TDFlongitud_p %>%
gt() %>%
tab_header(title = md("*Tabla Nº:1*"), subtitle = md("Tabla de distribución de la longitud de los pozos (Sturges)")) %>%
tab_source_note(source_note = md("Autor: KATHERINE FERNANDA SINGO CARDENAS")) %>%
tab_options(table.border.top.color = "black", table.border.bottom.color = "black",
column_labels.border.bottom.width = px(2), row.striping.include_table_body = TRUE)
| Tabla Nº:1 |
| Tabla de distribución de la longitud de los pozos (Sturges) |
| Li |
Ls |
MC |
ni |
hi |
Niasc |
Nidsc |
Hiasc |
Hidsc |
| -108.4 |
-108.02 |
-108.21 |
1487 |
11.84 |
1487 |
12560 |
11.84 |
100 |
| -108.02 |
-107.64 |
-107.83 |
3058 |
24.35 |
4545 |
11073 |
36.19 |
88.16 |
| -107.64 |
-107.26 |
-107.45 |
3230 |
25.72 |
7775 |
8015 |
61.9 |
63.81 |
| -107.26 |
-106.88 |
-107.07 |
853 |
6.79 |
8628 |
4785 |
68.69 |
38.1 |
| -106.88 |
-106.5 |
-106.69 |
0 |
0.00 |
8628 |
3932 |
68.69 |
31.31 |
| -106.5 |
-106.12 |
-106.31 |
0 |
0.00 |
8628 |
3932 |
68.69 |
31.31 |
| -106.12 |
-105.74 |
-105.93 |
0 |
0.00 |
8628 |
3932 |
68.69 |
31.31 |
| -105.74 |
-105.36 |
-105.55 |
0 |
0.00 |
8628 |
3932 |
68.69 |
31.31 |
| -105.36 |
-104.97 |
-105.16 |
211 |
1.68 |
8839 |
3932 |
70.37 |
31.31 |
| -104.97 |
-104.59 |
-104.78 |
599 |
4.77 |
9438 |
3721 |
75.14 |
29.63 |
| -104.59 |
-104.21 |
-104.4 |
1197 |
9.53 |
10635 |
3122 |
84.67 |
24.86 |
| -104.21 |
-103.83 |
-104.02 |
822 |
6.54 |
11457 |
1925 |
91.22 |
15.33 |
| -103.83 |
-103.45 |
-103.64 |
352 |
2.80 |
11809 |
1103 |
94.02 |
8.78 |
| -103.45 |
-103.07 |
-103.26 |
751 |
5.98 |
12560 |
751 |
100 |
5.98 |
| TOTAL |
|
|
12560 |
100.00 |
|
|
|
|
| Autor: KATHERINE FERNANDA SINGO CARDENAS |
2. TABLA DE DISTRIBUCION AGRUPADA
histograma_longitud <- hist(longitud, plot = FALSE)
lis <- histograma_longitud$breaks[1:(length(histograma_longitud$breaks)-1)]
lss <- histograma_longitud$breaks[2:length(histograma_longitud$breaks)]
MC_f <- histograma_longitud$mids
ni_f <- histograma_longitud$counts
hi_f <- (ni_f/sum(ni_f))*100
Niasc_f <- cumsum(ni_f)
Nidsc_f <- rev(cumsum(rev(ni_f)))
Hiasc_f <- round(cumsum(hi_f), 2)
Hidsc_f <- round(rev(cumsum(rev(hi_f))), 2)
TDFlongitud_f <- round(data.frame(lis, lss, MC_f, ni_f, hi_f, Niasc_f, Nidsc_f, Hiasc_f, Hidsc_f),2)
fila_total_f <- data.frame(lis = "TOTAL", lss = "", MC_f = "", ni_f = sum(TDFlongitud_f$ni_f),
hi_f = round(sum(TDFlongitud_f$hi_f),2), Niasc_f = "",
Nidsc_f = "", Hiasc_f = "", Hidsc_f = "")
TDFlongitud_t <- rbind(TDFlongitud_f, fila_total_f)
TDFlongitud_t %>%
gt() %>%
tab_header(title = md("*Tabla Nº:2*"), subtitle = md("Tabla de distribución simplificada de la longitud")) %>%
tab_source_note(source_note = md("Autor: KATHERINE FERNANDA SINGO CARDENAS")) %>%
tab_options(table.border.top.color = "black", table.border.bottom.color = "black",
row.striping.include_table_body = TRUE)
| Tabla Nº:2 |
| Tabla de distribución simplificada de la longitud |
| lis |
lss |
MC_f |
ni_f |
hi_f |
Niasc_f |
Nidsc_f |
Hiasc_f |
Hidsc_f |
| -108.5 |
-108 |
-108.25 |
1630 |
12.98 |
1630 |
12561 |
12.98 |
100 |
| -108 |
-107.5 |
-107.75 |
4010 |
31.92 |
5640 |
10931 |
44.9 |
87.02 |
| -107.5 |
-107 |
-107.25 |
2972 |
23.66 |
8612 |
6921 |
68.56 |
55.1 |
| -107 |
-106.5 |
-106.75 |
17 |
0.14 |
8629 |
3949 |
68.7 |
31.44 |
| -106.5 |
-106 |
-106.25 |
0 |
0.00 |
8629 |
3932 |
68.7 |
31.3 |
| -106 |
-105.5 |
-105.75 |
0 |
0.00 |
8629 |
3932 |
68.7 |
31.3 |
| -105.5 |
-105 |
-105.25 |
171 |
1.36 |
8800 |
3932 |
70.06 |
31.3 |
| -105 |
-104.5 |
-104.75 |
804 |
6.40 |
9604 |
3761 |
76.46 |
29.94 |
| -104.5 |
-104 |
-104.25 |
1690 |
13.45 |
11294 |
2957 |
89.91 |
23.54 |
| -104 |
-103.5 |
-103.75 |
453 |
3.61 |
11747 |
1267 |
93.52 |
10.09 |
| -103.5 |
-103 |
-103.25 |
814 |
6.48 |
12561 |
814 |
100 |
6.48 |
| TOTAL |
|
|
12561 |
100.00 |
|
|
|
|
| Autor: KATHERINE FERNANDA SINGO CARDENAS |
3. GRAFICAS DE DISTRIBUCION
par(mar = c(6, 5, 4, 2) + 0.1)
colores <- gray.colors(length(ni_f), start = 0.3, end = 0.9)
color_abs <- "#76D7C4"
color_rel <- "#F1948A"
# Grafica 1: Histograma Cantidad
hist(longitud, col = "gray", xlab = "Longitud del pozo (Longitude of well pad)",
ylab = "Cantidad", main = "Gráfica Nº1: Distribución de la longitud de los pozos de gas natural")

# Grafica 2: Colores
hist(longitud, col = colores, xlab = "Longitud del pozo (Longitude of well pad)",
ylab = "Cantidad", main = "Gráfica Nº2: Distribución de la longitud de los pozos de gas natural")

# Grafica 3: Global ni
hist(longitud, col = colores, xlab = "Longitud del pozo (Longitude of well pad)",
ylab = "Cantidad", ylim = c(0, max(ni_f) + 5),
main = "Gráfica Nº3: Distribución de la longitud de los pozos de gas natural")

# Grafica 4: Local hi
breaks_long <- seq(from = floor(min(longitud)), to = ceiling(max(longitud)), by = 1)
etiquetas_x <- breaks_long[-1]
barplot(hi_f, names.arg = etiquetas_x[1:length(hi_f)], col = color_abs, ylim = c(0, max(hi_f) + 5),
space = 0, cex.names = 0.6, ylab = "Porcentaje (%)", xlab = "Longitude of well pad",
main = "Gráfica Nº4: Distribución porcentual de la longitud de los pozos")

# Grafica 5: Global hi
barplot(hi_f, names.arg = etiquetas_x[1:length(hi_f)], col = color_rel, ylim = c(0, 100),
space = 0, cex.names = 0.6, ylab = "Porcentaje (%)", xlab = "Longitud del pozo",
main = "Gráfica Nº5: Distribución porcentual de la longitud (Global)")

# Grafica 6: Boxplot
boxplot(longitud, horizontal = TRUE, col = colores, xlab = "Longitud del pozo",
main = "Gráfica Nº6: Distribución de la longitud de los pozos de gas natural")

# Grafica 7: Ojiva Ni
plot(lss, Nidsc_f, type="o", col="blue", pch=19, xlab="Longitud del pozo",
ylab="Cantidad acumulada", main="Gráfica Nº7: Ojiva combinada de la longitud (Ni)")
lines(lis, Niasc_f, col="black", type="b", pch=18)

# Grafica 8: Ojiva Hi
plot(lss, Hidsc_f, type="o", col="blue", pch=19, xlab="Longitud del pozo",
ylab="Porcentaje acumulado (%)", main="Gráfica Nº8: Ojiva combinada porcentual (Hi)")
lines(lis, Hiasc_f, col="black", type="b", pch=18)

4. INDICADORES ESTADISTICOS
ri <- min(longitud); rs <- max(longitud)
x <- mean(longitud); Me <- median(longitud)
desv <- sd(longitud); CV <- (desv / x) * 100
As <- skewness(longitud); K <- kurtosis(longitud)
TablaIndicadores <- data.frame("Longitud", ri, rs, round(x,2), Me, round(desv,2),
round(CV,2), round(As,2), round(K,2))
colnames(TablaIndicadores) <- c("Variable", "mínimo", "máximo", "x̄", "Me", "sd", "CV (%)", "As", "K")
kable(TablaIndicadores, format = "markdown",
caption = "Tabla N°3. Indicadores estadísticos de la variable longitud")
Tabla N°3. Indicadores estadísticos de la variable
longitud
| Longitud |
-108.4039 |
-103.0692 |
-106.57 |
-107.434 |
1.7 |
-1.59 |
0.84 |
-1.03 |
# PESTAÑA OUTLIERS (OPCIONAL SEGÚN TU ESTRUCTURA)
outliers <- boxplot.stats(longitud)$out
TablaOutliers <- data.frame(length(outliers))
colnames(TablaOutliers) <- c("Outliers")
kable(TablaOutliers, format = "markdown", caption = "Tabla N°4: Número de valores atípicos")
Tabla N°4: Número de valores atípicos
| 0 |
5. CONCLUSIÓN
## La variable longitud de los pozos presenta valores que fluctúan entre -108.4039 y -103.0692, con una media de -106.57 y una mediana de -107.43. La desviación estándar de 1.7 e indica una baja dispersión de los datos, lo que muestra que las longitudes se encuentran relativamente concentradas alrededor del promedio. Además, el coeficiente de asimetría de 0.84 evidencia una ligera asimetría positiva, mientras que la curtosis de -1.03 indica una distribución platicúrtica. En conjunto, estos resultados reflejan que la longitud de los pozos presenta una distribución relativamente homogénea, con una variabilidad espacial moderada dentro del área de estudio.