Para iniciar el procesamiento estadístico de la variable cualitativa ordinal Sección, se verifica la estructura global del conjunto de datos correspondientes a los bloques contractuales y arrendamientos de hidrocarburos en el estado de Kansas. Esto permite asegurar la integridad de los registros de forma eficiente.
datos <- read_csv("C:/Users/luisq/Downloads/oil_and_gas_leases_data.csv",
show_col_types = FALSE)
cat("Base de datos cargada correctamente.\n")
## Base de datos cargada correctamente.
cat("Total de registros evaluados (filas):", nrow(datos), "\n")
## Total de registros evaluados (filas): 47757
Se realiza el aislamiento de la variable cualitativa ordinal Sección (SECTION), la cual representa la subdivisión de un township dentro del Sistema de Levantamiento de Tierras Públicas (PLSS). Sus valores van del 1 al 36 conforme al orden establecido por dicho sistema de referencia geográfica. Dado que presenta 36 categorías únicas, se aplica la Regla de Sturges para determinar el número óptimo de grupos: k = 1 + 3.322 × log₁₀(36) ≈ 6 grupos, con una amplitud de 6 secciones por grupo.
datos <- datos %>%
filter(!is.na(SECTION)) %>%
mutate(SECCION = as.integer(SECTION))
variable_section <- datos %>% select(SECCION)
Se calcula la distribución de frecuencias absolutas (\(n_i\)) y porcentuales (\(h_i\%\)) agrupando las 36 secciones en 6 intervalos de igual amplitud según la Regla de Sturges, respetando la estructura de tres columnas estipulada por la cátedra. Se incluye la fila del total general y el redondeo a dos decimales para el porcentaje.
# Agrupación por Regla de Sturges: k=6, amplitud=6
datos <- datos %>%
mutate(Grupo_Seccion = case_when(
SECCION >= 1 & SECCION <= 6 ~ "Secciones 1 - 6",
SECCION >= 7 & SECCION <= 12 ~ "Secciones 7 - 12",
SECCION >= 13 & SECCION <= 18 ~ "Secciones 13 - 18",
SECCION >= 19 & SECCION <= 24 ~ "Secciones 19 - 24",
SECCION >= 25 & SECCION <= 30 ~ "Secciones 25 - 30",
SECCION >= 31 & SECCION <= 36 ~ "Secciones 31 - 36"
)) %>%
mutate(Grupo_Seccion = factor(Grupo_Seccion, levels = c(
"Secciones 1 - 6","Secciones 7 - 12","Secciones 13 - 18",
"Secciones 19 - 24","Secciones 25 - 30","Secciones 31 - 36"
)))
frecuencias <- datos %>%
group_by(Seccion = Grupo_Seccion, .drop = FALSE) %>%
summarise(Frecuencia_ni = n(), .groups = "drop")
tabla_final <- frecuencias %>%
mutate(Porcentaje_hi = (Frecuencia_ni / sum(Frecuencia_ni)) * 100)
total_fila <- data.frame(
Seccion = "TOTAL",
Frecuencia_ni = sum(tabla_final$Frecuencia_ni),
Porcentaje_hi = sum(tabla_final$Porcentaje_hi)
)
resultado <- bind_rows(
tabla_final %>% mutate(Porcentaje_hi = sprintf("%.2f", Porcentaje_hi),
Seccion = as.character(Seccion)),
total_fila %>% mutate(Porcentaje_hi = sprintf("%.2f", Porcentaje_hi))
)
kable(resultado,
caption = "Tabla N°1 de Distribución de Frecuencias de la Variable Cualitativa Ordinal: Sección",
col.names = c("Sección", "Frecuencia (ni)", "Porcentaje (hi%)"),
align = c("l","c","c"))
| Sección | Frecuencia (ni) | Porcentaje (hi%) |
|---|---|---|
| Secciones 1 - 6 | 8012 | 16.78 |
| Secciones 7 - 12 | 8050 | 16.86 |
| Secciones 13 - 18 | 8159 | 17.08 |
| Secciones 19 - 24 | 7916 | 16.58 |
| Secciones 25 - 30 | 7813 | 16.36 |
| Secciones 31 - 36 | 7807 | 16.35 |
| TOTAL | 47757 | 100.00 |
Autor: Grupo 6