En este documento se presenta un análisis estadístico descriptivo completo de la variable cuantitativa continua asociada al area en km2 de los paises donde se ubican los volcanes, incluyendo preparación de datos, distribución de frecuencias, representaciones gráficas e indicadores estadísticos.
# Calcular n (numero de datos)
n <- length(area_km2_limpios)
length(area_km2_limpios) #Existen 889 datos## [1] 889
## [1] 11
# Crear intervalos
# Limites inferior y superior
minimo <- min(area_km2_limpios)
maximo <- max(area_km2_limpios)
# Amplitud
amplitud <- (maximo - minimo) / k
# Vector de cortes numericos
breaks <- seq(
from = minimo,
to = maximo,
by = amplitud
)
# limites inferiores
Li <- breaks[-length(breaks)]
# limites superiores
Ls <- breaks[-1]
# asegurar ultimo limite
breaks[length(breaks)] <- maximo
# crear intervalos
intervalos <- cut(
area_km2_limpios,
breaks = breaks,
include.lowest = TRUE
)MC_num <- (Li + Ls) / 2
# Notación Científica
superscript <- function(x){
x <- as.character(x)
x <- gsub("-", "⁻", x)
x <- gsub("0", "⁰", x)
x <- gsub("1", "¹", x)
x <- gsub("2", "²", x)
x <- gsub("3", "³", x)
x <- gsub("4", "⁴", x)
x <- gsub("5", "⁵", x)
x <- gsub("6", "⁶", x)
x <- gsub("7", "⁷", x)
x <- gsub("8", "⁸", x)
x <- gsub("9", "⁹", x)
x
}
formato_cientifico <- function(x){
sapply(x, function(valor){
sci <- format(
valor,
scientific = TRUE,
digits = 3
)
partes <- strsplit(sci, "e")[[1]]
mantisa <- partes[1]
exponente <- as.integer(partes[2])
paste0(
mantisa,
" × 10",
superscript(exponente)
)
})
}
#Intevalos y Marcas de clase MC
Intervalo <- paste0(
formato_cientifico(Li),
" - ",
formato_cientifico(Ls)
)
MC <- formato_cientifico(MC_num)TDF <- data.frame(
Intervalo = Intervalo,
MC = MC,
ni = ni,
Ni_asc = Ni_asc,
Ni_dsc = Ni_dsc,
hi = round(hi, 4),
Hi_asc = round(Hi_asc, 4),
Hi_dsc = round(Hi_dsc, 4)
)
# Fila de Total
fila_total <- data.frame(
Intervalo = "TOTAL",
MC = "--",
ni = sum(TDF$ni),
Ni_asc = "--",
Ni_dsc = "--",
hi = round(sum(TDF$hi), 4),
Hi_asc = "--",
Hi_dsc = "--"
)
# Unir fila Total con la tabla
TDFarea_km2 <- rbind(TDF, fila_total)
# Mostrar Tabla
TDFarea_km2TDFarea_km2 %>%
select(
Intervalo,
MC,
ni,
hi,
Ni_dsc,
Hi_dsc,
Ni_asc,
Hi_asc
) %>%
gt() %>%
cols_label(
Intervalo = html("Intervalo<br>de clase"),
MC = html("Marca de<br>clase<br>(MC)"),
ni = html("Frecuencia<br>absoluta<br>n<sub>i</sub>"),
hi = html("Frecuencia<br>relativa<br>h<sub>i</sub>"),
Ni_dsc = html("N<sub>i</sub> ↓"),
Hi_dsc = html("H<sub>i</sub> ↓"),
Ni_asc = html("N<sub>i</sub> ↑"),
Hi_asc = html("H<sub>i</sub> ↑")
) %>%
tab_header(
title = md("**Tabla N° 4**"),
subtitle = "Distribución de frecuencias del área de los países donde se ubican los volcanes"
) %>%
tab_source_note(
source_note = "Elaborado por: Grupo 2 - Carrera de Geología."
) %>%
cols_align(
align = "center",
columns = everything()
) %>%
tab_options(
table.font.names = "Times New Roman",
table.border.top.color = "transparent",
column_labels.border.top.color = "black",
column_labels.border.top.width = px(2),
column_labels.border.bottom.color = "black",
column_labels.border.bottom.width = px(2),
table_body.hlines.color = "transparent",
table_body.border.bottom.color = "black",
table_body.border.bottom.width = px(2)
)| Tabla N° 4 | |||||||
| Distribución de frecuencias del área de los países donde se ubican los volcanes | |||||||
| Intervalo de clase |
Marca de clase (MC) |
Frecuencia absoluta ni |
Frecuencia relativa hi |
Ni ↓ | Hi ↓ | Ni ↑ | Hi ↑ |
|---|---|---|---|---|---|---|---|
| 1.02 × 10² - 1.55 × 10⁶ | 7.77 × 10⁵ | 586 | 0.6592 | 889 | 1 | 586 | 0.6592 |
| 1.55 × 10⁶ - 3.11 × 10⁶ | 2.33 × 10⁶ | 228 | 0.2565 | 303 | 0.3408 | 814 | 0.9156 |
| 3.11 × 10⁶ - 4.66 × 10⁶ | 3.89 × 10⁶ | 0 | 0.0000 | 75 | 0.0844 | 814 | 0.9156 |
| 4.66 × 10⁶ - 6.22 × 10⁶ | 5.44 × 10⁶ | 0 | 0.0000 | 75 | 0.0844 | 814 | 0.9156 |
| 6.22 × 10⁶ - 7.77 × 10⁶ | 6.99 × 10⁶ | 0 | 0.0000 | 75 | 0.0844 | 814 | 0.9156 |
| 7.77 × 10⁶ - 9.33 × 10⁶ | 8.55 × 10⁶ | 0 | 0.0000 | 75 | 0.0844 | 814 | 0.9156 |
| 9.33 × 10⁶ - 1.09 × 10⁷ | 1.01 × 10⁷ | 52 | 0.0585 | 75 | 0.0844 | 866 | 0.9741 |
| 1.09 × 10⁷ - 1.24 × 10⁷ | 1.17 × 10⁷ | 0 | 0.0000 | 23 | 0.0259 | 866 | 0.9741 |
| 1.24 × 10⁷ - 1.4 × 10⁷ | 1.32 × 10⁷ | 0 | 0.0000 | 23 | 0.0259 | 866 | 0.9741 |
| 1.4 × 10⁷ - 1.55 × 10⁷ | 1.48 × 10⁷ | 1 | 0.0011 | 23 | 0.0259 | 867 | 0.9753 |
| 1.55 × 10⁷ - 1.71 × 10⁷ | 1.63 × 10⁷ | 22 | 0.0247 | 22 | 0.0247 | 889 | 1 |
| TOTAL | -- | 889 | 1.0000 | -- | -- | -- | -- |
| Elaborado por: Grupo 2 - Carrera de Geología. | |||||||
# Se reduce manualmente a 6 intervalos para evitar clases vacías y mejorar la interpretación de la tabla
k <- 6
k## [1] 6
# 3) Crear intervalos
# limites inferior y superior
minimo <- min(area_km2_limpios)
maximo <- max(area_km2_limpios)
# amplitud
amplitud <- (maximo - minimo) / k
# vector de cortes numericos
breaks <- seq(
from = minimo,
to = maximo,
by = amplitud
)
# limites inferiores
Li <- breaks[-length(breaks)]
# limites superiores
Ls <- breaks[-1]
# asegurar ultimo limite
breaks[length(breaks)] <- maximo
# crear intervalos
intervalos <- cut(
area_km2_limpios,
breaks = breaks,
include.lowest = TRUE
)
#TABLA DE FRECUENCIAS
#FRECUENCIA ABSOLUTA (ni)
ni <- numeric(k)
for (i in 1:k) {
if (i < k) {
ni[i] <- sum(area_km2_limpios >= Li[i] &
area_km2_limpios < Ls[i])
} else {
ni[i] <- sum(area_km2_limpios >= Li[i] &
area_km2_limpios <= maximo)
}
}
# FRECUENCIA ABSOLUTA ACUMULADA
Ni_asc <- cumsum(ni)
Ni_dsc <- rev(cumsum(rev(ni)))
# FRECUENCIA RELATIVA PORCENTUAL
hi <- ni / n
# FRECUENCIA RELATIVA DECIMAL
hi_pct <- hi * 100
# FRECUENCIA RELATIVA ACUMULADA
Hi_asc <- cumsum(hi)
Hi_dsc <- rev(cumsum(rev(hi)))
#CALCULAR MARCAS DE CLASE
# limites inferiores
Li <- breaks[-length(breaks)]
# limites superiores
Ls <- breaks[-1]
#--------------------------------------------------------
# CALCULAR MARCAS DE CLASE
#--------------------------------------------------------
MC_num <- (Li + Ls) / 2
#--------------------------------------------------------
# NOTACION CIENTIFICA CON SUPERINDICES
#--------------------------------------------------------
superscript <- function(x){
x <- as.character(x)
x <- gsub("-", "⁻", x)
x <- gsub("0", "⁰", x)
x <- gsub("1", "¹", x)
x <- gsub("2", "²", x)
x <- gsub("3", "³", x)
x <- gsub("4", "⁴", x)
x <- gsub("5", "⁵", x)
x <- gsub("6", "⁶", x)
x <- gsub("7", "⁷", x)
x <- gsub("8", "⁸", x)
x <- gsub("9", "⁹", x)
x
}
formato_cientifico <- function(x){
sapply(x, function(valor){
sci <- format(
valor,
scientific = TRUE,
digits = 3
)
partes <- strsplit(sci, "e")[[1]]
mantisa <- partes[1]
exponente <- as.integer(partes[2])
paste0(
mantisa,
" × 10",
superscript(exponente)
)
})
}
#--------------------------------------------------------
# INTERVALOS Y MARCAS DE CLASE
#--------------------------------------------------------
Intervalo <- paste0(
formato_cientifico(Li),
" - ",
formato_cientifico(Ls)
)
MC <- formato_cientifico(MC_num)
#--------------------------------------------------------
# DATAFRAME FINAL
#--------------------------------------------------------
TDF <- data.frame(
Intervalo = Intervalo,
MC = MC,
ni = ni,
Ni_asc = Ni_asc,
Ni_dsc = Ni_dsc,
hi = round(hi, 4),
hi_pct = round(hi_pct, 2),
Hi_asc = round(Hi_asc, 4),
Hi_dsc = round(Hi_dsc, 4)
)
#--------------------------------------------------------
# FILA DE TOTALES
#--------------------------------------------------------
fila_total <- data.frame(
Intervalo = "TOTAL",
MC = "--",
ni = sum(ni),
Ni_asc = "--",
Ni_dsc = "--",
hi = round(sum(hi), 4),
hi_pct = round(sum(hi_pct), 2),
Hi_asc = "--",
Hi_dsc = "--"
)
#--------------------------------------------------------
# UNIR TABLA CON TOTAL
#--------------------------------------------------------
TDFarea_km2 <- rbind(TDF, fila_total)
# MOSTRAR TABLA
TDFarea_km2#--------------------------------------------------------
# TABLA ESTILIZADA (FORMATO APA)
#--------------------------------------------------------
TDFarea_km2 %>%
select(
Intervalo,
MC,
ni,
hi,
hi_pct,
Ni_dsc,
Hi_dsc,
Ni_asc,
Hi_asc
) %>%
gt() %>%
cols_label(
Intervalo = html("Intervalo<br>de clase"),
MC = html("Marca de<br>clase<br>(MC)"),
ni = html("Frecuencia<br>absoluta<br>n<sub>i</sub>"),
hi = html("Frecuencia<br>relativa<br>h<sub>i</sub>"),
hi_pct = html("Frecuencia<br>relativa<br>h<sub>i</sub> (%)"),
Ni_dsc = html("N<sub>i</sub> ↓"),
Hi_dsc = html("H<sub>i</sub> ↓"),
Ni_asc = html("N<sub>i</sub> ↑"),
Hi_asc = html("H<sub>i</sub> ↑")
) %>%
tab_header(
title = md("**Tabla N° 4**"),
subtitle = "Distribución de frecuencias del área de los países donde se ubican los volcanes"
) %>%
tab_source_note(
source_note = "Elaborado por: Grupo 2 - Carrera de Geología."
) %>%
cols_align(
align = "center",
columns = everything()
) %>%
tab_options(
table.font.names = "Times New Roman",
table.border.top.color = "transparent",
column_labels.border.top.color = "black",
column_labels.border.top.width = px(2),
column_labels.border.bottom.color = "black",
column_labels.border.bottom.width = px(2),
table_body.hlines.color = "transparent",
table_body.border.bottom.color = "black",
table_body.border.bottom.width = px(2)
)| Tabla N° 4 | ||||||||
| Distribución de frecuencias del área de los países donde se ubican los volcanes | ||||||||
| Intervalo de clase |
Marca de clase (MC) |
Frecuencia absoluta ni |
Frecuencia relativa hi |
Frecuencia relativa hi (%) |
Ni ↓ | Hi ↓ | Ni ↑ | Hi ↑ |
|---|---|---|---|---|---|---|---|---|
| 1.02 × 10² - 2.85 × 10⁶ | 1.42 × 10⁶ | 814 | 0.9156 | 91.56 | 889 | 1 | 814 | 0.9156 |
| 2.85 × 10⁶ - 5.7 × 10⁶ | 4.27 × 10⁶ | 0 | 0.0000 | 0.00 | 75 | 0.0844 | 814 | 0.9156 |
| 5.7 × 10⁶ - 8.55 × 10⁶ | 7.12 × 10⁶ | 0 | 0.0000 | 0.00 | 75 | 0.0844 | 814 | 0.9156 |
| 8.55 × 10⁶ - 1.14 × 10⁷ | 9.97 × 10⁶ | 52 | 0.0585 | 5.85 | 75 | 0.0844 | 866 | 0.9741 |
| 1.14 × 10⁷ - 1.42 × 10⁷ | 1.28 × 10⁷ | 1 | 0.0011 | 0.11 | 23 | 0.0259 | 867 | 0.9753 |
| 1.42 × 10⁷ - 1.71 × 10⁷ | 1.57 × 10⁷ | 22 | 0.0247 | 2.47 | 22 | 0.0247 | 889 | 1 |
| TOTAL | -- | 889 | 1.0000 | 100.00 | -- | -- | -- | -- |
| Elaborado por: Grupo 2 - Carrera de Geología. | ||||||||
# margen inferior amplio
par(mar = c(5, 4, 4, 2))
# graficar barras
pos_x <- barplot(
ni,
col = "red",
border = "black",
space = 0,
las = 1,
main = "Gráfica 1: Distribución de la frecuencia absoluta (ni)
del área de los países donde se ubican los volcanes (local)",
xlab = "Área (km²)",
ylab = "Cantidad (ni)",
axes = TRUE
)
# límites de clase para eje X
cortes_x <- c(Li, max(Ls))
# colocar eje X manualmente
axis(
side = 1,
at = 0:length(ni),
labels = round(cortes_x, 2),
cex.axis = 0.7
)# margen inferior amplio para etiquetas del eje X
par(mar = c(5, 4, 4, 2))
# gráfico
pos_x <- barplot(
ni,
col = "chocolate",
border = "black",
space = 0,
las = 1,
ylim = c(0, 1000),
main = "Gráfica 2: Distribución de la frecuencia absoluta (ni)
del área de los países donde se ubican los volcanes (global)",
xlab = "Área (km²)",
ylab = "Cantidad (ni)",
axes = TRUE
)
# límites de clase del eje X
cortes_x <- c(Li, max(Ls))
# agregar eje X manual con límites inferiores y superior final
axis(
side = 1,
at = 0:length(ni),
labels = round(cortes_x, 2),
cex.axis = 0.7
)# margen inferior amplio
par(mar = c(5, 4, 4, 2))
# graficar barras
pos_x <- barplot(
hi_pct,
col = "red",
border = "black",
space = 0,
las = 1,
main = "Gráfica 2: Distribución de la frecuencia (hi%)
del área de los países donde se ubican los volcanes (local)",
xlab = "Área (km²)",
ylab = "Porcentaje (%)",
axes = TRUE
)
# límites de clase
cortes_x <- c(Li, max(Ls))
# eje X manual
axis(
side = 1,
at = 0:length(hi_pct),
labels = round(cortes_x, 2),
cex.axis = 0.7
)# margen inferior amplio
par(mar = c(5, 4, 4, 2))
# graficar barras
pos_x <- barplot(
hi_pct,
col = "chocolate",
border = "black",
space = 0,
las = 1,
ylim = c(0, 100),
main = "Gráfica 3: Distribución de la frecuencia relativa (hi%)
del área de los países donde se ubican los volcanes (global)",
xlab = "Área (km²)",
ylab = "Porcentaje (%)",
axes = TRUE
)
# límites de clase
cortes_x <- c(Li, max(Ls))
# eje X manual
axis(
side = 1,
at = 0:length(hi_pct),
labels = round(cortes_x, 2),
cex.axis = 0.7
)par(mar = c(10, 4, 4, 2))
plot(
1:length(Intervalo),
Ni_asc,
type = "o",
pch = 16,
col = "blue",
xaxt = "n",
ylim = c(0, max(c(Ni_asc, Ni_dsc))),
xlab = "Intervalos de área (km²)",
ylab = "Frecuencia Absoluta Acumulada (Ni)",
main = "Gráfica 5: Ojiva de Frecuencias Absolutas Acumuladas"
)
lines(
1:length(Intervalo),
Ni_dsc,
type = "o",
pch = 16,
col = "red"
)
axis(
side = 1,
at = 1:length(Intervalo),
labels = Intervalo,
las = 1,
cex.axis = 0.7
)
legend(
x = "right",
y = max(c(Ni_asc, Ni_dsc)) * 0.55,
legend = c("Ni Ascendente", "Ni Descendente"),
col = c("blue", "red"),
pch = 16,
lty = 1,
cex = 0.75,
bty = "n"
)# Calculo de Frecuencias relativas porcentuales acumuladas
Hi_asc_pct <- Hi_asc * 100
Hi_dsc_pct <- Hi_dsc * 100
#Ojiva
par(mar = c(10, 4, 4, 2))
plot(
1:length(Intervalo),
Hi_asc_pct,
type = "o",
pch = 16,
col = "blue",
xaxt = "n",
ylim = c(0, 100),
xlab = "Intervalos de área (km²)",
ylab = "Frecuencia Relativa Acumulada (%)",
main = "Gráfica 6: Ojiva de Frecuencias Relativas Acumuladas"
)
lines(
1:length(Intervalo),
Hi_dsc_pct,
type = "o",
pch = 16,
col = "red"
)
axis(
side = 1,
at = 1:length(Intervalo),
labels = Intervalo,
las = 1,
cex.axis = 0.5
)
legend(
"right",
inset = c(0.02, 0),
legend = c("Hi Ascendente", "Hi Descendente"),
col = c("blue", "red"),
pch = 16,
lty = 1,
cex = 0.75,
bty = "n"
)#CALCULO DE ESTADISTICOS
media_box <- mean(area_km2_limpios)
mediana_box <- median(area_km2_limpios)
Q1_box <- quantile(area_km2_limpios, 0.25)
Q3_box <- quantile(area_km2_limpios, 0.75)
IQR_box <- IQR(area_km2_limpios)
# CÁLCULO DE VALORES ATÍPICOS
lim_inf_outlier_box <- Q1_box - 1.5 * IQR_box
lim_sup_outlier_box <- Q3_box + 1.5 * IQR_box
outliers_box <- area_km2_limpios[
area_km2_limpios < lim_inf_outlier_box |
area_km2_limpios > lim_sup_outlier_box
]
n_outliers_box <- length(outliers_box)
# BOXPLOT
par(mar = c(5, 4, 4, 2))
boxplot(
area_km2_limpios,
horizontal = TRUE,
xaxt = "n",
col = "lightblue",
border = "darkblue",
main = "Gráfica 7: Distribución del área de los países donde se ubican los volcanes\ncon detección de valores atípicos",
xlab = "Área (km²)",
ylab = ""
)
# EJE X EN NOTACIÓN CIENTÍFICA
ticks_box <- axTicks(1)
axis(
side = 1,
at = ticks_box,
labels = formato_cientifico(ticks_box),
cex.axis = 0.8
)
# MEDIA
points(
media_box,
1,
pch = 23,
bg = "red",
cex = 1.2
)
# LEYENDA
legend(
"topright",
legend = c(
paste("Media:", formato_cientifico(media_box)),
paste("Mediana:", formato_cientifico(mediana_box)),
paste("Q1:", formato_cientifico(Q1_box)),
paste("Q3:", formato_cientifico(Q3_box)),
paste("Outliers:", n_outliers_box)
),
bty = "n",
cex = 0.8
)# FUNCIÓN DE NOTACIÓN CIENTÍFICA (MAYOR PRECISIÓN)
# SOLO PARA LA TABLA DE TENDENCIA CENTRAL
formato_cientifico_5 <- function(x){
sapply(x, function(valor){
sci <- format(
valor,
scientific = TRUE,
digits = 6
)
partes <- strsplit(sci, "e")[[1]]
mantisa <- partes[1]
exponente <- as.integer(partes[2])
paste0(
mantisa,
" × 10",
superscript(exponente)
)
})
}
# INDICADORES DE TENDENCIA CENTRAL
minimo <- min(area_km2_limpios)
maximo <- max(area_km2_limpios)
rango <- maximo - minimo
media <- mean(area_km2_limpios)
mediana <- median(area_km2_limpios)
moda <- as.numeric(
names(
sort(
table(area_km2_limpios),
decreasing = TRUE
)[1]
)
)
# TABLA DE INDICADORES
tendencia_central <- data.frame(
Indicador = c(
"Mínimo",
"Media",
"Mediana",
"Moda",
"Máximo",
"Rango"
),
Valor = c(
formato_cientifico_5(minimo),
formato_cientifico_5(media),
formato_cientifico_5(mediana),
formato_cientifico_5(moda),
formato_cientifico_5(maximo),
formato_cientifico_5(rango)
),
Unidad = rep("km²", 6),
Interpretacion = c(
"Menor área observada",
"Promedio de las áreas observadas",
"Valor central de la distribución",
"Área más frecuente observada",
"Mayor área observada",
"Diferencia entre el máximo y el mínimo"
)
)
# TABLA GT (FORMATO APA)
tendencia_central %>%
gt() %>%
cols_label(
Indicador = "Indicador",
Valor = "Valor",
Unidad = "Unidad",
Interpretacion = "Interpretación"
) %>%
tab_header(
title = md("**Tabla N° 5**"),
subtitle = "Indicadores de tendencia central del área de los países donde se ubican los volcanes"
) %>%
tab_source_note(
source_note = "Elaborado por: Grupo 2 - Carrera de Geología."
) %>%
cols_align(
align = "center",
columns = everything()
) %>%
tab_options(
table.font.names = "Times New Roman",
table.border.top.color = "transparent",
column_labels.border.top.color = "black",
column_labels.border.top.width = px(2),
column_labels.border.bottom.color = "black",
column_labels.border.bottom.width = px(2),
table_body.hlines.color = "transparent",
table_body.border.bottom.color = "black",
table_body.border.bottom.width = px(2)
)| Tabla N° 5 | |||
| Indicadores de tendencia central del área de los países donde se ubican los volcanes | |||
| Indicador | Valor | Unidad | Interpretación |
|---|---|---|---|
| Mínimo | 1.02 × 10² | km² | Menor área observada |
| Media | 1.69726 × 10⁶ | km² | Promedio de las áreas observadas |
| Mediana | 3.7793 × 10⁵ | km² | Valor central de la distribución |
| Moda | 1.90457 × 10⁶ | km² | Área más frecuente observada |
| Máximo | 1.70982 × 10⁷ | km² | Mayor área observada |
| Rango | 1.70981 × 10⁷ | km² | Diferencia entre el máximo y el mínimo |
| Elaborado por: Grupo 2 - Carrera de Geología. | |||
varianza <- var(area_km2_limpios)
desv_est <- sd(area_km2_limpios)
CV <- (desv_est / media) * 100
# INTERPRETACIÓN DEL CV
if(CV < 15) {
interpretacion_CV <- "BAJA (CV < 15%)"
} else if(CV < 30) {
interpretacion_CV <- "MODERADA (15% ≤ CV < 30%)"
} else {
interpretacion_CV <- "ALTA (CV ≥ 30%)"
}
# TABLA DE DISPERSIÓN
dispersion <- data.frame(
Indicador = c(
"Varianza",
"Desviación estándar",
"Coeficiente de variación"
),
Valor = c(
formato_cientifico_5(varianza),
formato_cientifico_5(desv_est),
paste0(round(CV, 2), "%")
),
Unidad = c(
"km²²",
"km²",
""
),
Interpretacion = c(
"Medida de dispersión al cuadrado",
"Dispersión promedio respecto a la media",
paste("Dispersión relativa:", interpretacion_CV)
)
)
# TABLA GT (FORMATO APA)
dispersion %>%
gt() %>%
cols_label(
Indicador = "Indicador",
Valor = "Valor",
Unidad = "Unidad",
Interpretacion = "Interpretación"
) %>%
tab_header(
title = md("**Tabla N° 6**"),
subtitle = "Indicadores de dispersión del área de los países donde se ubican los volcanes"
) %>%
tab_source_note(
source_note = "Elaborado por: Grupo 2 - Carrera de Geología."
) %>%
cols_align(
align = "center",
columns = everything()
) %>%
tab_options(
table.font.names = "Times New Roman",
table.border.top.color = "transparent",
column_labels.border.top.color = "black",
column_labels.border.top.width = px(2),
column_labels.border.bottom.color = "black",
column_labels.border.bottom.width = px(2),
table_body.hlines.color = "transparent",
table_body.border.bottom.color = "black",
table_body.border.bottom.width = px(2)
)| Tabla N° 6 | |||
| Indicadores de dispersión del área de los países donde se ubican los volcanes | |||
| Indicador | Valor | Unidad | Interpretación |
|---|---|---|---|
| Varianza | 1.09596 × 10¹³ | km²² | Medida de dispersión al cuadrado |
| Desviación estándar | 3.31053 × 10⁶ | km² | Dispersión promedio respecto a la media |
| Coeficiente de variación | 195.05% | Dispersión relativa: ALTA (CV ≥ 30%) | |
| Elaborado por: Grupo 2 - Carrera de Geología. | |||
cuartiles <- quantile(area_km2_limpios)
Q1 <- cuartiles[2]
Q2 <- cuartiles[3]
Q3 <- cuartiles[4]
IQR_val <- IQR(area_km2_limpios)
# DETECCIÓN DE OUTLIERS
lim_inf_outlier <- Q1 - 1.5 * IQR_val
lim_sup_outlier <- Q3 + 1.5 * IQR_val
outliers <- area_km2_limpios[
area_km2_limpios < lim_inf_outlier |
area_km2_limpios > lim_sup_outlier
]
n_outliers <- length(outliers)
porc_outliers <- round((n_outliers / n) * 100, 2)
# TABLA DE POSICIÓN
posicion <- data.frame(
Indicador = c(
"Cuartil 1 (Q1)",
"Cuartil 2 (Q2 - Mediana)",
"Cuartil 3 (Q3)",
"Rango Intercuartílico (IQR)",
"Límite Inferior Outliers",
"Límite Superior Outliers",
"Número de Outliers"
),
Valor = c(
formato_cientifico_5(Q1),
formato_cientifico_5(Q2),
formato_cientifico_5(Q3),
formato_cientifico_5(IQR_val),
formato_cientifico_5(lim_inf_outlier),
formato_cientifico_5(lim_sup_outlier),
paste0(n_outliers, " (", porc_outliers, "%)")
),
Unidad = c(
rep("km²", 6),
"observaciones"
),
Interpretacion = c(
"25% de los países poseen áreas inferiores a este valor",
"50% de los países poseen áreas inferiores a este valor",
"75% de los países poseen áreas inferiores a este valor",
"Amplitud del 50% central de las áreas observadas",
"Límite inferior para identificar valores atípicos",
"Límite superior para identificar valores atípicos",
"Cantidad y porcentaje de valores atípicos detectados"
)
)
# TABLA GT SIMPLE
posicion %>%
gt() %>%
cols_align(
align = "center",
columns = everything()
) %>%
cols_label(
Indicador = "Indicador",
Valor = "Valor",
Unidad = "Unidad",
Interpretacion = "Interpretación"
) %>%
tab_header(
title = "Indicadores de Posición y Detección de Valores Atípicos"
)| Indicadores de Posición y Detección de Valores Atípicos | |||
| Indicador | Valor | Unidad | Interpretación |
|---|---|---|---|
| Cuartil 1 (Q1) | 2.76841 × 10⁵ | km² | 25% de los países poseen áreas inferiores a este valor |
| Cuartil 2 (Q2 - Mediana) | 3.7793 × 10⁵ | km² | 50% de los países poseen áreas inferiores a este valor |
| Cuartil 3 (Q3) | 1.90457 × 10⁶ | km² | 75% de los países poseen áreas inferiores a este valor |
| Rango Intercuartílico (IQR) | 1.62773 × 10⁶ | km² | Amplitud del 50% central de las áreas observadas |
| Límite Inferior Outliers | -2.16475 × 10⁶ | km² | Límite inferior para identificar valores atípicos |
| Límite Superior Outliers | 4.34616 × 10⁶ | km² | Límite superior para identificar valores atípicos |
| Número de Outliers | 75 (8.44%) | observaciones | Cantidad y porcentaje de valores atípicos detectados |
# COEFICIENTE DE ASIMETRÍA DE FISHER
asimetria <- skewness(area_km2_limpios)
# Interpretación de la asimetría
if(abs(asimetria) < 0.5) {
interpretacion_asimetria <- "Distribución aproximadamente simétrica"
} else if(asimetria > 0) {
interpretacion_asimetria <- "Asimetría positiva (sesgo a la derecha)"
} else {
interpretacion_asimetria <- "Asimetría negativa (sesgo a la izquierda)"
}
# COEFICIENTE DE CURTOSIS (EXCESO)
curtosis <- kurtosis(area_km2_limpios) - 3
# Interpretación de la curtosis
if(abs(curtosis) < 0.5) {
interpretacion_curtosis <- "Distribución mesocúrtica (similar a la normal)"
} else if(curtosis > 0) {
interpretacion_curtosis <- "Distribución leptocúrtica (más picuda)"
} else {
interpretacion_curtosis <- "Distribución platicúrtica (más aplanada)"
}
# TABLA DE FORMA
forma <- data.frame(
Indicador = c(
"Coeficiente de Asimetría (Fisher)",
"Interpretación de la Asimetría",
"Coeficiente de Curtosis (Exceso)",
"Interpretación de la Curtosis"
),
Valor = c(
round(asimetria, 4),
interpretacion_asimetria,
round(curtosis, 4),
interpretacion_curtosis
),
Formula = c(
"g₁ = E[(X-μ)³]/σ³",
"|g₁|<0.5: Simétrica; g₁>0: Positiva; g₁<0: Negativa",
"g₂ = E[(X-μ)⁴]/σ⁴ - 3",
"|g₂|<0.5: Mesocúrtica; g₂>0: Leptocúrtica; g₂<0: Platicúrtica"
)
)
# TABLA GT SIMPLE
forma %>%
gt() %>%
cols_label(
Indicador = "Indicador",
Valor = "Valor",
Formula = "Fórmula / Criterio"
) %>%
cols_align(
align = "center",
columns = everything()
) %>%
tab_header(
title = "Indicadores de Forma de la Distribución"
)| Indicadores de Forma de la Distribución | ||
| Indicador | Valor | Fórmula / Criterio |
|---|---|---|
| Coeficiente de Asimetría (Fisher) | 3.2801 | g₁ = E[(X-μ)³]/σ³ |
| Interpretación de la Asimetría | Asimetría positiva (sesgo a la derecha) | |g₁|<0.5: Simétrica; g₁>0: Positiva; g₁<0: Negativa |
| Coeficiente de Curtosis (Exceso) | 10.7005 | g₂ = E[(X-μ)⁴]/σ⁴ - 3 |
| Interpretación de la Curtosis | Distribución leptocúrtica (más picuda) | |g₂|<0.5: Mesocúrtica; g₂>0: Leptocúrtica; g₂<0: Platicúrtica |
tabla_resumen <- data.frame(
Categoria = c(
rep("Tendencia Central", 6),
rep("Dispersión", 3),
rep("Posición", 4),
rep("Forma", 4)
),
Indicador = c(
"Mínimo",
"Media",
"Mediana",
"Moda",
"Máximo",
"Rango",
"Varianza",
"Desviación estándar",
"Coeficiente de variación",
"Cuartil 1 (Q1)",
"Cuartil 2 (Q2)",
"Cuartil 3 (Q3)",
"Rango intercuartílico (IQR)",
"Asimetría (g₁)",
"Interpretación asimetría",
"Curtosis (g₂)",
"Interpretación curtosis"
),
Valor = c(
formato_cientifico_5(minimo),
formato_cientifico_5(media),
formato_cientifico_5(mediana),
formato_cientifico_5(moda),
formato_cientifico_5(maximo),
formato_cientifico_5(rango),
formato_cientifico_5(varianza),
formato_cientifico_5(desv_est),
paste0(round(CV, 2), "%"),
formato_cientifico_5(Q1),
formato_cientifico_5(Q2),
formato_cientifico_5(Q3),
formato_cientifico_5(IQR_val),
round(asimetria, 4),
interpretacion_asimetria,
round(curtosis, 4),
interpretacion_curtosis
),
Unidad = c(
rep("km²", 6),
"km⁴",
"km²",
"",
rep("km²", 4),
"", "", "", ""
)
)
# TABLA GT RESUMEN
tabla_resumen %>%
gt() %>%
cols_label(
Categoria = "Categoría",
Indicador = "Indicador",
Valor = "Valor",
Unidad = "Unidad"
) %>%
cols_align(
align = "center",
columns = everything()
) %>%
tab_header(
title = md("**Resumen General de Indicadores Estadísticos**"),
subtitle = "Variable: Área de los países donde se ubican los volcanes"
) %>%
tab_options(
table.font.names = "Times New Roman"
)| Resumen General de Indicadores Estadísticos | |||
| Variable: Área de los países donde se ubican los volcanes | |||
| Categoría | Indicador | Valor | Unidad |
|---|---|---|---|
| Tendencia Central | Mínimo | 1.02 × 10² | km² |
| Tendencia Central | Media | 1.69726 × 10⁶ | km² |
| Tendencia Central | Mediana | 3.7793 × 10⁵ | km² |
| Tendencia Central | Moda | 1.90457 × 10⁶ | km² |
| Tendencia Central | Máximo | 1.70982 × 10⁷ | km² |
| Tendencia Central | Rango | 1.70981 × 10⁷ | km² |
| Dispersión | Varianza | 1.09596 × 10¹³ | km⁴ |
| Dispersión | Desviación estándar | 3.31053 × 10⁶ | km² |
| Dispersión | Coeficiente de variación | 195.05% | |
| Posición | Cuartil 1 (Q1) | 2.76841 × 10⁵ | km² |
| Posición | Cuartil 2 (Q2) | 3.7793 × 10⁵ | km² |
| Posición | Cuartil 3 (Q3) | 1.90457 × 10⁶ | km² |
| Posición | Rango intercuartílico (IQR) | 1.62773 × 10⁶ | km² |
| Forma | Asimetría (g₁) | 3.2801 | |
| Forma | Interpretación asimetría | Asimetría positiva (sesgo a la derecha) | |
| Forma | Curtosis (g₂) | 10.7005 | |
| Forma | Interpretación curtosis | Distribución leptocúrtica (más picuda) | |
Escribe aquí tus conclusiones finales basadas en el análisis realizado.