# Limpiar Globar Eviroment

remove(list = ls())
#1. Cargar los Datos:

#install.packages("palmerpenguins")
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
# Abrir Palmerpenguins y sus datos
library(palmerpenguins)
## Warning: package 'palmerpenguins' was built under R version 4.3.3
data("penguins")

# Ver las primeras filas de los datos para verificar
head(penguins)
## # A tibble: 6 × 8
##   species island    bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
##   <fct>   <fct>              <dbl>         <dbl>             <int>       <int>
## 1 Adelie  Torgersen           39.1          18.7               181        3750
## 2 Adelie  Torgersen           39.5          17.4               186        3800
## 3 Adelie  Torgersen           40.3          18                 195        3250
## 4 Adelie  Torgersen           NA            NA                  NA          NA
## 5 Adelie  Torgersen           36.7          19.3               193        3450
## 6 Adelie  Torgersen           39.3          20.6               190        3650
## # ℹ 2 more variables: sex <fct>, year <int>
pinguinos <- penguins

#2. Manipulacion de Datos:

# Eliminar las filas con valores faltantes
pinguinoslimpio <- na.omit(pinguinos)

# Seleccionar las variables numéricas y la especie
pinguinosnumericos <- pinguinoslimpio[, c("species", "bill_length_mm", "bill_depth_mm",
                                          "flipper_length_mm", "body_mass_g")]

# Verificar la limpieza de los datos
head(pinguinoslimpio)
## # A tibble: 6 × 8
##   species island    bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
##   <fct>   <fct>              <dbl>         <dbl>             <int>       <int>
## 1 Adelie  Torgersen           39.1          18.7               181        3750
## 2 Adelie  Torgersen           39.5          17.4               186        3800
## 3 Adelie  Torgersen           40.3          18                 195        3250
## 4 Adelie  Torgersen           36.7          19.3               193        3450
## 5 Adelie  Torgersen           39.3          20.6               190        3650
## 6 Adelie  Torgersen           38.9          17.8               181        3625
## # ℹ 2 more variables: sex <fct>, year <int>
#3. Comparaciones entre Especies en Pares:

# Filtrar los pares de especies
adelie_chinstrap <- subset(pinguinosnumericos, species %in% c("Adelie", "Chinstrap"))
adelie_gentoo <- subset(pinguinosnumericos, species %in% c("Adelie", "Gentoo"))
chinstrap_gentoo <- subset(pinguinosnumericos, species %in% c("Chinstrap", "Gentoo"))

#4. Visualizaciones:

# body_mass_g entre Adelie vs Chinstrap
# Boxplot con puntos dispersos
ggplot(adelie_chinstrap, aes(x = species, y = body_mass_g, color = species)) +
  geom_boxplot() +
  geom_jitter(width = 0.2) +
  ggtitle("Distribución de masa corporal: Adelie vs Chinstrap")

# Gráfico de densidad
ggplot(adelie_chinstrap, aes(x = body_mass_g, fill = species)) +
  geom_density(alpha = 0.5) +
  ggtitle("Densidad de masa corporal: Adelie vs Chinstrap")

#5. Pruebas t:

# Prueba t para masa corporal entre Adelie vs Chinstrap
t_test_body_mass <- t.test(body_mass_g ~ species, data = adelie_chinstrap)
t_test_body_mass
## 
##  Welch Two Sample t-test
## 
## data:  body_mass_g by species
## t = -0.44793, df = 154.03, p-value = 0.6548
## alternative hypothesis: true difference in means between group Adelie and group Chinstrap is not equal to 0
## 95 percent confidence interval:
##  -145.66494   91.81724
## sample estimates:
##    mean in group Adelie mean in group Chinstrap 
##                3706.164                3733.088
# Repite la prueba t para las otras variables (longitud de aleta, longitud del pico,
#profundidad del pico)
# Por ejemplo, para "flipper_length_mm":

t_test_flipper_length <- t.test(flipper_length_mm ~ species, data = adelie_chinstrap)
t_test_flipper_length
## 
##  Welch Two Sample t-test
## 
## data:  flipper_length_mm by species
## t = -5.6115, df = 120.88, p-value = 1.297e-07
## alternative hypothesis: true difference in means between group Adelie and group Chinstrap is not equal to 0
## 95 percent confidence interval:
##  -7.739129 -3.702450
## sample estimates:
##    mean in group Adelie mean in group Chinstrap 
##                190.1027                195.8235
#6. Resumir los Resultados:

# Resumen de resultados para la variable "body_mass_g" en Adelie vs Chinstrap
summary_body_mass <- aggregate(body_mass_g ~ species, data = adelie_chinstrap, mean)
summary_body_mass
##     species body_mass_g
## 1    Adelie    3706.164
## 2 Chinstrap    3733.088
# Extraer el t-statistic, df, y p-valor
t_test_body_mass$statistic
##          t 
## -0.4479297
t_test_body_mass$parameter
##       df 
## 154.0326
t_test_body_mass$p.value
## [1] 0.6548333
#interpretar el valor

#para body_mass no se rechaza la hipotesis nula
#para body_mass la media entre especies se practicamente la misma

#7. Reflexión:

# Reflexión sobre las diferencias entre especies
# 1. Los pingüinos Gentoo tienden a tener mayor masa corporal, lo que 
#    podría estar relacionado con su hábitat más frío y remoto, donde 
#    requieren más grasa corporal para aislamiento y energía.

# 2. Gentoo también tienen aletas más largas, lo que mejora su capacidad 
#    para nadar rápido y bucear a mayor profundidad, facilitando la captura 
#    de peces.

# 3. Las especies Adelie y Chinstrap son más similares en morfología, pero 
#    las pequeñas diferencias en el pico podrían estar relacionadas con 
#    variaciones en su dieta, con Chinstrap alimentándose más en aguas abiertas.

# 4. En general, las diferencias morfológicas reflejan adaptaciones al entorno, 
#    dieta y comportamiento de cada especie, lo que les permite prosperar en 
#    hábitats específicos.