1. Carga de Datos

library(readxl)
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)

datos <- read_excel("Base_Datos_Geologia_Fosil.xlsx")

# Filtrar solo Braquiópodo y Dinosaurio
datos <- datos %>%
  filter(Tipo_Fosil %in% c("Braquiópodo", "Dinosaurio")) %>%
  mutate(Tipo_Fosil = factor(Tipo_Fosil))

2. Estructura de los Datos

str(datos)
## tibble [53 × 5] (S3: tbl_df/tbl/data.frame)
##  $ ID_Fosil           : num [1:53] 1 2 3 4 5 7 8 9 10 12 ...
##  $ Tipo_Fosil         : Factor w/ 2 levels "Braquiópodo",..: 1 1 1 1 2 2 1 1 2 1 ...
##  $ Edad_Millones_Anios: num [1:53] 270.8 479.1 71.4 310.2 87.4 ...
##  $ Profundidad_m      : num [1:53] 9.48 70.66 85.31 23.79 80.87 ...
##  $ Tasa_Fosilizacion_%: num [1:53] 52 35.6 14.2 61.8 73.6 ...
summary(datos)
##     ID_Fosil           Tipo_Fosil Edad_Millones_Anios Profundidad_m   
##  Min.   : 1.00   Braquiópodo:25   Min.   : 66.8       Min.   : 7.213  
##  1st Qu.:17.00   Dinosaurio :28   1st Qu.:120.6       1st Qu.:31.721  
##  Median :38.00                    Median :258.7       Median :56.168  
##  Mean   :45.04                    Mean   :261.1       Mean   :54.440  
##  3rd Qu.:74.00                    3rd Qu.:378.1       3rd Qu.:77.802  
##  Max.   :99.00                    Max.   :499.6       Max.   :99.861  
##  Tasa_Fosilizacion_%
##  Min.   :11.13      
##  1st Qu.:33.69      
##  Median :52.04      
##  Mean   :51.18      
##  3rd Qu.:64.55      
##  Max.   :89.20

3. Análisis Descriptivo

# Histograma de Edad
ggplot(datos, aes(x = Edad_Millones_Anios)) +
  geom_histogram(binwidth = 10, fill = "skyblue", color = "black") +
  labs(title = "Histograma de Edad de Fósiles", x = "Edad (millones de años)", y = "Frecuencia")

# Boxplot por Tipo de Fósil
ggplot(datos, aes(x = Tipo_Fosil, y = Edad_Millones_Anios, fill = Tipo_Fosil)) +
  geom_boxplot() +
  labs(title = "Boxplot de Edad por Tipo de Fósil", y = "Edad (millones de años)", x = "")

# Gráfico de barras
ggplot(datos, aes(x = Tipo_Fosil)) +
  geom_bar(fill = "lightgreen") +
  labs(title = "Frecuencia de Tipos de Fósiles", x = "Tipo de Fósil", y = "Conteo")

4. Estimaciones Estadísticas

4.1 Intervalo de Confianza para la Media

media <- mean(datos$Edad_Millones_Anios, na.rm = TRUE)
se <- sd(datos$Edad_Millones_Anios, na.rm = TRUE) / sqrt(sum(!is.na(datos$Edad_Millones_Anios)))
ic <- c(media - qt(0.975, df = length(na.omit(datos$Edad_Millones_Anios)) - 1) * se,
        media + qt(0.975, df = length(na.omit(datos$Edad_Millones_Anios)) - 1) * se)
ic
## [1] 222.5410 299.7209

4.2 Intervalo de Confianza para una Proporción

tabla <- table(datos$Tipo_Fosil)
prop <- prop.table(tabla)["Braquiópodo"]
n <- sum(tabla)
error <- sqrt(prop * (1 - prop) / n)
ic_prop <- c(prop - qnorm(0.975) * error, prop + qnorm(0.975) * error)
ic_prop
## Braquiópodo Braquiópodo 
##   0.3373031   0.6060932

4.3 Intervalo de Confianza para la Varianza

varianza <- var(datos$Edad_Millones_Anios, na.rm = TRUE)
n_var <- sum(!is.na(datos$Edad_Millones_Anios))
ic_var <- c((n_var - 1) * varianza / qchisq(0.975, df = n_var - 1),
            (n_var - 1) * varianza / qchisq(0.025, df = n_var - 1))
ic_var
## [1] 13809.29 30006.41

4.4 Diferencia de Medias entre Grupos

grupo1 <- datos %>% filter(Tipo_Fosil == "Braquiópodo") %>% pull(Edad_Millones_Anios)
grupo2 <- datos %>% filter(Tipo_Fosil == "Dinosaurio") %>% pull(Edad_Millones_Anios)
t.test(grupo1, grupo2, var.equal = FALSE)
## 
##  Welch Two Sample t-test
## 
## data:  grupo1 and grupo2
## t = 0.17911, df = 50.7, p-value = 0.8586
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -70.95749  84.85644
## sample estimates:
## mean of x mean of y 
##  264.8024  257.8529

4.5 Diferencia de Proporciones

datos$Alta_Tasa <- ifelse(datos$`Tasa_Fosilizacion_%` > 50, 1, 0)
tabla_prop <- table(datos$Tipo_Fosil, datos$Alta_Tasa)
prop.test(x = tabla_prop[,2], n = rowSums(tabla_prop))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  tabla_prop[, 2] out of rowSums(tabla_prop)
## X-squared = 0.39303, df = 1, p-value = 0.5307
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.4250095  0.1792952
## sample estimates:
##    prop 1    prop 2 
## 0.5200000 0.6428571

4.6 Razón de Varianzas

var.test(grupo1, grupo2)
## 
##  F test to compare two variances
## 
## data:  grupo1 and grupo2
## F = 0.92545, num df = 24, denom df = 27, p-value = 0.8529
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
##  0.4216944 2.0693786
## sample estimates:
## ratio of variances 
##          0.9254482

5. Conclusión

Este análisis comparó la edad y tasa de fosilización entre Braquiópodos y Dinosaurios. Se estimaron intervalos de confianza, proporciones y se realizaron comparaciones entre grupos.

📌 Notas Finales

Este informe fue desarrollado en R y publicado en RPubs para facilitar su visualización y análisis reproducible.