Datos
glimpse(penguins)
## Rows: 344
## Columns: 8
## $ species <fct> Adelie, Adelie, Adelie, Adelie, Adelie, Adelie, Adel…
## $ island <fct> Torgersen, Torgersen, Torgersen, Torgersen, Torgerse…
## $ bill_length_mm <dbl> 39.1, 39.5, 40.3, NA, 36.7, 39.3, 38.9, 39.2, 34.1, …
## $ bill_depth_mm <dbl> 18.7, 17.4, 18.0, NA, 19.3, 20.6, 17.8, 19.6, 18.1, …
## $ flipper_length_mm <int> 181, 186, 195, NA, 193, 190, 181, 195, 193, 190, 186…
## $ body_mass_g <int> 3750, 3800, 3250, NA, 3450, 3650, 3625, 4675, 3475, …
## $ sex <fct> male, female, female, NA, female, male, female, male…
## $ year <int> 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007…
Ejercicio 1 (Limpieza y Agrupación)
# Filtra los datos para eliminar las observaciones con valores faltantes (NA) en la variable sex.
penguins_limpio <- penguins %>%
filter(!is.na(sex))
# Agrupa por species y sex
penguins_limpio %>%
group_by(species, sex) %>%
# Calcula la media y la desviación estándar de la masa corporal (body_mass_g), así como la cantidad de observaciones por grupo
summarise(
media_masa = mean(body_mass_g),
desviacion_masa = sd(body_mass_g),
cantidad = n()
)
## # A tibble: 6 × 5
## # Groups: species [3]
## species sex media_masa desviacion_masa cantidad
## <fct> <fct> <dbl> <dbl> <int>
## 1 Adelie female 3369. 269. 73
## 2 Adelie male 4043. 347. 73
## 3 Chinstrap female 3527. 285. 34
## 4 Chinstrap male 3939. 362. 34
## 5 Gentoo female 4680. 282. 58
## 6 Gentoo male 5485. 313. 61
Interpretación: Se filtran los datos de los
pingüinos y se elimina los pingüinos que no tienen sexo, luego se
organizan los datos en 6 grupos, se calcula el peso promedio, la
variación del peso con respecto al promedio de la especie y la cantidad
de pingüinos estudiados. En las tres especies los machos pesan más que
las hembras (dimorfismo sexual). Gentoo es la más pesada, con hembras de
unos 4680 g y machos de unos 5485 g, mientras que Adelie y Chinstrap
tienen masas más parecidas entre sí. Las desviaciones estándar son
moderadas frente a las medias, así que los grupos son bastante
homogéneos.
Ejercicio 2 (Dispersión)
# Paso 1: Filtrar NAs en sex y definir variables/colores
penguins %>%
filter(!is.na(sex)) %>%
ggplot(aes(x = bill_length_mm, y = body_mass_g, color = species)) +
# Paso 2: Dibujar los puntos y ajustar su tamaño y transparencia
geom_point(size = 2.5, alpha = 0.8) +
# Paso 3: Agregar títulos descriptivos y etiquetas a los ejes
labs(
title = "Comparación entre la longitud del pico y la masa corporal",
subtitle = "Datos de pinguinos",
x = "Longitud del Pico (mm)",
y = "Masa Corporal (g)",
color = "Especie"
) +
# Paso 4: Aplicar tema visual limpio
theme_minimal()

Interpretación: Este primer grafico permite ver cómo
se relacionan la longitud del pico y el peso de los pingüinos. Cada
punto representa a un pingüino individual. Lo que más se ve es cómo las
especies se agrupan en zonas diferentes: los pingüinos Gento que tienen
el color azul se ubican en la parte superior, lo que significa que son
los más grandes y pesados de los tres grupos.
Ejercicio 3 (Regresión Lineal)
# Paso 1: Filtrar NAs en sex y definir variables continuas X e Y
penguins %>%
filter(!is.na(sex)) %>%
ggplot(aes(x = bill_length_mm, y = body_mass_g, color = species)) +
# Paso 2: Graficar las observaciones individuales como puntos
geom_point(size = 2, alpha = 0.7) +
# Paso 3: Trazar la recta de regresión lineal para cada especie
geom_smooth(method = "lm", se = FALSE) +
# Paso 4: Personalizar las etiquetas y el título
labs(
title = "Relación entre la longitud del pico y la masa corporal por especie",
x = "Longitud del Pico (mm)",
y = "Masa Corporal (g)",
color = "Especie"
)+
# Paso 5: Usar tema con borde completo
theme_bw()

Interpretación: Dentro de cada especie la relación
entre pico y masa es positiva, y las tres rectas tienen pendientes
parecidas. Sin embargo, la recta de Gentoo queda más arriba: con un
mismo largo de pico pesa más. La especie cambia el nivel de la masa,
pero no el sentido de la relación. Los puntos se dispersan alrededor de
las rectas, así que hay otros factores, como el sexo.
Ejercicio 4 (BoxPLot)
# Paso 1: Filtrar NAs en sex, mapear la variable categórica en X y numé rica en Y t
penguins %>%
filter(!is.na(sex)) %>%
ggplot(aes(x = species, y = flipper_length_mm, fill = species)) +
# Paso 2: Crear el gráfico de cajas resaltando outliers en rojo
geom_boxplot(alpha = 0.7, outlier.color = "red") +
# Paso 3: Asignar nombres a los ejes y título
labs(
title = "Comparación entre la especie y la longitud de las aletas",
x = "Especie",
y = "Longitud de las Aletas (mm)",
)+
# Paso 4: Aplicar tema minimalista
theme_minimal() +
# Paso 5: Eliminar la leyenda lateral redundante
theme(legend.position = "none")

Interpretación: Este tercer gráfico compara el
tamaño de las aletas entre las tres especies. La línea negra dentro de
cada caja marca la mediana de las aletas de la especie. Gentoo tiene las
aletas más largas (mediana cercana a 216 mm) y casi no se superpone con
las otras especies. Adelie (cercana a 190 mm) y Chinstrap (cercana a 196
mm) se superponen parcialmente. Esto es coherente con el mayor tamaño
corporal de Gentoo: la aleta separa bien a Gentoo, pero no tanto a
Adelie de Chinstrap.
LS0tDQp0aXRsZTogJ1RhbGxlciBQcsOhY3RpY286IGRwbHlyIHkgZ2dwbG90MiBjb24gcGFsbWVycGVuZ3VpbnMnDQphdXRob3I6DQotIERpbGFuIEFuZHLDqXMgQ2FzdGHDsWVkYSBSb2ENCi0gRGF2aWQgRXN0ZWJhbiBBY2V2ZWRvIE1hcmVudGVzDQotIEplbm55IElzYWJlbGxhIEFyaWFzIE1vcmENCmRhdGU6ICIyMC8wOS8yMDI2Ig0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICB0aGVtZTogcmVhZGFibGUNCi0tLQ0KDQpgYGB7ciBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFLCB3YXJuaW5nID0gRkFMU0UsIG1lc3NhZ2UgPSBGQUxTRSkNCg0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkocGFsbWVycGVuZ3VpbnMpDQpgYGANCg0KIyMgVmlkZW8gZXhwbGljYXRpdm8NCg0KKipMaW5rOioqIGh0dHBzOi8veW91dHUuYmUveklpZFpKNW00U1UNCg0KIyMgRGF0b3MNCg0KYGBge3J9DQpnbGltcHNlKHBlbmd1aW5zKQ0KYGBgDQoNCiMjIEVqZXJjaWNpbyAxICoqKExpbXBpZXphIHkgQWdydXBhY2nDs24pKioNCg0KYGBge3J9DQojIEZpbHRyYSBsb3MgZGF0b3MgcGFyYSBlbGltaW5hciBsYXMgb2JzZXJ2YWNpb25lcyBjb24gdmFsb3JlcyBmYWx0YW50ZXMgKE5BKSBlbiBsYSB2YXJpYWJsZSBzZXguDQpwZW5ndWluc19saW1waW8gPC0gcGVuZ3VpbnMgJT4lDQogIGZpbHRlcighaXMubmEoc2V4KSkNCiMgQWdydXBhIHBvciBzcGVjaWVzIHkgc2V4DQpwZW5ndWluc19saW1waW8gJT4lDQogIGdyb3VwX2J5KHNwZWNpZXMsIHNleCkgJT4lDQojIENhbGN1bGEgbGEgbWVkaWEgeSBsYSBkZXN2aWFjacOzbiBlc3TDoW5kYXIgZGUgbGEgbWFzYSBjb3Jwb3JhbCAoYm9keV9tYXNzX2cpLCBhc8OtIGNvbW8gbGEgY2FudGlkYWQgZGUgb2JzZXJ2YWNpb25lcyBwb3IgZ3J1cG8NCiAgc3VtbWFyaXNlKA0KICAgIG1lZGlhX21hc2EgPSBtZWFuKGJvZHlfbWFzc19nKSwNCiAgICBkZXN2aWFjaW9uX21hc2EgPSBzZChib2R5X21hc3NfZyksDQogICAgY2FudGlkYWQgPSBuKCkNCiAgKQ0KYGBgDQoNCioqSW50ZXJwcmV0YWNpw7NuOioqIFNlIGZpbHRyYW4gbG9zIGRhdG9zIGRlIGxvcyBwaW5nw7xpbm9zIHkgc2UgZWxpbWluYSBsb3MgcGluZ8O8aW5vcyBxdWUgbm8gdGllbmVuIHNleG8sIGx1ZWdvIHNlIG9yZ2FuaXphbiBsb3MgZGF0b3MgZW4gNiBncnVwb3MsIHNlIGNhbGN1bGEgZWwgcGVzbyBwcm9tZWRpbywgbGEgdmFyaWFjacOzbiBkZWwgcGVzbyBjb24gcmVzcGVjdG8gYWwgcHJvbWVkaW8gZGUgbGEgZXNwZWNpZSB5IGxhIGNhbnRpZGFkIGRlIHBpbmfDvGlub3MgZXN0dWRpYWRvcy4gRW4gbGFzIHRyZXMgZXNwZWNpZXMgbG9zIG1hY2hvcyBwZXNhbiBtw6FzIHF1ZSBsYXMgaGVtYnJhcyAoZGltb3JmaXNtbyBzZXh1YWwpLiBHZW50b28gZXMgbGEgbcOhcyBwZXNhZGEsIGNvbiBoZW1icmFzIGRlIHVub3MgNDY4MCBnIHkgbWFjaG9zIGRlIHVub3MgNTQ4NSBnLCBtaWVudHJhcyBxdWUgQWRlbGllIHkgQ2hpbnN0cmFwIHRpZW5lbiBtYXNhcyBtw6FzIHBhcmVjaWRhcyBlbnRyZSBzw60uIExhcyBkZXN2aWFjaW9uZXMgZXN0w6FuZGFyIHNvbiBtb2RlcmFkYXMgZnJlbnRlIGEgbGFzIG1lZGlhcywgYXPDrSBxdWUgbG9zIGdydXBvcyBzb24gYmFzdGFudGUgaG9tb2fDqW5lb3MuDQoNCiMjIEVqZXJjaWNpbyAyICoqKERpc3BlcnNpw7NuKSoqDQoNCmBgYHtyfQ0KIyBQYXNvIDE6IEZpbHRyYXIgTkFzIGVuIHNleCB5IGRlZmluaXIgdmFyaWFibGVzL2NvbG9yZXMgDQpwZW5ndWlucyAlPiUNCiAgZmlsdGVyKCFpcy5uYShzZXgpKSAlPiUNCiAgZ2dwbG90KGFlcyh4ID0gYmlsbF9sZW5ndGhfbW0sIHkgPSBib2R5X21hc3NfZywgY29sb3IgPSBzcGVjaWVzKSkgKw0KIyBQYXNvIDI6IERpYnVqYXIgbG9zIHB1bnRvcyB5IGFqdXN0YXIgc3UgdGFtYcOxbyB5IHRyYW5zcGFyZW5jaWEgDQogIGdlb21fcG9pbnQoc2l6ZSA9IDIuNSwgYWxwaGEgPSAwLjgpICsgDQojIFBhc28gMzogQWdyZWdhciB0w610dWxvcyBkZXNjcmlwdGl2b3MgeSBldGlxdWV0YXMgYSBsb3MgZWplcw0KICBsYWJzKA0KICAgIHRpdGxlID0gIkNvbXBhcmFjacOzbiBlbnRyZSBsYSBsb25naXR1ZCBkZWwgcGljbyB5IGxhIG1hc2EgY29ycG9yYWwiLA0KICAgIHN1YnRpdGxlID0gIkRhdG9zIGRlIHBpbmd1aW5vcyIsDQogICAgeCA9ICJMb25naXR1ZCBkZWwgUGljbyAobW0pIiwNCiAgICB5ID0gIk1hc2EgQ29ycG9yYWwgKGcpIiwNCiAgICBjb2xvciA9ICJFc3BlY2llIg0KICApICsNCiMgUGFzbyA0OiBBcGxpY2FyIHRlbWEgdmlzdWFsIGxpbXBpbw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQoqKkludGVycHJldGFjacOzbjoqKiBFc3RlIHByaW1lciBncmFmaWNvIHBlcm1pdGUgdmVyIGPDs21vIHNlIHJlbGFjaW9uYW4gbGEgbG9uZ2l0dWQgZGVsIHBpY28geSBlbCBwZXNvIGRlIGxvcyBwaW5nw7xpbm9zLiBDYWRhIHB1bnRvIHJlcHJlc2VudGEgYSB1biBwaW5nw7xpbm8gaW5kaXZpZHVhbC4gTG8gcXVlIG3DoXMgc2UgdmUgZXMgY8OzbW8gbGFzIGVzcGVjaWVzIHNlIGFncnVwYW4gZW4gem9uYXMgZGlmZXJlbnRlczogbG9zIHBpbmfDvGlub3MgR2VudG8gcXVlIHRpZW5lbiBlbCBjb2xvciBhenVsIHNlIHViaWNhbiBlbiBsYSBwYXJ0ZSBzdXBlcmlvciwgbG8gcXVlIHNpZ25pZmljYSBxdWUgc29uIGxvcyBtw6FzIGdyYW5kZXMgeSBwZXNhZG9zIGRlIGxvcyB0cmVzIGdydXBvcy4gDQoNCiMjIEVqZXJjaWNpbyAzICoqKFJlZ3Jlc2nDs24gTGluZWFsKSoqDQoNCmBgYHtyfQ0KIyBQYXNvIDE6IEZpbHRyYXIgTkFzIGVuIHNleCB5IGRlZmluaXIgdmFyaWFibGVzIGNvbnRpbnVhcyBYIGUgWSANCnBlbmd1aW5zICU+JQ0KICBmaWx0ZXIoIWlzLm5hKHNleCkpICU+JQ0KICBnZ3Bsb3QoYWVzKHggPSBiaWxsX2xlbmd0aF9tbSwgeSA9IGJvZHlfbWFzc19nLCBjb2xvciA9IHNwZWNpZXMpKSArDQojIFBhc28gMjogR3JhZmljYXIgbGFzIG9ic2VydmFjaW9uZXMgaW5kaXZpZHVhbGVzIGNvbW8gcHVudG9zDQogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gMC43KSArDQojIFBhc28gMzogVHJhemFyIGxhIHJlY3RhIGRlIHJlZ3Jlc2nDs24gbGluZWFsIHBhcmEgY2FkYSBlc3BlY2llDQogIGdlb21fc21vb3RoKG1ldGhvZCA9ICJsbSIsIHNlID0gRkFMU0UpICsNCiMgUGFzbyA0OiBQZXJzb25hbGl6YXIgbGFzIGV0aXF1ZXRhcyB5IGVsIHTDrXR1bG8NCiAgbGFicygNCiAgICAgdGl0bGUgPSAiUmVsYWNpw7NuIGVudHJlIGxhIGxvbmdpdHVkIGRlbCBwaWNvIHkgbGEgbWFzYSBjb3Jwb3JhbCBwb3IgZXNwZWNpZSIsDQogICAgIHggPSAiTG9uZ2l0dWQgZGVsIFBpY28gKG1tKSIsDQogICAgIHkgPSAiTWFzYSBDb3Jwb3JhbCAoZykiLA0KICAgICBjb2xvciA9ICJFc3BlY2llIg0KICAgKSsNCiMgUGFzbyA1OiBVc2FyIHRlbWEgY29uIGJvcmRlIGNvbXBsZXRvDQogIHRoZW1lX2J3KCkNCmBgYA0KDQoqKkludGVycHJldGFjacOzbjoqKiBEZW50cm8gZGUgY2FkYSBlc3BlY2llIGxhIHJlbGFjacOzbiBlbnRyZSBwaWNvIHkgbWFzYSBlcyBwb3NpdGl2YSwgeSBsYXMgdHJlcyByZWN0YXMgdGllbmVuIHBlbmRpZW50ZXMgcGFyZWNpZGFzLiBTaW4gZW1iYXJnbywgbGEgcmVjdGEgZGUgR2VudG9vIHF1ZWRhIG3DoXMgYXJyaWJhOiBjb24gdW4gbWlzbW8gbGFyZ28gZGUgcGljbyBwZXNhIG3DoXMuIExhIGVzcGVjaWUgY2FtYmlhIGVsIG5pdmVsIGRlIGxhIG1hc2EsIHBlcm8gbm8gZWwgc2VudGlkbyBkZSBsYSByZWxhY2nDs24uIExvcyBwdW50b3Mgc2UgZGlzcGVyc2FuIGFscmVkZWRvciBkZSBsYXMgcmVjdGFzLCBhc8OtIHF1ZSBoYXkgb3Ryb3MgZmFjdG9yZXMsIGNvbW8gZWwgc2V4by4NCg0KIyMgRWplcmNpY2lvIDQgKiooQm94UExvdCkqKg0KDQpgYGB7cn0NCiMgUGFzbyAxOiBGaWx0cmFyIE5BcyBlbiBzZXgsIG1hcGVhciBsYSB2YXJpYWJsZSBjYXRlZ8OzcmljYSBlbiBYIHkgbnVtw6kgcmljYSBlbiBZIHQNCnBlbmd1aW5zICU+JQ0KICBmaWx0ZXIoIWlzLm5hKHNleCkpICU+JQ0KICBnZ3Bsb3QoYWVzKHggPSBzcGVjaWVzLCB5ID0gZmxpcHBlcl9sZW5ndGhfbW0sIGZpbGwgPSBzcGVjaWVzKSkgKw0KIyBQYXNvIDI6IENyZWFyIGVsIGdyw6FmaWNvIGRlIGNhamFzIHJlc2FsdGFuZG8gb3V0bGllcnMgZW4gcm9qbyANCiAgZ2VvbV9ib3hwbG90KGFscGhhID0gMC43LCBvdXRsaWVyLmNvbG9yID0gInJlZCIpICsNCiMgUGFzbyAzOiBBc2lnbmFyIG5vbWJyZXMgYSBsb3MgZWplcyB5IHTDrXR1bG8NCiAgbGFicygNCiAgICB0aXRsZSA9ICJDb21wYXJhY2nDs24gZW50cmUgbGEgZXNwZWNpZSB5IGxhIGxvbmdpdHVkIGRlIGxhcyBhbGV0YXMiLA0KICAgIHggPSAiRXNwZWNpZSIsDQogICAgeSA9ICJMb25naXR1ZCBkZSBsYXMgQWxldGFzIChtbSkiLA0KICApKw0KIyBQYXNvIDQ6IEFwbGljYXIgdGVtYSBtaW5pbWFsaXN0YSANCiAgdGhlbWVfbWluaW1hbCgpICsNCiMgUGFzbyA1OiBFbGltaW5hciBsYSBsZXllbmRhIGxhdGVyYWwgcmVkdW5kYW50ZQ0KICB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAibm9uZSIpIA0KYGBgDQoNCioqSW50ZXJwcmV0YWNpw7NuOioqIEVzdGUgdGVyY2VyIGdyw6FmaWNvIGNvbXBhcmEgZWwgdGFtYcOxbyBkZSBsYXMgYWxldGFzIGVudHJlIGxhcyB0cmVzIGVzcGVjaWVzLiBMYSBsw61uZWEgbmVncmEgZGVudHJvIGRlIGNhZGEgY2FqYSBtYXJjYSBsYSBtZWRpYW5hIGRlIGxhcyBhbGV0YXMgZGUgbGEgZXNwZWNpZS4gR2VudG9vIHRpZW5lIGxhcyBhbGV0YXMgbcOhcyBsYXJnYXMgKG1lZGlhbmEgY2VyY2FuYSBhIDIxNiBtbSkgeSBjYXNpIG5vIHNlIHN1cGVycG9uZSBjb24gbGFzIG90cmFzIGVzcGVjaWVzLiBBZGVsaWUgKGNlcmNhbmEgYSAxOTAgbW0pIHkgQ2hpbnN0cmFwIChjZXJjYW5hIGEgMTk2IG1tKSBzZSBzdXBlcnBvbmVuIHBhcmNpYWxtZW50ZS4gRXN0byBlcyBjb2hlcmVudGUgY29uIGVsIG1heW9yIHRhbWHDsW8gY29ycG9yYWwgZGUgR2VudG9vOiBsYSBhbGV0YSBzZXBhcmEgYmllbiBhIEdlbnRvbywgcGVybyBubyB0YW50byBhIEFkZWxpZSBkZSBDaGluc3RyYXAuDQo=