Datos Vulcanológicos

Contexto

Esta base de datos recopila información clave sobre volcanes, proporcionando detalles sobre su actividad y emisiones. Se incluyen variables como el tipo de volcán, su altura máxima, la temperatura de la lava, la frecuencia de erupción y la emisión de dióxido de azufre (SO₂). El objetivo de esta base de datos es analizar patrones en la actividad volcánica, identificar relaciones entre las características físicas de los volcanes y su comportamiento eruptivo.

se importa la base de datos.

library(readxl)
df<- read_excel("Base_Datos_Vulcanologia.xlsx")
df
## # A tibble: 100 × 7
##    ID_Volcan Nombre_Volcan   Tipo_Volcan    Altura_m Frecuencia_Erupcion_Anios
##        <dbl> <chr>           <chr>             <dbl>                     <dbl>
##  1         1 Cotopaxi        Cono de Ceniza    2545.                      460.
##  2         2 Cotopaxi        Escudo            5952.                      447.
##  3         3 Galeras         Escudo            1574.                      349.
##  4         4 Etna            Estratovolcán     5913.                      117.
##  5         5 Etna            Estratovolcán     1555.                      411.
##  6         6 Galeras         Escudo            5179.                      203.
##  7         7 Kilauea         Cono de Ceniza    4085.                      414.
##  8         8 Kilauea         Estratovolcán     4668.                      121.
##  9         9 Etna            Cono de Ceniza    4248.                      189.
## 10        10 Nevado del Ruiz Escudo            1763.                      188.
## # ℹ 90 more rows
## # ℹ 2 more variables: Emision_SO2_Toneladas <dbl>, Temperatura_Lava_C <dbl>

La base de datos contiene 7 variables y 100 observaciones.

colnames(df)
## [1] "ID_Volcan"                 "Nombre_Volcan"            
## [3] "Tipo_Volcan"               "Altura_m"                 
## [5] "Frecuencia_Erupcion_Anios" "Emision_SO2_Toneladas"    
## [7] "Temperatura_Lava_C"

El archivo contiene 100 datos de volcanes, con variables como el nombre, tipo, altura, frecuencia de erupciones, emisión de SO₂ y temperatura de la lava. Esta información permite analizar las características físicas y la actividad eruptiva de cada volcán, facilitando el estudio de su comportamiento y potencial impacto ambiental.

str(df)
## tibble [100 × 7] (S3: tbl_df/tbl/data.frame)
##  $ ID_Volcan                : num [1:100] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Nombre_Volcan            : chr [1:100] "Cotopaxi" "Cotopaxi" "Galeras" "Etna" ...
##  $ Tipo_Volcan              : chr [1:100] "Cono de Ceniza" "Escudo" "Escudo" "Estratovolcán" ...
##  $ Altura_m                 : num [1:100] 2545 5952 1574 5913 1555 ...
##  $ Frecuencia_Erupcion_Anios: num [1:100] 460 447 349 117 411 ...
##  $ Emision_SO2_Toneladas    : num [1:100] 10769 15834 18172 13928 33982 ...
##  $ Temperatura_Lava_C       : num [1:100] 825 849 1108 624 891 ...
sapply(df, class)  #Nos muestra la clase de cada columna
##                 ID_Volcan             Nombre_Volcan               Tipo_Volcan 
##                 "numeric"               "character"               "character" 
##                  Altura_m Frecuencia_Erupcion_Anios     Emision_SO2_Toneladas 
##                 "numeric"                 "numeric"                 "numeric" 
##        Temperatura_Lava_C 
##                 "numeric"

Los tipos de variables son categoricos y numericos, las variables categoricas son el Tipo de Volcán y el Nombre del Volcán, las variables numericas son Altura, Frecuencia de Erupción, Emisión de S02 y Temperatura de Lava.

Variables Categóricos

Nombre_Volcan: Nombre del volcán.

Tipo_Volcan: Tipo de volcán (Cono de ceniza, Estratovolcán, etc.).

Variables Numéricos

Altura_m: Altura del volcán en metros.

Frecuencia_Erupcion_Anios: Frecuencia de erupción en años.

Emision_SO2_Toneladas: Emisión de SO2 en toneladas.

Temperatura_Lava_C: Temperatura de la lava en grados Celsius

Resúmen

library(skimr)
skim(df)
Data summary
Name df
Number of rows 100
Number of columns 7
_______________________
Column type frequency:
character 2
numeric 5
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
Nombre_Volcan 0 1 4 15 0 5 0
Tipo_Volcan 0 1 6 14 0 3 0

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
ID_Volcan 0 1 50.50 29.01 1.00 25.75 50.50 75.25 100.00 ▇▇▇▇▇
Altura_m 0 1 3422.29 1608.77 524.19 2307.02 3368.33 4741.22 5980.63 ▇▅▇▇▇
Frecuencia_Erupcion_Anios 0 1 220.91 148.68 1.81 95.45 198.60 350.85 497.67 ▇▇▆▃▅
Emision_SO2_Toneladas 0 1 26307.95 14403.14 202.18 13926.01 25817.96 38089.49 49979.49 ▅▇▅▇▆
Temperatura_Lava_C 0 1 892.80 179.78 609.19 725.98 892.12 1050.35 1197.99 ▇▆▅▆▇

Frecuencia

Creamos una tabla para ver la frecuencia de la variable categórica Tipos de Volcán.

Esta tabla permite identificar cuál es el tipo de volcán más común y cuál es el menos frecuente, facilitando la comparación entre categorías

library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# Crear tabla de resumen
Tabla_Volcán <- df %>%
  dplyr::group_by(Tipo_Volcan) %>%
  dplyr::summarise(Total = n())
Tabla_Volcán
## # A tibble: 3 × 2
##   Tipo_Volcan    Total
##   <chr>          <int>
## 1 Cono de Ceniza    30
## 2 Escudo            34
## 3 Estratovolcán     36

Diagrama Circular

library(ggplot2)

# Gráfico Circular
ggplot(Tabla_Volcán, aes(x = "", y = Total, fill =Tipo_Volcan)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y", start = 0) +
  labs(title = "Frecuencia Tipo de Volcán") +
  theme_void() +  # Elimina ejes y grillas
  scale_fill_brewer(palette = "Paired")  # Paleta de colores

Se observa que el Estratovolcán es el tipo de volcán más común en la base de datos. Los Conos de Ceniza y los Volcanes de Escudo tienen proporciones similares, el grafico muestra que los volcanes Escudo son los mas frecuentes. El gráfico permite visualizar fácilmente la distribución relativa de los diferentes tipos de volcanes.

Histograma

Este histograma representa la distribución de emisiones de dióxido de azufre (SO₂) en toneladas.

library(ggplot2)

ggplot(df, aes(x = Emision_SO2_Toneladas)) +  
  geom_histogram(binwidth = 5000, fill = "blue", color = "black") +  
  theme_minimal()

#eje X se representan las emisiones, mientras 
#eje Y indica la frecuencia de observaciones en cada rango.

El Histograma permite visualizar qué valores son más comunes. La distribución es variable, con algunos intervalos más frecuentes, lo que sugiere ciertos patrones en las emisiones de SO2. Este histograma ayuda a analizar la dispersión y concentración de los datos.

Dispersion y valores atípicos

boxplot(df$Altura_m, horizontal=TRUE, col='steelblue')

la Distribucion de una variable numerica (Altura(m)). Los extremos de los bigotes muestran el rango dentro del cual se encuentran la mayoría de los datos, extendiéndose hasta un máximo de aproximadamente 6000 m. No se observan valores atípicos, la distribución de la variable altura es uniforme sin valores extremos que se alejen del resto de los datos.

Estimaciones estadísticas

#cargamos los packages
library(ggplot2)
library(dplyr)
library(readxl)

# Cargamos la base de datos
file_path <- "Base_Datos_Vulcanologia.xlsx"
datos <- read_excel(file_path, sheet = "Vulcanologia")

Estimación de la media

Usamos la variable (Temperatura_Lava_C)

# 1. Estimación de la Media (Temperatura de la Lava)
temperatura <- datos$Temperatura_Lava_C
media_muestral <- mean(temperatura, na.rm = TRUE)
n <- sum(!is.na(temperatura))
desv_est <- sd(temperatura, na.rm = TRUE)
error_est <- desv_est / sqrt(n)
confianza <- 0.95
alpha <- 1 - confianza
t_critico <- qt(1 - alpha/2, df = n-1)
IC_media <- c(media_muestral - t_critico * error_est, media_muestral + t_critico * error_est)
IC_media
## [1] 857.1281 928.4732

El intervalo de confianza al 95% para la media de la temperatura de la lava está entre 857.13°C y 928.47°C.

Estimación de proporción

#  Estimación de una Proporción (Volcanes tipo Estratovolcán)
exitos <- sum(datos$Tipo_Volcan == "Estratovolcán", na.rm = TRUE)
total <- n
IC_prop <- prop.test(exitos, total, conf.level = confianza)$conf.int
IC_prop
## [1] 0.2681721 0.4627255
## attr(,"conf.level")
## [1] 0.95
#prop.test() =para calcular un intervalo de confianza

El intervalo de confianza indica que la proporción de estratovolcanes en la base de datos está entre 26.8% y 46.3%, con un 95% de seguridad.

Estimación de la varianza

para hacer este calculo usaremos la variable (Frecuencia de erupcion)

#Estimación de la Varianza (Frecuencia de Erupción)
frecuencia <- datos$Frecuencia_Erupcion_Anios
chi_critico_inf <- qchisq(alpha/2, df = n-1)
chi_critico_sup <- qchisq(1 - alpha/2, df = n-1)
IC_varianza <- c((n-1) * (var(frecuencia, na.rm = TRUE)) / chi_critico_sup, 
                 (n-1) * (var(frecuencia, na.rm = TRUE)) / chi_critico_inf)
IC_varianza
## [1] 17040.94 29830.95

El intervalo de confianza nos dice que la varianza de la frecuencia de erupción de los volcanes está entre 17,040.94 y 29,830.95 con un 95% de seguridad.

Diferencia de medias

dos muestras para comparar las temperaturas de lava entre estratovolcanes y otros tipos de volcanes.

# Verificar cómo están escritos los valores en la columna Tipo_Volcan
unique(df$Tipo_Volcan)
## [1] "Cono de Ceniza" "Escudo"         "Estratovolcán"
# Crear los vectores con temperaturas de lava, según el tipo de volcán
lava_estratos <- na.omit(df$Temperatura_Lava_C[df$Tipo_Volcan == "Estratovolcán"])
lava_otros <- na.omit(df$Temperatura_Lava_C[df$Tipo_Volcan != "Estratovolcán"])

# Realizar la prueba t de dos muestras independientes (Welch)
resultado <- t.test(lava_estratos, lava_otros, var.equal = FALSE)

# Mostrar el intervalo de confianza del 95%
resultado$conf.int
## [1] -78.76972  63.09756
## attr(,"conf.level")
## [1] 0.95
# Mostrar el valor p
resultado$p.value
## [1] 0.826665
#Welch:Se usa para comparar las medias de dos grupos independientes.
#unique:para mostrar los valores únicos de un vector o columna. Esto  dirá qué tipos diferentes de volcán hay en la columna.

Se compararon las temperaturas de lava entre estratovolcanes y otros volcanes con una prueba t de dos muestras. Los resultados mostraron un valor p de 0.8355, lo que indica que no hay una diferencia significativa entre ambos grupos. El intervalo de confianza del 95% incluye el 0, la diferencia de medias fue de −78.77 y 63.10.

Diferencia de proporciones

La variable esencial para este cálculo es Tipo de volcan

# 5. Diferencia de Proporciones (Comparación de tipos de volcanes)
exitos1 <- sum(datos$Tipo_Volcan == "Estratovolcán", na.rm = TRUE)
total1 <- n
exitos2 <- sum(datos$Tipo_Volcan == "Escudo", na.rm = TRUE)
total2 <- n
prop.test(c(exitos1, exitos2), c(total1, total2), conf.level = confianza)
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(exitos1, exitos2) out of c(total1, total2)
## X-squared = 0.021978, df = 1, p-value = 0.8821
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.1221777  0.1621777
## sample estimates:
## prop 1 prop 2 
##   0.36   0.34
#exitos =tipo de volcan escogido

La prueba indica que no hay una diferencia significativa entre la cantidad de estratovolcanes y volcanes de escudo en el conjunto de datos. Las proporciones son parecidas, por lo que no se puede afirmar que un tipo de volcán sea más común que el otro en la muestra.

Hipótesis estadística de la Media

Planteamiento

queremos probar si la temperatura promedio de la lava de los volcanes tipo Estratovolcán supera un umbral específico que en este caso sera tomado como 900°C, con un nivel de significancia α=0.05.

Planteamiento de Hipótesis:

H₀ (Hipótesis nula): La temperatura media de la lava en Estratovolcanes ≤ 900°C. (μ ≤ 900) H₁ (Hipótesis alternativa): La temperatura media es > 900°C. (μ > 900)

Carga de datos

# Cargar datos
library(readxl)
datos <- read_excel("Base_Datos_Vulcanologia.xlsx", sheet = "Vulcanologia")

# Filtrar datos para Estratovolcanes
estratovolcanes <- subset(datos, Tipo_Volcan == "Estratovolcán")

# Definir parámetros
media_muestra <- mean(estratovolcanes$Temperatura_Lava_C)
sd_muestra <- sd(estratovolcanes$Temperatura_Lava_C)
n <- nrow(estratovolcanes)
media_hipotetica <- 900  # Umbral de comparación
alpha <- 0.05

# Calcular t-calculado
t_calculado <- (media_muestra - media_hipotetica) / (sd_muestra / sqrt(n))

# Calcular t-crítico (una cola, prueba derecha)
t_critico <- qt(1 - alpha, df = n - 1)


#Resultados

cat("Media muestral:", media_muestra, "°C\n")
## Media muestral: 887.7855 °C
cat("Desviación estándar:", sd_muestra, "\n")
## Desviación estándar: 158.4321
cat("t-calculado:", t_calculado, "\n")
## t-calculado: -0.462575
cat("t-crítico:", t_critico, "\n")
## t-crítico: 1.689572

Cálculo P.Valor

# Calcular p-valor (una cola)
p_value <- 1 - pt(t_calculado, df = n - 1)

#Resultado
cat("p-valor:", p_value, "\n")
## p-valor: 0.6767339

Decisión

# Decisión
if (t_calculado > t_critico) {
  cat("Conclusión: Rechazamos H₀ (la temperatura media es > 900°C)\n")
}else {
  cat("Conclusión: No hay evidencia para rechazar H₀\n")
 }
## Conclusión: No hay evidencia para rechazar H₀

Gráfica

library(ggplot2)

# Cargar datos y calcular parámetros (usando el ejemplo de estratovolcanes)
library(readxl)
datos <- read_excel("Base_Datos_Vulcanologia.xlsx", sheet = "Vulcanologia")
estratovolcanes <- subset(datos, Tipo_Volcan == "Estratovolcán")

media_muestra <- mean(estratovolcanes$Temperatura_Lava_C)
sd_muestra <- sd(estratovolcanes$Temperatura_Lava_C)
n <- nrow(estratovolcanes)
media_hipotetica <- 900  # Umbral
alpha <- 0.05

# Cálculos estadísticos
t_calculado <- (media_muestra - media_hipotetica) / (sd_muestra / sqrt(n))
t_critico <- qt(1 - alpha, df = n - 1)
gl <- n - 1  # Grados de libertad

# Generar datos para la curva t
x <- seq(-4, 8, length = 200)
y <- dt(x, df = gl)  # Usamos 'gl' definido arriba


ggplot(data.frame(x, y), aes(x, y)) +
  geom_line(color = "blue", linewidth = 1) +
  # Región crítica (cola derecha)
  geom_area(data = subset(data.frame(x, y), x > t_critico), 
            aes(x = x, y = y), fill = "red", alpha = 0.5) +
  # Línea del t-calculado
  geom_vline(xintercept = t_calculado, color = "black", linetype = "dashed", linewidth = 1) +
  # Línea del t-crítico
  geom_vline(xintercept = t_critico, color = "darkgreen", linetype = "dotted", linewidth = 1) +
  # Etiquetas
  labs(
    title = paste("Distribución t-Student (gl =", gl, ") con Región Crítica"),
    subtitle = paste("Prueba unilateral derecha: Temperatura >", media_hipotetica, "°C"),
    x = "Valor t", 
    y = "Densidad"
  ) +
  # Anotaciones
  annotate("text", x = t_calculado, y = 0.1, 
           label = paste("t-calculado =", round(t_calculado, 2)), 
           hjust = -0.2, color = "black") +
  annotate("text", x = t_critico, y = 0.2, 
           label = paste("t-crítico =", round(t_critico, 2)), 
           hjust = -0.2, color = "darkgreen") +
 theme_minimal()

Conclusión

Con un nivel de significancia de α = 0.05, no se encontró evidencia suficiente para rechazar la hipótesis nula.
Por lo tanto, se concluye que la temperatura media de la lava en los volcanes tipo Estratovolcán no difiere significativamente de 900°C.

Hipótesis estadística Varianza

Planteamiento

Un equipo de investigación quiere analizar si la variabilidad en la temperatura de la lava de los volcanes tipo “Estratovolcán” es significativamente diferente a la esperada según estudios previos, los cuales indican que la varianza poblacional de esta temperatura es de 40,000°C². Se toma una muestra de volcanes tipo Estratovolcán desde la base de datos proporcionada y se calcula la varianza muestral. ¿Se puede afirmar, con un nivel de significancia de α=0.05, que la varianza de temperatura difiere de lo esperado?

Carga de datos

library(readxl)
datos <- read_excel("Base_Datos_Vulcanologia.xlsx")

# Seleccionar datos ("Estratovolcán")
estratovolcanes <- subset(datos, Tipo_Volcan == "Estratovolcán")

# Tomar la columna de temperatura de lava y eliminar valores faltantes
temperaturas <- na.omit(estratovolcanes$Temperatura_Lava_C)

# Definir el tamaño de la muestra y calcular la varianza observada
n <- length(temperaturas)        
s2 <- var(temperaturas)          

# Establecer el valor hipotético de la varianza según estudios previos
var_esperada <- 40000            

#Resultado

cat("Cantidad de volcanes tipo Estratovolcán analizados:", n, "\n")
## Cantidad de volcanes tipo Estratovolcán analizados: 36
cat("Varianza muestral obtenida:", round(s2, 2), "\n")
## Varianza muestral obtenida: 25100.73

Cálculo de Chi-cuadrado

chi2_calculado <- (n - 1) * s2 / var_esperada

#Resultado

cat("Valor del estadístico de prueba:", round(chi2_calculado, 4), "\n")
## Valor del estadístico de prueba: 21.9631

Puntos críticos Chi-cuadrado

# Determinar los puntos críticos del chi-cuadrado para una prueba de dos colas con α = 0.05
alpha <- 0.05
chi2_critico_inf <- qchisq(alpha / 2, df = n - 1)
chi2_critico_sup <- qchisq(1 - alpha / 2, df = n - 1)

#Resultado

cat("Intervalo de aceptación bajo H0: [", round(chi2_critico_inf, 4), ",", round(chi2_critico_sup, 4), "]\n")
## Intervalo de aceptación bajo H0: [ 20.5694 , 53.2033 ]

Gráfica

 library(ggplot2)

# Crear datos
x_vals <- seq(0, 60, length.out = 1000)
dens_vals <- dchisq(x_vals, df = n - 1)
df_plot <- data.frame(x = x_vals, y = dens_vals)

# Asignar regiones según valores críticos
df_plot$region[df_plot$x < chi2_critico_inf] <- "Cola Izquierda"
df_plot$region[df_plot$x > chi2_critico_sup] <- "Cola Derecha"
df_plot$region[is.na(df_plot$region)] <- "Centro"

# Graficar
ggplot(df_plot, aes(x = x, y = y)) +
  geom_line(color = "blue") +
  geom_area(data = subset(df_plot, region != "Centro"),
            aes(fill = region), alpha = 0.5) +
  geom_vline(xintercept = chi2_calculado, linetype = "dashed", color = "black") +
  scale_fill_manual(values = c("Cola Izquierda" = "red", "Cola Derecha" = "red")) +
  labs(
    title = "Distribución Chi-cuadrado con Regiones Críticas",
    x = "Chi-cuadrado",
    y = "Densidad"
  )

Decisión

# Evaluar la hipótesis nula con base en el resultado obtenido
if (chi2_calculado < chi2_critico_inf | chi2_calculado > chi2_critico_sup) {
  cat("↳ Resultado: Se rechaza H0. La varianza difiere significativamente de 40000.\n")
} else {
  cat("↳ Resultado: No se rechaza H0. No hay suficiente evidencia para decir que la varianza es distinta.\n")
}
## ↳ Resultado: No se rechaza H0. No hay suficiente evidencia para decir que la varianza es distinta.

Conclusión

Dado que el estadístico de prueba 21.96 se encuentra dentro del intervalo de no rechazo, no se rechaza la hipótesis nula. Es decir, no hay evidencia estadísticamente significativa para afirmar que la varianza de la temperatura de lava en los volcanes tipo Estratovolcán difiere de 40,000°C².

Hipótesis estadístico Proporción

Planteamiento

se quiere evaluar si la proporción de volcanes tipo Estratovolcán en la base de datos es mayor al 50% del total de volcanes registrados. Para esto, realizaremos una prueba de hipótesis para una proporción con un nivel de significancia de α = 0.05.

Datos

x <- 36
n <- 100
p0 <- 0.5

Planteamiento de Hipotesis

H₀ (Hipótesis nula): La proporción de Estratovolcanes es menor o igual al 50%.
H₀: p ≤ 0.5

H₁ (Hipótesis alternativa): La proporción de Estratovolcanes es mayor al 50%.
H₁: p > 0.5

Carga de datos

# Cargar datos
library(readxl)
library(ggplot2)

# Leer los datos
datos <- read_excel("Base_Datos_Vulcanologia.xlsx")

x <- 36         # número de éxitos (estratovolcanes)
n <- 100        # tamaño de la muestra
p0 <- 0.5       # proporción bajo H0

# Proporción muestral
p_hat <- x / n

# Error estándar
SE <- sqrt(p0 * (1 - p0) / n)

# Estadístico de prueba z
z <- (p_hat - p0) / SE

#Resultado

cat("Proporción observada:", p_hat, "\n")
## Proporción observada: 0.36
cat("Error estándar:", SE, "\n")
## Error estándar: 0.05
cat("Estadístico z:", z, "\n")
## Estadístico z: -2.8

Valor P

# Valor-p para cola derecha (porque H1: p > p0)
p_valor <- pnorm(z, lower.tail = FALSE)

#Resultado
cat("Valor-p:", p_valor, "\n")
## Valor-p: 0.9974449

Gráfica

# Cálculos
p_hat <- x / n
SE <- sqrt(p0 * (1 - p0) / n)
z <- (p_hat - p0) / SE

# Crear secuencia de z valores
z_vals <- seq(-4, 4, by = 0.01)
density_vals <- dnorm(z_vals)

# Crear data frame para ggplot
df <- data.frame(z = z_vals, density = density_vals)

# Gráfica
ggplot(df, aes(x = z, y = density)) +
  geom_line(color = "blue") +
  geom_area(data = subset(df, z >= qnorm(0.95)),
            aes(x = z, y = density),
            fill = "red", alpha = 0.3) +
  geom_vline(xintercept = z, color = "darkgreen", linetype = "dashed", size = 1.2) +
  labs(title = "Distribución Normal Estándar (Prueba de Proporción)",
       subtitle = paste("Estadístico z =", round(z, 2)),
       x = "z",
       y = "Densidad") +
  annotate("text", x = z + 0.5, y = 0.1,
           label = paste("z observado =", round(z, 2)),
           color = "darkgreen") +
  annotate("text", x = qnorm(0.95), y = 0.02,
           label = "Región crítica\n(z > 1.645)", color = "red", hjust = 0)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Decisión

# Decisión con α = 0.05
if (p_valor < 0.05) {
  cat("Se rechaza H0: la proporción es significativamente mayor a 0.5\n")
} else {
  cat("No se rechaza H0: no hay evidencia suficiente de que la proporción sea mayor a 0.5\n")
}
## No se rechaza H0: no hay evidencia suficiente de que la proporción sea mayor a 0.5

Conclusión

No hay evidencia estadística suficiente para afirmar que la proporción de estratovolcanes es mayor al 50%. Por el contrario, los datos sugieren que la proporción de estratovolcanes podría ser incluso inferior al 50%.

Planteamiento ANOVA

Un estudio vulcanológico analiza la emisión de SO₂ (toneladas) de tres tipos de volcanes: Cono de Ceniza, Escudo y Estratovolcán. Se midieron las emisiones de SO₂ en 10 volcanes de cada tipo. ¿Existen diferencias significativas en la emisión de SO₂ entre los tipos de volcán?

Hipótesis

Hipótesis nula (H₀):
μ1=μ2=μ3 (no hay diferencias significativas)

Hipótesis alternativa (Hₐ):
Ha: Al menos dos medias difieren.

Ingreso de datos

# Datos
grupo1_cono_de_ceniza <- c(10768.9, 45777.6, 7059.1, 15981.7, 37318.2, 10913.3, 3893.1, 49168.5, 34732.2, 31032.7)
grupo2_Escudo <- c(15834.4, 38397.3, 44627.3, 8905.5, 42743.3, 25233.3, 38692.5, 17921.8, 14116.0, 18818.4)
grupo3_estratovolcán <- c(13428.8, 20009.9, 32485.4, 17095.9, 35487.5, 29959.4, 37069.1, 13928.2, 33981.6, 47871.5)

Calculo de medias

# Medias de cada grupo
media1 <- mean(grupo1_cono_de_ceniza)
media2 <- mean(grupo2_Escudo)
media3 <- mean(grupo3_estratovolcán)

# Media total
media_total <- mean(c(grupo1_cono_de_ceniza, grupo2_Escudo, grupo3_estratovolcán))

cat("Medias por grupo:", media1, media2, media3, "\n")
## Medias por grupo: 24664.53 26528.98 28131.73

El grupo de estratovolcanes presenta la media más alta, seguido por el grupo de volcanes tipo escudo y finalmente el grupo de conos de ceniza, con la media más baja. Estas diferencias en las medias sugieren que podría existir una variación entre los grupos.

Calcular SST

# Todos los datos y media total
todos <- c(grupo1_cono_de_ceniza, grupo2_Escudo, grupo3_estratovolcán)

# SST = suma de (x - media_total)^2
sst <- sum((todos - media_total)^2)

cat("SST (Total):", sst, "\n")
## SST (Total): 5386783066

El valor de la Suma Total de Cuadrados (SST) fue de 538,678,306.6, lo que indica que existe una alta variabilidad total en el conjunto de datos. Esta variabilidad incluye tanto las diferencias entre los grupos como las diferencias de cada grupo.

Calcular SSA

# Tamaño de cada grupo
n <- length(grupo1_cono_de_ceniza)  # todos tienen 10

# SSA = n * [(media1 - media_total)^2 + (media2 - media_total)^2 + (media3 - media_total)^2]
ssa <- n * ((media1 - media_total)^2 + (media2 - media_total)^2 + (media3 - media_total)^2)

cat("SSA (Entre grupos):", ssa, "\n")
## SSA (Entre grupos): 60221524

La Suma de Cuadrados Entre Grupos (SSA) fue de 602,215.24, lo que representa solo una pequeña parte de la variabilidad total (SST)

Calcular SSE

# SSE = suma de (x_ij - media_grupo)^2
sse <- sst - ssa

cat("SSE (Dentro de grupos):", sse, "\n")
## SSE (Dentro de grupos): 5326561542

El valor de la Suma de Cuadrados Dentro de los Grupos (SSE) fue de 532,656,154.2, lo que representa la mayor parte de la variabilidad total (SST = 538,678,306.6).

Esto indica que la mayoría de la variabilidad en la emisión de SO₂ no se debe a diferencias entre los tipos de volcanes, sino que ocurre entre volcanes del mismo tipo.

Verificacion de SST= SSA+SSE

sst=
  ssa + sse  # debe dar igual o muy cercano a sst (por redondeo)

Calculo de MSA , MSE y F

#MSA

k <- 3      # número de grupos
N <- 30     # total de datos

msa <- ssa / (k - 1)

cat("MSA:", msa, "\n")
## MSA: 30110762
#MSE
mse <- sse / (N - k)

cat("MSE:", mse, "\n")
## MSE: 197280057
#F
f <- msa / mse



# Imprimir valor de F
print(f)
## [1] 0.1526295
# Usando los grados de libertad del problema
gl_entre <- 3 - 1     # 2
gl_dentro <- 30 - 3   # 27

alpha <- 0.05

F_calculado <- 1917.702   


F_critico <- qf(1 - alpha, df1 = gl_entre, df2 = gl_dentro)
cat("Valor crítico F para alpha =", alpha, "es:", F_critico, "\n")
## Valor crítico F para alpha = 0.05 es: 3.354131

El valor del estadístico F es muy bajo (0.15), lo que indica que la variabilidad entre los grupos (tipos de volcán) es mucho menor que la variabilidad dentro de los grupos. Esto sugiere que no hay evidencia estadísticamente significativa para afirmar que las emisiones de SO₂ difieren entre los tres tipos de volcanes.

Conclusión

# Comparar estadístico F calculado con valor crítico
if (F_calculado > F_critico) {
  cat("Conclusión: Rechazamos la hipótesis nula. Hay diferencias significativas entre los grupos.\n")
} else {
  cat("Conclusión: No rechazamos la hipótesis nula. No hay diferencias significativas entre los grupos.\n")
}
## Conclusión: Rechazamos la hipótesis nula. Hay diferencias significativas entre los grupos.

De acuerdo con los resultados del ANOVA, no se encuentran diferencias significativas en la emisión de SO₂ entre los tipos de volcanes: Cono de Ceniza, Escudo y Estratovolcán.

Por lo tanto, se concluye que cualquier diferencia observada puede atribuirse al azar y no a un efecto real del tipo de volcán sobre la emisión de SO₂.