library(readxl)
Produccio_n_Campo_Sacha_csv <- read_excel("Producción Campo Sacha.csv.xlsx")
View(Produccio_n_Campo_Sacha_csv)
str(Produccio_n_Campo_Sacha_csv)
## tibble [8,344 × 31] (S3: tbl_df/tbl/data.frame)
## $ mes : chr [1:8344] "Ene" "Ene" "Ene" "Ene" ...
## $ día : num [1:8344] 1 1 1 1 1 1 1 1 1 1 ...
## $ Pozo : chr [1:8344] "SACHA-001A" "SACHA-019A" "SACHA-052B" "SACHA-083A" ...
## $ Campo : chr [1:8344] "SACHA" "SACHA" "SACHA" "SACHA" ...
## $ Reservorio : chr [1:8344] "U" "U" "U INFERIOR" "HOLLIN INFERIOR" ...
## $ Bpd : num [1:8344] NA 53 249 139 186 136 NA 456 161 164 ...
## $ Bppd_BH : num [1:8344] 159 NA NA NA NA NA 155 NA NA NA ...
## $ Bfpd_BE : num [1:8344] NA 534 346 1158 1163 ...
## $ Bfpd_BH : num [1:8344] 695 NA NA NA NA NA 441 NA NA NA ...
## $ Bapd_BE : num [1:8344] NA 481 97 1019 977 ...
## $ Bapd_BH : num [1:8344] 536 NA NA NA NA NA 286 NA NA NA ...
## $ Bsw_BE : num [1:8344] NA 90.1 28 88 84 ...
## $ Bsw_BH : num [1:8344] 77.1 NA NA NA NA ...
## $ Api_BE : num [1:8344] NA 26.7 27.8 27.7 24 20.5 NA 28.5 29.9 26.3 ...
## $ Api_BH : num [1:8344] 27.8 NA NA NA NA NA 23.2 NA NA NA ...
## $ Gas_BE : num [1:8344] NA 10.76 50.55 1.11 27.9 ...
## $ Gas_BH : num [1:8344] 32.3 NA NA NA NA ...
## $ Salinidad_BE : num [1:8344] NA 15920 30227 1600 13000 ...
## $ Salinidad_BH : num [1:8344] 10800 NA NA NA NA NA 3800 NA NA NA ...
## $ Rgl_BE : num [1:8344] NA 20.15 146.1 0.96 23.99 ...
## $ Rgl_BH : num [1:8344] 46.5 NA NA NA NA ...
## $ Gor_BE : num [1:8344] NA 203.02 203.01 7.99 150 ...
## $ Gor_BH : num [1:8344] 203 NA NA NA NA ...
## $ Horas_BE : num [1:8344] NA 4 5 4 4 10 NA 4 10 10 ...
## $ Horas_BH : num [1:8344] 4 NA NA NA NA NA 4 NA NA NA ...
## $ Bomba_BE : chr [1:8344] NA "SF-320|SF-320|SF-900|SFGH2500/520/180/9259" "RC 1000|RC 1000|RC 1000/300/120/9250" "P23/68/30/7000" ...
## $ Bomba_BH : chr [1:8344] "JET 12K/0//0" NA NA NA ...
## $ Frecuencia Operaciones: num [1:8344] NA 65 62 46 59 52 NA 58.5 57 54 ...
## $ Voltaje : num [1:8344] NA 479 457 364 440 452 NA 475 455 439 ...
## $ Amperaje : num [1:8344] NA 29 35 14 59 30 NA 23 35 34 ...
## $ Presión Intake : num [1:8344] NA 484 406 0 345 162 NA 546 338 0 ...
# 1 Extraer la variable continua
amperaje <- Produccio_n_Campo_Sacha_csv$Amperaje
amperaje <- as.numeric(amperaje)
amperaje <- na.omit(amperaje)
k <- 1 + (3.3 * log10(length(amperaje)))
k <- floor(k)
min <- min(amperaje)
max <- max(amperaje)
R <- max - min
A <- R / k
# Líneas EXACTAS del ejemplo del enlace:
Li <- round(seq(from = min, to = max - A, by = A), 4)
Ls <- round(seq(from = min + A, to = max, by = A), 4)
MC <- round((Li + Ls) / 2, 2)
ni <- numeric(length(Li))
for (i in 1:length(Li)) {
ni[i] <- sum(amperaje >= Li[i] & amperaje < Ls[i])
}
ni[length(Li)] <- sum(amperaje >= Li[length(Li)] & amperaje <= max)
cat("Suma de ni =", sum(ni), "\n")
## Suma de ni = 7705
hi <- ni / sum(ni) * 100
cat("Suma de hi =", sum(hi), "\n")
## Suma de hi = 100
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- round(cumsum(hi))
Hidsc <- round(rev(cumsum(rev(hi))))
TDFAmperaje <- data.frame(Li, Ls, MC, ni, hi, Niasc, Nidsc, Hiasc, Hidsc)
library(gt)
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
tabla1_sturges <- TDFAmperaje %>%
gt() %>%
tab_header(
title = md("*Tabla 1: Distribución de Frecuencias*"),
subtitle = md("**Método Sturges - Variable: Amperaje**")
) %>%
tab_source_note(
source_note = md("Campo Sacha")
) %>%
cols_label(
Li = "L. Inferior",
Ls = "L. Superior",
MC = "Marca Clase",
ni = "Frec. Abs.",
hi = "Frec. Rel. %",
Niasc = "Ni Asc.",
Nidsc = "Ni Desc.",
Hiasc = "Hi Asc. %",
Hidsc = "Hi Desc. %"
) %>%
fmt_number(
columns = c(Li, Ls, MC),
decimals = 2
) %>%
fmt_number(
columns = c(hi),
decimals = 2,
pattern = "{x}%"
)
cat("\n=== TABLA 1: MÉTODO STURGES ===\n")
##
## === TABLA 1: MÉTODO STURGES ===
tabla1_sturges
| Tabla 1: Distribución de Frecuencias | ||||||||
| Método Sturges - Variable: Amperaje | ||||||||
| L. Inferior | L. Superior | Marca Clase | Frec. Abs. | Frec. Rel. % | Ni Asc. | Ni Desc. | Hi Asc. % | Hi Desc. % |
|---|---|---|---|---|---|---|---|---|
| 0.00 | 8.92 | 4.46 | 61 | 0.79% | 61 | 7705 | 1 | 100 |
| 8.92 | 17.85 | 13.38 | 498 | 6.46% | 559 | 7644 | 7 | 99 |
| 17.85 | 26.77 | 22.31 | 2476 | 32.13% | 3035 | 7146 | 39 | 93 |
| 26.77 | 35.69 | 31.23 | 2120 | 27.51% | 5155 | 4670 | 67 | 61 |
| 35.69 | 44.62 | 40.15 | 1019 | 13.23% | 6174 | 2550 | 80 | 33 |
| 44.62 | 53.54 | 49.08 | 721 | 9.36% | 6895 | 1531 | 89 | 20 |
| 53.54 | 62.46 | 58.00 | 532 | 6.90% | 7427 | 810 | 96 | 11 |
| 62.46 | 71.38 | 66.92 | 158 | 2.05% | 7585 | 278 | 98 | 4 |
| 71.38 | 80.31 | 75.85 | 92 | 1.19% | 7677 | 120 | 100 | 2 |
| 80.31 | 89.23 | 84.77 | 14 | 0.18% | 7691 | 28 | 100 | 0 |
| 89.23 | 98.15 | 93.69 | 0 | 0.00% | 7691 | 14 | 100 | 0 |
| 98.15 | 107.08 | 102.62 | 8 | 0.10% | 7699 | 14 | 100 | 0 |
| 107.08 | 116.00 | 111.54 | 6 | 0.08% | 7705 | 6 | 100 | 0 |
| Campo Sacha | ||||||||
total_ni <- sum(TDFAmperaje$ni)
total_hi <- 100
TDFAmperajeCompleto <- rbind(
TDFAmperaje,
data.frame(
Li = " Total",
Ls = " ",
MC = " ",
ni = total_ni,
hi = total_hi,
Niasc = " ",
Nidsc = " ",
Hiasc = " ",
Hidsc = " "
)
)
tabla2_con_total <- TDFAmperajeCompleto %>%
gt() %>%
tab_header(
title = md("*Tabla 2: Distribución Completa*"),
subtitle = md("**Variable: Amperaje - Con Total**")
) %>%
tab_source_note(
source_note = md("Fuente: Producción Campo Sacha")
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = Li == " Total")
) %>%
cols_label(
Li = "L. Inferior",
Ls = "L. Superior",
MC = "Marca Clase",
ni = "Frec. Abs.",
hi = "Frec. Rel. %",
Niasc = "Ni Asc.",
Nidsc = "Ni Desc.",
Hiasc = "Hi Asc. %",
Hidsc = "Hi Desc. %"
)
cat("\n=== TABLA 2: CON FILA DE TOTAL ===\n")
##
## === TABLA 2: CON FILA DE TOTAL ===
tabla2_con_total
| Tabla 2: Distribución Completa | ||||||||
| Variable: Amperaje - Con Total | ||||||||
| L. Inferior | L. Superior | Marca Clase | Frec. Abs. | Frec. Rel. % | Ni Asc. | Ni Desc. | Hi Asc. % | Hi Desc. % |
|---|---|---|---|---|---|---|---|---|
| 0 | 8.9231 | 4.46 | 61 | 0.79169371 | 61 | 7705 | 1 | 100 |
| 8.9231 | 17.8462 | 13.38 | 498 | 6.46333550 | 559 | 7644 | 7 | 99 |
| 17.8462 | 26.7692 | 22.31 | 2476 | 32.13497729 | 3035 | 7146 | 39 | 93 |
| 26.7692 | 35.6923 | 31.23 | 2120 | 27.51460091 | 5155 | 4670 | 67 | 61 |
| 35.6923 | 44.6154 | 40.15 | 1019 | 13.22517846 | 6174 | 2550 | 80 | 33 |
| 44.6154 | 53.5385 | 49.08 | 721 | 9.35756003 | 6895 | 1531 | 89 | 20 |
| 53.5385 | 62.4615 | 58 | 532 | 6.90460740 | 7427 | 810 | 96 | 11 |
| 62.4615 | 71.3846 | 66.92 | 158 | 2.05061648 | 7585 | 278 | 98 | 4 |
| 71.3846 | 80.3077 | 75.85 | 92 | 1.19402985 | 7677 | 120 | 100 | 2 |
| 80.3077 | 89.2308 | 84.77 | 14 | 0.18170019 | 7691 | 28 | 100 | 0 |
| 89.2308 | 98.1538 | 93.69 | 0 | 0.00000000 | 7691 | 14 | 100 | 0 |
| 98.1538 | 107.0769 | 102.62 | 8 | 0.10382868 | 7699 | 14 | 100 | 0 |
| 107.0769 | 116 | 111.54 | 6 | 0.07787151 | 7705 | 6 | 100 | 0 |
| Total | 7705 | 100.00000000 | ||||||
| Fuente: Producción Campo Sacha | ||||||||
histo_Amperaje <- hist(amperaje,
main = "Gráfica: Distribución del Amperaje\nCampo Sacha",
xlab = "Amperaje",
ylab = "Cantidad",
col = "lightblue",
border = "darkblue",
las = 1)
#### Creación de la tabla de distribución de frecuencia
Limites <- histo_Amperaje$breaks
LimInf <- Limites[1:(length(Limites)-1)]
LimSup <- Limites[2:length(Limites)]
Mc <- histo_Amperaje$mids
ni_R <- histo_Amperaje$counts
cat("\nSuma de ni (R automático) =", sum(ni_R), "\n")
##
## Suma de ni (R automático) = 7705
hi_R <- ni_R / sum(ni_R) * 100
cat("Suma de hi (R automático) =", sum(hi_R), "\n")
## Suma de hi (R automático) = 100
Ni_asc <- cumsum(ni_R)
Ni_dsc <- rev(cumsum(rev(ni_R)))
Hi_asc <- round(cumsum(hi_R), 2)
Hi_dsc <- round(rev(cumsum(rev(hi_R))), 2)
TDF_Amperaje_R <- data.frame(LimInf, LimSup, Mc, ni_R, hi_R,
Ni_asc, Ni_dsc, Hi_asc, Hi_dsc)
tabla3_R_auto <- TDF_Amperaje_R %>%
gt() %>%
tab_header(
title = md("*Tabla 3: Distribución - Intervalos R*"),
subtitle = md("**Método Automático de R - Variable: Amperaje**")
) %>%
tab_source_note(
source_note = md("Intervalos generados automáticamente por hist()")
) %>%
cols_label(
LimInf = "L. Inferior",
LimSup = "L. Superior",
Mc = "Marca Clase",
ni_R = "Frec. Abs.",
hi_R = "Frec. Rel. %",
Ni_asc = "Ni Asc.",
Ni_dsc = "Ni Desc.",
Hi_asc = "Hi Asc. %",
Hi_dsc = "Hi Desc. %"
) %>%
fmt_number(
columns = c(hi_R, Hi_asc, Hi_dsc),
decimals = 2,
pattern = "{x}%"
)
cat("\n=== TABLA 3: INTERVALOS AUTOMÁTICOS DE R ===\n")
##
## === TABLA 3: INTERVALOS AUTOMÁTICOS DE R ===
tabla3_R_auto
| Tabla 3: Distribución - Intervalos R | ||||||||
| Método Automático de R - Variable: Amperaje | ||||||||
| L. Inferior | L. Superior | Marca Clase | Frec. Abs. | Frec. Rel. % | Ni Asc. | Ni Desc. | Hi Asc. % | Hi Desc. % |
|---|---|---|---|---|---|---|---|---|
| 0 | 10 | 5 | 137 | 1.78% | 137 | 7705 | 1.78% | 100.00% |
| 10 | 20 | 15 | 975 | 12.65% | 1112 | 7568 | 14.43% | 98.22% |
| 20 | 30 | 25 | 3057 | 39.68% | 4169 | 6593 | 54.11% | 85.57% |
| 30 | 40 | 35 | 1732 | 22.48% | 5901 | 3536 | 76.59% | 45.89% |
| 40 | 50 | 45 | 776 | 10.07% | 6677 | 1804 | 86.66% | 23.41% |
| 50 | 60 | 55 | 629 | 8.16% | 7306 | 1028 | 94.82% | 13.34% |
| 60 | 70 | 65 | 272 | 3.53% | 7578 | 399 | 98.35% | 5.18% |
| 70 | 80 | 75 | 99 | 1.28% | 7677 | 127 | 99.64% | 1.65% |
| 80 | 90 | 85 | 14 | 0.18% | 7691 | 28 | 99.82% | 0.36% |
| 90 | 100 | 95 | 2 | 0.03% | 7693 | 14 | 99.84% | 0.18% |
| 100 | 110 | 105 | 11 | 0.14% | 7704 | 12 | 99.99% | 0.16% |
| 110 | 120 | 115 | 1 | 0.01% | 7705 | 1 | 100.00% | 0.01% |
| Intervalos generados automáticamente por hist() | ||||||||
total_ni_R <- sum(TDF_Amperaje_R$ni_R)
total_hi_R <- 100
# Crear tabla con Total
TDF_Amperaje_R_Completo <- rbind(
TDF_Amperaje_R,
data.frame(
LimInf = "Total",
LimSup = " ",
Mc = " ",
ni_R = total_ni_R,
hi_R = total_hi_R,
Ni_asc = " ",
Ni_dsc = " ",
Hi_asc = " ",
Hi_dsc = " "
)
)
# Usar gt (IGUAL que el ejemplo)
library(gt)
library(dplyr)
tabla_Amperaje_Final <- TDF_Amperaje_R_Completo %>%
gt() %>%
tab_header(
title = md("*Tabla de Distribución de Frecuencias*"),
subtitle = md("**Variable: Amperaje - Campo Sacha**")
)
# Mostrar
tabla_Amperaje_Final
| Tabla de Distribución de Frecuencias | ||||||||
| Variable: Amperaje - Campo Sacha | ||||||||
| LimInf | LimSup | Mc | ni_R | hi_R | Ni_asc | Ni_dsc | Hi_asc | Hi_dsc |
|---|---|---|---|---|---|---|---|---|
| 0 | 10 | 5 | 137 | 1.77806619 | 137 | 7705 | 1.78 | 100 |
| 10 | 20 | 15 | 975 | 12.65412070 | 1112 | 7568 | 14.43 | 98.22 |
| 20 | 30 | 25 | 3057 | 39.67553537 | 4169 | 6593 | 54.11 | 85.57 |
| 30 | 40 | 35 | 1732 | 22.47890980 | 5901 | 3536 | 76.59 | 45.89 |
| 40 | 50 | 45 | 776 | 10.07138222 | 6677 | 1804 | 86.66 | 23.41 |
| 50 | 60 | 55 | 629 | 8.16353018 | 7306 | 1028 | 94.82 | 13.34 |
| 60 | 70 | 65 | 272 | 3.53017521 | 7578 | 399 | 98.35 | 5.18 |
| 70 | 80 | 75 | 99 | 1.28487995 | 7677 | 127 | 99.64 | 1.65 |
| 80 | 90 | 85 | 14 | 0.18170019 | 7691 | 28 | 99.82 | 0.36 |
| 90 | 100 | 95 | 2 | 0.02595717 | 7693 | 14 | 99.84 | 0.18 |
| 100 | 110 | 105 | 11 | 0.14276444 | 7704 | 12 | 99.99 | 0.16 |
| 110 | 120 | 115 | 1 | 0.01297859 | 7705 | 1 | 100 | 0.01 |
| Total | 7705 | 100.00000000 | ||||||
hist(amperaje,
breaks = seq(min, max, A), # Usar TUS intervalos calculados
main = "Gráfica: Frecuencia del Amperaje\n(Campo Sacha - Intervalos propios)",
col = "blue",
xlab = "Amperaje",
ylab = "Cantidad (ni)",
right = FALSE) # Para que sea [Li, Ls)
hist(amperaje,
breaks = seq(min, max, A),
main = "Gráfica: Frecuencia del Amperaje\n(Campo Sacha - Global)",
col = "blue",
xlab = "Amperaje",
ylab = "Cantidad",
ylim = c(0, length(amperaje))) # length(amperaje) = tu n total
barplot(TDFAmperaje$hi, # Tus frecuencias relativas (%)
space = 0, # Sin espacio entre barras
main = "Gráfica: Porcentaje del Amperaje\n(Campo Sacha - Local)",
col = "blue",
xlab = "Marca de Clase (MC)",
ylab = "Porcentaje (%)",
names.arg = TDFAmperaje$MC) # Nombres = Marcas de clase
barplot(TDFAmperaje$hi,
space = 0,
main = "Gráfica: Porcentaje del Amperaje\n(Campo Sacha - Global)",
col = "blue",
xlab = "Marca de Clase (MC)",
ylab = "Porcentaje (%)",
names.arg = TDFAmperaje$MC,
ylim = c(0, 100)) # Fijar eje Y de 0 a 100%
plot(TDFAmperaje$Ls, TDFAmperaje$Nidsc,
type = "o", # "o" = puntos con líneas
xlim = c(0, max), # Eje X desde 0 hasta máximo
main = "Gráfica: Ojivas combinadas del Amperaje\n(Campo Sacha)",
ylab = "Frecuencia Acumulada",
col = "blue",
xlab = "Amperaje",
pch = 16)
# Agregar ojiva ascendente
lines(TDFAmperaje$Li, TDFAmperaje$Niasc,
col = "black",
type = "b", # "b" = puntos con líneas (pero discontinuas)
pch = 16)
# Leyenda
legend("right",
legend = c("Ojiva descendente (Nidsc)", "Ojiva ascendente (Niasc)"),
col = c("blue", "black"),
pch = 16,
lty = 1,
cex = 0.8)
#### 4.1.2 Ojivas combinadas (hi) - Porcentajes
# Gráfico principal (ojiva descendente - porcentajes)
plot(TDFAmperaje$Ls, TDFAmperaje$Hidsc,
type = "o", # "o" = puntos y líneas
xlim = c(0, max),
main = "Gráfica: Ojivas combinadas del Amperaje\n(Campo Sacha - Porcentajes)",
ylab = "Porcentaje Acumulado (%)",
col = "blue",
xlab = "Amperaje",
ylim = c(0, 100)) # Porcentajes de 0 a 100%
# Agregar ojiva ascendente (porcentajes) - SIN "add=TRUE"
lines(TDFAmperaje$Li, TDFAmperaje$Hiasc,
col = "black",
type = "b") # "b" = puntos con líneas discontinuas
# Leyenda
legend("right",
legend = c("Ojiva descendente (Hidsc)", "Ojiva ascendente (Hiasc)"),
col = c("blue", "black"),
pch = 1, # Tipo de punto
lty = 1, # Tipo de línea
cex = 0.7) # Tamaño de texto
### 4.2 Diagrama de caja (Boxplot)
boxplot(amperaje,
horizontal = TRUE, # Horizontal (como el ejemplo)
col = "blue",
main = "Gráfica: Distribución del Amperaje\n(Campo Sacha)",
xlab = "Amperaje",
notch = FALSE) # Sin muesca
## 5: Resumen y outliers
# Resumen
summary(amperaje)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00 24.00 29.00 32.96 39.00 116.00
# Identificar outliers
outliers <- boxplot.stats(amperaje)$out
num_outliers <- length(outliers)
min_outliers <- min(outliers)
max_outliers <- max(outliers)
cat("Número de outliers:", num_outliers, "\n")
## Número de outliers: 323
if(num_outliers > 0) {
cat("Mínimo outlier:", min_outliers, "\n")
cat("Máximo outlier:", max_outliers, "\n")
}
## Mínimo outlier: 0
## Máximo outlier: 116
# Media aritmética
x <- mean(amperaje)
# Mediana (DOS veces como en el ejemplo)
# Media aritmética
x <- mean(amperaje) # Primero: mediana de Marcas de Clase (¿?)
Me <- median(amperaje) # Segundo: mediana de datos (sobrescribe)
# Mínimo y máximo
ri <- min(amperaje)
rs <- max(amperaje)
# Mostrar resultados
cat("Media aritmética (x) =", x, "\n")
## Media aritmética (x) = 32.95817
cat("Mediana (Me) =", Me, "\n")
## Mediana (Me) = 29
cat("Mínimo (ri) =", ri, "\n")
## Mínimo (ri) = 0
cat("Máximo (rs) =", rs, "\n")
## Máximo (rs) = 116
# Varianza
varianza <- var(amperaje)
cat("Varianza =", varianza, "\n")
## Varianza = 201.2593
# Desviación estándar
s <- sd(amperaje)
cat("Desviación estándar (s) =", s, "\n")
## Desviación estándar (s) = 14.18659
# Coeficiente de variación
CV <- (s / x) * 100
cat("Coeficiente de variación (CV) =", CV, "%\n")
## Coeficiente de variación (CV) = 43.04422 %
# 5.3 Forma
# Instalar si no tienes (descomenta solo primera vez)
# install.packages("e1071")
library(e1071)
# Coeficiente de asimetría
As <- skewness(amperaje)
# Coeficiente de kurtosis
k <- kurtosis(amperaje)
cat("Coeficiente de asimetría =", As, "\n")
## Coeficiente de asimetría = 1.068492
cat("Coeficiente de kurtosis =", k, "\n")
## Coeficiente de kurtosis = 1.496195
# 6 Tabla resumen
Variable <- c("Amperaje")
# Crear EXACTAMENTE como el ejemplo
TablaIndicadores <- data.frame(
Variable,
ri, # mínimo
rs, # máximo
round(x, 2), # media (x)
Me, # mediana (Me)
round(s, 2), # desviación estándar (sd)
round(CV, 2), # coeficiente de variación (%)
round(As, 2), # asimetría (As)
round(k, 2) # kurtosis (K)
)
# Nombres EXACTOS como ejemplo
colnames(TablaIndicadores) <- c("Variable", "minimo", "máximo", "x",
"Me", "sd", "Cv (%)", "As", "K")
library(gt)
tabla_resumen_gt <- TablaIndicadores %>%
gt() %>%
tab_header(
title = md("*Tabla: Indicadores estadísticos*"),
subtitle = md("**Variable: Amperaje**")
) %>%
tab_source_note(
source_note = md("Campo Sacha")
) %>%
# Mantener MISMO formato que ejemplo
tab_options(
table.border.top.color = "black",
table.border.bottom.color = "black",
heading.border.bottom.color = "black",
heading.border.bottom.width = px(2)
) %>%
# Formatear números (2 decimales)
fmt_number(
columns = c("minimo", "máximo", "x", "Me", "sd", "Cv (%)", "As", "K"),
decimals = 2
) %>%
# Añadir % al CV
fmt_number(
columns = "Cv (%)",
pattern = "{x}%"
)
# Mostrar tabla
tabla_resumen_gt
| Tabla: Indicadores estadísticos | ||||||||
| Variable: Amperaje | ||||||||
| Variable | minimo | máximo | x | Me | sd | Cv (%) | As | K |
|---|---|---|---|---|---|---|---|---|
| Amperaje | 0.00 | 116.00 | 32.96 | 29.00 | 14.19 | 43.04% | 1.07 | 1.50 |
| Campo Sacha | ||||||||
# 1. Crear tabla
TablaOutliers <- data.frame(
Outliers = num_outliers,
Mínimo = ifelse(num_outliers > 0, min_outliers, NA),
Máximo = ifelse(num_outliers > 0, max_outliers, NA)
)
library(gt)
tabla_outliers_final <- TablaOutliers %>%
gt() %>%
tab_header(
title = "Outliers - Amperaje",
subtitle = "Campo Sacha"
)
# 3. Mostrar
tabla_outliers_final
| Outliers - Amperaje | ||
| Campo Sacha | ||
| Outliers | Mínimo | Máximo |
|---|---|---|
| 323 | 0 | 116 |
# La variable Amperaje medida en el Campo Sacha presenta valores que fluctúan entre 0.00 y 116.00 unidades, con un valor promedio de 32.96 y una desviación estándar de 14.19. El coeficiente de variación del 43.04% indica una ALTA variabilidad en los datos, siendo un conjunto heterogéneo. Se detectaron 323 valores atípicos en el rango completo de 0 a 116 unidades. La distribución presenta asimetría POSITIVA (As = 1.07) con cola hacia valores altos, y una kurtosis de 1.50 indicando una distribución más picuda que la normal. La mayor concentración de datos se encuentra alrededor de la mediana de 29.00 unidades. En conclusión, el comportamiento del Amperaje muestra una dispersión elevada con presencia significativa de valores atípicos, sugiriendo condiciones de operación variables en el Campo Sacha que podrían requerir ajustes en los procesos de producción para mejorar la consistencia.