PRIMERA PARTE
EJERCICIO 1
- Cargue a RStudio el conjunto de datos “pinguinos” del paquete datos.
pinguinos incluye medidas de especies de pingüinos de las islas del
Archipiélago de Palmer, incluye tamaño (largo de aleta, masa corporal,
dimensiones de pico) y sexo de los pinguinos. Muestre la siguiente tabla
donde se visualicen las 5 primeras observaciones del conjunto de
datos.
knitr::opts_chunk$set(echo = TRUE)
install.packages("datos", repos="http://cran.rstudio.com/")
## Installing package into 'C:/Users/nesto/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'datos' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\nesto\AppData\Local\Temp\RtmpWsP1ro\downloaded_packages
library(datos)
data(pinguinos)
## Warning in data(pinguinos): data set 'pinguinos' not found
knitr::kable(head(pinguinos, 5), caption = "Tabla 1. Conjunto de datos Pinguinos")
Tabla 1. Conjunto de datos Pinguinos
| Adelia |
Torgersen |
39.1 |
18.7 |
181 |
3750 |
macho |
2007 |
| Adelia |
Torgersen |
39.5 |
17.4 |
186 |
3800 |
hembra |
2007 |
| Adelia |
Torgersen |
40.3 |
18.0 |
195 |
3250 |
hembra |
2007 |
| Adelia |
Torgersen |
NA |
NA |
NA |
NA |
NA |
2007 |
| Adelia |
Torgersen |
36.7 |
19.3 |
193 |
3450 |
hembra |
2007 |
Ejercicio 2.
- Revise la estructura del conjunto de datos pinguinos.
str(pinguinos)
## tibble [344 × 8] (S3: tbl_df/tbl/data.frame)
## $ especie : Factor w/ 3 levels "Adelia","Barbijo",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ isla : Factor w/ 3 levels "Biscoe","Dream",..: 3 3 3 3 3 3 3 3 3 3 ...
## $ largo_pico_mm : num [1:344] 39.1 39.5 40.3 NA 36.7 39.3 38.9 39.2 34.1 42 ...
## $ alto_pico_mm : num [1:344] 18.7 17.4 18 NA 19.3 20.6 17.8 19.6 18.1 20.2 ...
## $ largo_aleta_mm : int [1:344] 181 186 195 NA 193 190 181 195 193 190 ...
## $ masa_corporal_g: int [1:344] 3750 3800 3250 NA 3450 3650 3625 4675 3475 4250 ...
## $ sexo : Factor w/ 2 levels "hembra","macho": 2 1 1 NA 1 2 1 2 NA NA ...
## $ anio : int [1:344] 2007 2007 2007 2007 2007 2007 2007 2007 2007 2007 ...
Ejercicio 3.
- Identifique las especies de pinguinos, las islas y los años de la
información que contiene “pinguinos”.
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
especies <- unique(pinguinos$especie)
islas <- unique(pinguinos$isla)
años <- unique(pinguinos$anio)
especies
## [1] Adelia Papúa Barbijo
## Levels: Adelia Barbijo Papúa
islas
## [1] Torgersen Biscoe Dream
## Levels: Biscoe Dream Torgersen
años
## [1] 2007 2008 2009
Ejercicio 4.
- Hoy aprenderás un nuevo paquete para generar un resumen estadístico
de tus datos. Instala la librería modelsummary) y con la función
datasummary_skim() genera el siguiente resumen de datos y responde a las
siguientes preguntas:
install.packages("modelsummary", repos="http://cran.rstudio.com/")
## Installing package into 'C:/Users/nesto/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'modelsummary' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\nesto\AppData\Local\Temp\RtmpWsP1ro\downloaded_packages
library(modelsummary)
## `modelsummary` 2.0.0 now uses `tinytable` as its default table-drawing
## backend. Learn more at: https://vincentarelbundock.github.io/tinytable/
##
## Revert to `kableExtra` for one session:
##
## options(modelsummary_factory_default = 'kableExtra')
##
## Change the default backend persistently:
##
## config_modelsummary(factory_default = 'gt')
##
## Silence this message forever:
##
## config_modelsummary(startup_message = FALSE)
datasummary_skim(pinguinos)
tinytable_xx6fmtahxr64ueoqmldz
| |
Unique |
Missing Pct. |
Mean |
SD |
Min |
Median |
Max |
Histogram |
| largo_pico_mm |
165 |
1 |
43.9 |
5.5 |
32.1 |
44.5 |
59.6 |
 |
| alto_pico_mm |
81 |
1 |
17.2 |
2.0 |
13.1 |
17.3 |
21.5 |
 |
| largo_aleta_mm |
56 |
1 |
200.9 |
14.1 |
172.0 |
197.0 |
231.0 |
 |
| masa_corporal_g |
95 |
1 |
4201.8 |
802.0 |
2700.0 |
4050.0 |
6300.0 |
 |
| anio |
3 |
0 |
2008.0 |
0.8 |
2007.0 |
2008.0 |
2009.0 |
 |
| |
|
N |
% |
|
|
|
|
|
| especie |
Adelia |
152 |
44.2 |
|
|
|
|
|
|
Barbijo |
68 |
19.8 |
|
|
|
|
|
|
Papúa |
124 |
36.0 |
|
|
|
|
|
| isla |
Biscoe |
168 |
48.8 |
|
|
|
|
|
|
Dream |
124 |
36.0 |
|
|
|
|
|
|
Torgersen |
52 |
15.1 |
|
|
|
|
|
| sexo |
hembra |
165 |
48.0 |
|
|
|
|
|
|
macho |
168 |
48.8 |
|
|
|
|
|
- ¿Cuánto miden en promedio el largo y alto de los picos de los
pinguinos de la muestra? Resultado: 43.9 promedio de alto es 17.2
- ¿Cuál es el peso corporal máximo de los pinguinos de la muestra?
Resultado 6300
Ejercicio 5.
- Recree el código en R para generar la siguiente tabla que muestra el
mínimo, el máximo y la media aritmética de las medidas del largo de las
aletas de los pinguinos, clasificada por especie.
library(dplyr)
resultados <- pinguinos %>%
group_by(especie) %>%
summarize(
mínimo = min(largo_aleta_mm,na.rm = TRUE),
máximo = max(largo_aleta_mm,na.rm = TRUE),
media = mean(largo_aleta_mm, na.rm = TRUE)
)
colnames(resultados) <- c("especie", "mínimo", "máximo", "media")
knitr::kable(resultados, caption = "Tabla 2. Medidas de las aletas de los pingüinos de la muestra por especie\n")
Tabla 2. Medidas de las aletas de los pingüinos de la muestra
por especie
| Adelia |
172 |
210 |
189.9536 |
| Barbijo |
178 |
212 |
195.8235 |
| Papúa |
203 |
231 |
217.1870 |
Ejercicio 6.
- Con el paquete modelsummary puede generar tablas con más información
que la anterior y con una mejor estructura. Utilice la función
datasummary() del paquete modelsummary y recree el código para generar
la siguiente tabla. No se olvide consultar la ayuda para conocer los
argumentos y parámetros que contiene la función.
library(modelsummary)
resumen <- datasummary(Heading("Largo aleta (mm)") * largo_aleta_mm + Heading("Largo pico (mm)") * largo_pico_mm + Heading("Alto pico (mm)") * alto_pico_mm + Heading("Masa corporal (g)") * masa_corporal_g ~ especie * (Mean + SD),
data = pinguinos)
resumen
tinytable_9a6c38gznht8m997ryda
| |
Adelia |
Barbijo |
Papúa |
| |
Mean |
SD |
Mean |
SD |
Mean |
SD |
| Largo aleta (mm) |
189.95 |
6.54 |
195.82 |
7.13 |
217.19 |
6.48 |
| Largo pico (mm) |
38.79 |
2.66 |
48.83 |
3.34 |
47.50 |
3.08 |
| Alto pico (mm) |
18.35 |
1.22 |
18.42 |
1.14 |
14.98 |
0.98 |
| Masa corporal (g) |
3700.66 |
458.57 |
3733.09 |
384.34 |
5076.02 |
504.12 |
PARTE DOS,
VIZUALIZACION DE DATOS
Ejercicio 1.
- Recree el código R para generar la siguiente gráfica que muestra la
distribución de los datos sobre la longitud de las aletas de los
pinguinos de la muestra clasificado por especie y por isla, puede
modificar la estética a su gusto.
library(ggplot2)
ggplot(pinguinos, aes(x = largo_aleta_mm, fill = especie)) +
geom_density(alpha = 0.5) +
facet_wrap(~ isla, ncol = 2) +
labs(title = "Distribución de la longitud de las aletas por especie y por isla",
x = "Longitud de la aleta (mm)",
y = "Densidad") +
theme_minimal()
## Warning: Removed 2 rows containing non-finite outside the scale range
## (`stat_density()`).

Ejercicio 2.
- Si usted desea visualizar la relación que existe entre el largo del
pico y el largo de la aleta de los pinguinos por especie. ¿Qué gráficos
utilizaría?. Genere el gráfico que usted considere pertinente para
cumplir con su objetivo, agregue el tema, colores y estética
necesaria.
library(ggplot2)
ggplot(pinguinos, aes(x = largo_pico_mm, y = largo_aleta_mm, color = especie)) +
geom_point(alpha = 0.7) +
geom_smooth(method = "lm", se = FALSE) +
labs(title = "Relación entre el largo del pico y el largo de la aleta por especie",
x = "Largo del pico (mm)",
y = "Largo de la aleta (mm)") +
theme_minimal() +
scale_color_viridis_d()
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 2 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_point()`).
