Para iniciar el procesamiento estadístico, se verifica la estructura global del conjunto de datos correspondientes a los bloques contractuales y arrendamientos de hidrocarburos en el estado de Kansas.
datos <- read_csv(file.choose(), show_col_types = FALSE)
cat("Base de datos cargada correctamente.\n")
## Base de datos cargada correctamente.
cat("Total de registros (filas):", nrow(datos), "\n")
## Total de registros (filas): 47757
Se realiza el aislamiento de la variable cuantitativa discreta STATE_CODE, que representa el código identificador del estado en el que se ubica cada arrendamiento de hidrocarburos (Kansas = 15).
x_raw <- datos %>%
mutate(EDO = suppressWarnings(as.integer(STATE_CODE))) %>%
filter(!is.na(EDO)) %>%
pull(EDO)
n_unique <- length(unique(x_raw))
cat("Observaciones válidas:", length(x_raw), "\n")
## Observaciones válidas: 47757
cat("Valores únicos:", n_unique, "\n")
## Valores únicos: 1
cat("Como hay", n_unique, "valor(es) único(s), no aplica agrupar en intervalos de clase.\n")
## Como hay 1 valor(es) único(s), no aplica agrupar en intervalos de clase.
A diferencia de las demás variables discretas de este dataset, Código de Estado presenta un único valor (15) en el 100% de los registros: todos los arrendamientos corresponden al estado de Kansas. Como no existe variabilidad (rango = 0), no corresponde aplicar el criterio de máximo 10 intervalos de clase —éste solo tiene sentido cuando hay más de 10 valores distintos que resumir—; en su lugar se presenta la tabla de frecuencia simple, que en este caso queda reducida a una sola fila.
x <- x_raw
n <- length(x)
tabla_freq <- as.data.frame(table(x), stringsAsFactors = FALSE)
names(tabla_freq) <- c("Valor", "ni")
tabla_freq$ni <- as.integer(tabla_freq$ni)
tabla_freq$hi_pct <- round(tabla_freq$ni / n * 100, 2)
tabla_freq$hi_real <- round(tabla_freq$ni / n, 4)
tabla_freq$Ni <- cumsum(tabla_freq$ni)
tabla_freq$Hi <- round(cumsum(tabla_freq$ni / n), 4)
total_row <- data.frame(
Valor = "TOTAL",
ni = sum(tabla_freq$ni),
hi_pct = round(sum(tabla_freq$hi_pct), 2),
hi_real = round(sum(tabla_freq$hi_real), 4),
Ni = max(tabla_freq$Ni),
Hi = round(max(tabla_freq$Hi), 4),
stringsAsFactors = FALSE
)
tabla_final_freq <- bind_rows(tabla_freq, total_row)
tabla_final_freq %>%
gt() %>%
tab_header(
title = md("**Tabla N°1: Distribución de Frecuencias**"),
subtitle = md(paste0(
"*Variable Cuantitativa Discreta: Código de Estado, ",
"arrendamientos de hidrocarburos, Kansas, EE.UU. (n = ",
format(n, big.mark = ","), " registros válidos)*"
))
) %>%
cols_label(
Valor = md("**Código de Estado**"),
ni = md("**ni (FA)**"),
hi_pct = md("**hi %**"),
hi_real = md("**hi (decimal)**"),
Ni = md("**Ni ↑ (FAAa)**"),
Hi = md("**Hi ↑ (FRAa)**")
) %>%
tab_style(
style = list(
cell_fill(color = "#2C2C2C"),
cell_text(color = "white", weight = "bold")
),
locations = cells_column_labels()
) %>%
tab_style(
style = list(
cell_fill(color = "#D6D6D6"),
cell_text(weight = "bold")
),
locations = cells_body(
rows = Valor == "TOTAL",
columns = everything()
)
) %>%
fmt_missing(columns = everything(), missing_text = "—") %>%
tab_source_note(source_note = md("*Autor: Leslye Quinchiguango*")) %>%
tab_options(
table.width = pct(70),
heading.title.font.size = px(16),
heading.subtitle.font.size = px(12),
table.font.size = px(13),
data_row.padding = px(6)
)
| Tabla N°1: Distribución de Frecuencias | |||||
| Variable Cuantitativa Discreta: Código de Estado, arrendamientos de hidrocarburos, Kansas, EE.UU. (n = 47,757 registros válidos) | |||||
| Código de Estado | ni (FA) | hi % | hi (decimal) | Ni ↑ (FAAa) | Hi ↑ (FRAa) |
|---|---|---|---|---|---|
| 15 | 47757 | 100 | 1 | 47757 | 1 |
| TOTAL | 47757 | 100 | 1 | 47757 | 1 |
| Autor: Leslye Quinchiguango | |||||
Al tratarse de una variable constante (un único valor repetido en todos los registros), no aplican las gráficas de distribución habituales (histograma, polígono de frecuencias, boxplot u ojivas), ya que estas requieren variabilidad en los datos para poder representarse. En su lugar se presenta un gráfico de barras que evidencia visualmente la ausencia de variación.
par(mar = c(5, 6, 6, 2))
barplot(
height = n,
names.arg = paste0("Kansas (", unique(x), ")"),
col = "gray60",
border = "black",
ylim = c(0, n * 1.15),
las = 1,
ylab = ""
)
mtext("Frecuencia Absoluta (ni)", side = 2, line = 4.5, cex = 1)
mtext("Código de Estado", side = 1, line = 3.5, cex = 1)
mtext(
"Gráfica N°1: Frecuencia de la Variable Código de Estado,\narrendamientos de hidrocarburos, Kansas, EE.UU.",
side = 3, line = 3, cex = 0.9, font = 2
)
text(0.7, n * 1.05, labels = paste0("n = ", format(n, big.mark = ",")), cex = 0.9)
indicadores <- data.frame(
Indicador = c(
"Tamaño muestral (n)",
"Valor único",
"Mínimo",
"Máximo",
"Rango",
"Media",
"Mediana",
"Moda",
"Varianza (s²)",
"Desviación estándar (s)",
"Coef. de variación (CV%)"
),
Valor = c(
format(n, big.mark = ","),
as.character(unique(x)),
as.character(min(x)),
as.character(max(x)),
as.character(max(x) - min(x)),
as.character(mean(x)),
as.character(median(x)),
as.character(unique(x)),
as.character(0),
as.character(0),
"0% (variable constante)"
),
stringsAsFactors = FALSE
)
indicadores %>%
gt() %>%
tab_header(
title = md("**Tabla N°2: Indicadores Estadísticos**"),
subtitle = md("*Variable Cuantitativa Discreta: Código de Estado*")
) %>%
cols_label(
Indicador = md("**Indicador**"),
Valor = md("**Valor**")
) %>%
cols_align(align = "left", columns = Indicador) %>%
cols_align(align = "right", columns = Valor) %>%
tab_style(
style = list(
cell_fill(color = "#2C2C2C"),
cell_text(color = "white", weight = "bold")
),
locations = cells_column_labels()
) %>%
tab_style(
style = cell_borders(sides = "bottom", color = "#E0E0E0", weight = px(1)),
locations = cells_body(rows = everything())
) %>%
tab_source_note(source_note = md("*Autor: Leslye Quinchiguango*")) %>%
tab_options(
table.width = pct(45),
heading.title.font.size = px(15),
heading.subtitle.font.size = px(11),
table.font.size = px(12),
data_row.padding = px(4),
column_labels.border.top.width = px(2),
column_labels.border.bottom.width = px(2),
table_body.border.bottom.width = px(2),
table.border.top.style = "hidden",
table.border.bottom.style = "hidden"
)
| Tabla N°2: Indicadores Estadísticos | |
| Variable Cuantitativa Discreta: Código de Estado | |
| Indicador | Valor |
|---|---|
| Tamaño muestral (n) | 47,757 |
| Valor único | 15 |
| Mínimo | 15 |
| Máximo | 15 |
| Rango | 0 |
| Media | 15 |
| Mediana | 15 |
| Moda | 15 |
| Varianza (s²) | 0 |
| Desviación estándar (s) | 0 |
| Coef. de variación (CV%) | 0% (variable constante) |
| Autor: Leslye Quinchiguango | |
La variable Código de Estado no presenta variabilidad: el 100% de los 47,757 registros válidos corresponde al código 15 (Kansas). Al ser una constante, no tiene sentido estadístico calcular medidas de dispersión (varianza, desviación estándar, CV) ni de forma (asimetría, curtosis), pues todas ellas resultan en cero o indeterminadas. Esto es coherente con la naturaleza del dataset, ya que corresponde a arrendamientos de hidrocarburos ubicados exclusivamente en el estado de Kansas, EE.UU.
Autor: Leslye Quinchiguango