Se carga el conjunto de datos de arrendamientos de hidrocarburos del estado de Kansas, EE.UU., registrados por el Kansas Geological Survey.
ruta_archivo <- file.choose()
datos_vale <- read_csv(ruta_archivo, show_col_types = FALSE)
cat("Dataset cargado correctamente.\n")
## Dataset cargado correctamente.
cat("Total de registros evaluados (filas):", nrow(datos_vale), "\n")
## Total de registros evaluados (filas): 47757
La variable TOWNSHIP_DIRECTION (Dirección Township) indica la orientación norte o sur del township respecto a la línea base del sistema de referencia PLSS (Public Land Survey System). Se eliminan los registros sin valor (NA o vacíos).
x_raw <- datos_vale %>%
filter(!is.na(TOWNSHIP_DIRECTION), TOWNSHIP_DIRECTION != "") %>%
pull(TOWNSHIP_DIRECTION)
n <- length(x_raw)
cat("Observaciones válidas:", n, "\n")
## Observaciones válidas: 47757
cat("Categorías distintas presentes:", length(unique(x_raw)), "\n")
## Categorías distintas presentes: 1
| Criterio | Clasificación |
|---|---|
| Nombre | Dirección Township |
| Nombre técnico | TOWNSHIP_DIRECTION |
| Tipo | Cualitativa |
| Subtipo | Nominal dicotómica |
| Dominio | D = { x | x ∈ {N, S} } |
| Rango | R = { x | x ∈ {S} } |
| Unidad | No aplica |
| Escala | Nominal |
| Fuente | Kansas Geological Survey – Kansas, EE.UU. |
Justificación: La variable indica una orientación (Norte/Sur) sin orden natural entre sus categorías, por lo que corresponde a una variable cualitativa nominal dicotómica. En el dominio teórico caben dos valores (“N” y “S”), pero como se muestra en la sección siguiente, en este conjunto de datos la variable resulta constante, dado que la totalidad de los pozos de Kansas se ubica al sur de la línea base del sistema PLSS.
Se presenta la distribución de frecuencias completa de la variable Dirección Township, con las 1 categoría(s) efectivamente registrada(s) (n total = 47,757).
freq_completa <- sort(table(x_raw), decreasing = TRUE)
categorias_todas <- names(freq_completa)
ni_todas <- as.integer(freq_completa)
hi_pct_todas <- ni_todas / n * 100
tabla_completa <- data.frame(
Categoria = categorias_todas,
ni = ni_todas,
hi_pct = hi_pct_todas,
stringsAsFactors = FALSE
)
tabla_total <- data.frame(
Categoria = "TOTAL",
ni = n,
hi_pct = sum(hi_pct_todas),
stringsAsFactors = FALSE
)
tabla_gt <- bind_rows(tabla_completa, tabla_total)
tabla_gt %>%
gt() %>%
tab_header(
title = md("**Tabla N°1: Distribución de Frecuencias**"),
subtitle = md("*Variable Cualitativa Nominal: Dirección Township*")
) %>%
cols_label(
Categoria = md("**Dirección Township**"),
ni = md("**Frecuencia (ni)**"),
hi_pct = md("**Porcentaje (hi%)**")
) %>%
fmt_integer(columns = ni) %>%
fmt_number(columns = hi_pct, decimals = 2) %>%
cols_align(align = "center", columns = c(ni, hi_pct)) %>%
cols_align(align = "left", columns = Categoria) %>%
tab_style(
style = list(
cell_fill(color = "#000000"),
cell_text(color = "white", weight = "bold")
),
locations = cells_column_labels()
) %>%
tab_style(
style = cell_text(color = "#1F618D", weight = "bold"),
locations = cells_body(
columns = Categoria,
rows = Categoria != "TOTAL"
)
) %>%
tab_style(
style = list(
cell_fill(color = "#D9D9D9"),
cell_text(weight = "bold")
),
locations = cells_body(rows = Categoria == "TOTAL")
) %>%
tab_style(
style = cell_borders(sides = "top", color = "black", weight = px(2)),
locations = cells_body(rows = Categoria == "TOTAL")
) %>%
tab_source_note(source_note = md("*Autor: Araujo Valeska*")) %>%
tab_options(
table.width = pct(70),
table.border.top.color = "black",
table.border.bottom.color = "black",
column_labels.border.bottom.color = "black",
heading.title.font.size = px(16),
heading.subtitle.font.size = px(12),
table.font.size = px(13),
data_row.padding = px(8)
)
| Tabla N°1: Distribución de Frecuencias | ||
| Variable Cualitativa Nominal: Dirección Township | ||
| Dirección Township | Frecuencia (ni) | Porcentaje (hi%) |
|---|---|---|
| S | 47,757 | 100.00 |
| TOTAL | 47,757 | 100.00 |
| Autor: Araujo Valeska | ||
Dado que la variable Dirección Township presenta en este dataset una única categoría efectiva (“S”), el diagrama de barras y el diagrama circular que se muestran a continuación consisten, en consecuencia, en una sola barra y un único sector de 100%. Esta representación se conserva por consistencia metodológica con el resto de variables cualitativas, y porque visualiza de forma directa la ausencia total de variabilidad de la variable.
categorias <- names(freq_completa)
ni <- as.integer(freq_completa)
hi_pct <- ni / n * 100
top_ord <- setNames(ni, categorias)
colores_g <- gray(seq(0.30, 0.80, length.out = max(length(top_ord), 1)))
par(mar = c(6, 6, 7, 2))
bp <- barplot(
as.numeric(top_ord),
names.arg = names(top_ord),
col = colores_g,
border = "black",
ylim = c(0, max(as.numeric(top_ord)) * 1.18),
xlab = "", ylab = "", main = "", las = 1, cex.names = 1
)
text(bp, as.numeric(top_ord) + max(as.numeric(top_ord)) * 0.02,
labels = format(as.numeric(top_ord), big.mark = ","), cex = 0.9)
mtext("Frecuencia Absoluta (nᵢ)", side = 2, line = 4.5, cex = 1)
mtext("Dirección Township", side = 1, line = 3, cex = 1)
mtext(
"Gráfica N°1: Diagrama de Barras — Frecuencia Absoluta\nDirección Township, Kansas, EE.UU.",
side = 3, line = 3.5, cex = 0.9, font = 2
)
pct_ord <- setNames(hi_pct, categorias)
par(mar = c(6, 6, 7, 2))
bp2 <- barplot(
as.numeric(pct_ord),
names.arg = names(pct_ord),
col = colores_g,
border = "black",
ylim = c(0, max(as.numeric(pct_ord)) * 1.18),
xlab = "", ylab = "", main = "", las = 1, cex.names = 1
)
text(bp2, as.numeric(pct_ord) + max(as.numeric(pct_ord)) * 0.02,
labels = paste0(round(as.numeric(pct_ord), 2), "%"), cex = 0.9)
mtext("Porcentaje (hᵢ %)", side = 2, line = 4.5, cex = 1)
mtext("Dirección Township", side = 1, line = 3, cex = 1)
mtext(
"Gráfica N°2: Diagrama de Barras — Porcentaje\nDirección Township, Kansas, EE.UU.",
side = 3, line = 3.5, cex = 0.9, font = 2
)
pct_circ <- setNames(hi_pct, categorias)
grises_c <- gray(seq(0.35, 0.65, length.out = max(length(pct_circ), 1)))
par(mar = c(2, 2, 6, 10), xpd = TRUE)
pie(
as.numeric(pct_circ),
labels = paste0(round(as.numeric(pct_circ), 2), "%"),
col = grises_c,
border = "black",
main = "",
radius = 1,
cex = 0.9
)
legend(
x = 1.1,
y = 1,
legend = paste0(categorias, " (", format(ni, big.mark = ","), ")"),
fill = grises_c,
cex = 0.8,
title = "Dirección (nᵢ)",
bty = "n"
)
mtext(
"Gráfica N°3: Diagrama Circular — Distribución Porcentual\nDirección Township, Kansas, EE.UU.",
side = 3, line = 3.5, cex = 0.9, font = 2
)
moda_val <- names(sort(table(x_raw), decreasing = TRUE))[1]
moda_n <- max(table(x_raw))
n_categorias <- length(unique(x_raw))
es_constante <- n_categorias == 1
tabla_indicadores <- data.frame(
Indicador = c(
"Variable",
"Tipo de variable",
"Categorías (Rango)",
"Moda (Mo)",
"Mediana (Me)",
"Media (X̄)",
"Varianza (V)",
"Desv. Estándar (Sd)",
"Coef. Variación (CV%)",
"Asimetría (As)",
"Curtosis (K)"
),
Valor = c(
"Dirección Township",
"Cualitativa Nominal Dicotómica",
paste0(format(n_categorias, big.mark = ","), " categoría(s) efectiva(s): ",
paste(sort(unique(x_raw)), collapse = ", ")),
moda_val,
"—",
"—",
"—",
"—",
"—",
"—",
"—"
),
stringsAsFactors = FALSE
)
tabla_indicadores %>%
gt() %>%
tab_header(
title = md("**Tabla N°2: Indicadores Estadísticos**"),
subtitle = md("*Variable Cualitativa Nominal: Dirección Township*")
) %>%
cols_label(
Indicador = md("**Indicador**"),
Valor = md("**Valor**")
) %>%
tab_style(
style = list(
cell_fill(color = "#2C2C2C"),
cell_text(color = "white", weight = "bold")
),
locations = cells_column_labels()
) %>%
tab_style(
style = cell_fill(color = "#F5F5F5"),
locations = cells_body(rows = seq(1, nrow(tabla_indicadores), by = 2))
) %>%
tab_style(
style = list(
cell_fill(color = "#D6D6D6"),
cell_text(weight = "bold")
),
locations = cells_body(
rows = Indicador == "Moda (Mo)",
columns = everything()
)
) %>%
tab_style(
style = cell_text(style = "italic", color = "gray40"),
locations = cells_body(
rows = Valor == "—",
columns = Valor
)
) %>%
tab_source_note(source_note = md("*Autor: Araujo Valeska*")) %>%
tab_options(
table.width = pct(60),
heading.title.font.size = px(16),
heading.subtitle.font.size = px(12),
table.font.size = px(13),
data_row.padding = px(6)
)
| Tabla N°2: Indicadores Estadísticos | |
| Variable Cualitativa Nominal: Dirección Township | |
| Indicador | Valor |
|---|---|
| Variable | Dirección Township |
| Tipo de variable | Cualitativa Nominal Dicotómica |
| Categorías (Rango) | 1 categoría(s) efectiva(s): S |
| Moda (Mo) | S |
| Mediana (Me) | — |
| Media (X̄) | — |
| Varianza (V) | — |
| Desv. Estándar (Sd) | — |
| Coef. Variación (CV%) | — |
| Asimetría (As) | — |
| Curtosis (K) | — |
| Autor: Araujo Valeska | |
La variable Dirección Township es una variable cualitativa nominal dicotómica cuyo dominio teórico admite las categorías “N” y “S”. Sin embargo, en el 47,757-registro conjunto de datos analizado, la variable resulta constante: su valor único es “S”, con una participación del 100.00%. Esto se explica geográficamente porque la totalidad de los pozos de Kansas se ubica íntegramente al sur de la línea base del sistema de referencia PLSS. Al no presentar variabilidad (varianza cero), esta variable no aporta poder discriminante para fines de modelado o segmentación estadística.
Autor: Araujo Valeska | Análisis Estadístico — Kansas Hydrocarbon Leases Dataset