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.

# Muestra las primeras 5 observaciones del conjunto de datos
kable(
  head(penguins,5),
        caption = "$$Tabla 1. Conjunto de Datos PINGUINOS$$",
)
\[Tabla 1. Conjunto de Datos PINGUINOS\]
species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex year
Adelie Torgersen 39.1 18.7 181 3750 male 2007
Adelie Torgersen 39.5 17.4 186 3800 female 2007
Adelie Torgersen 40.3 18.0 195 3250 female 2007
Adelie Torgersen NA NA NA NA NA 2007
Adelie Torgersen 36.7 19.3 193 3450 female 2007

Ejercicio 2.

Revise la estructura del conjunto de datos pinguinos.

str(penguins)
## tibble [344 × 8] (S3: tbl_df/tbl/data.frame)
##  $ species          : Factor w/ 3 levels "Adelie","Chinstrap",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ island           : Factor w/ 3 levels "Biscoe","Dream",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ bill_length_mm   : num [1:344] 39.1 39.5 40.3 NA 36.7 39.3 38.9 39.2 34.1 42 ...
##  $ bill_depth_mm    : num [1:344] 18.7 17.4 18 NA 19.3 20.6 17.8 19.6 18.1 20.2 ...
##  $ flipper_length_mm: int [1:344] 181 186 195 NA 193 190 181 195 193 190 ...
##  $ body_mass_g      : int [1:344] 3750 3800 3250 NA 3450 3650 3625 4675 3475 4250 ...
##  $ sex              : Factor w/ 2 levels "female","male": 2 1 1 NA 1 2 1 2 NA NA ...
##  $ year             : 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”.

unique(penguins$species)
## [1] Adelie    Gentoo    Chinstrap
## Levels: Adelie Chinstrap Gentoo
unique(penguins$island)
## [1] Torgersen Biscoe    Dream    
## Levels: Biscoe Dream Torgersen
unique(penguins$year)
## [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:

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(penguins)
tinytable_1kjemmfu5ytt0fq6nzhr
Unique Missing Pct. Mean SD Min Median Max Histogram
bill_length_mm 165 1 43.9 5.5 32.1 44.5 59.6
bill_depth_mm 81 1 17.2 2.0 13.1 17.3 21.5
flipper_length_mm 56 1 200.9 14.1 172.0 197.0 231.0
body_mass_g 95 1 4201.8 802.0 2700.0 4050.0 6300.0
year 3 0 2008.0 0.8 2007.0 2008.0 2009.0
N %
species Adelie 152 44.2
Chinstrap 68 19.8
Gentoo 124 36.0
island Biscoe 168 48.8
Dream 124 36.0
Torgersen 52 15.1
sex female 165 48.0
male 168 48.8
  1. ¿Cuánto miden en promedio el largo y alto de los picos de los pinguinos de la muestra?

Promedio de largo es = 43.9 mm Promedio de alto es = 17.2 mm

  1. ¿Cuál es el peso corporal máximo de los pinguinos de la muestra?

Peso corporal máximo es = 6300 g

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.

kable(
penguins %>%
    group_by(species) %>%
    
    summarise("minimo" = min(flipper_length_mm, na.rm = TRUE),
              "maximo" = max(flipper_length_mm, na.rm = TRUE),
              "media" = mean(flipper_length_mm, na.rm = TRUE)),
    caption = "$$Tabla 2. Medidas de las aletas de los pinguinos de la muestra por especie$$",
)
\[Tabla 2. Medidas de las aletas de los pinguinos de la muestra por especie\]
species minimo maximo media
Adelie 172 210 189.9536
Chinstrap 178 212 195.8235
Gentoo 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.

   datasummary(flipper_length_mm + bill_length_mm + bill_depth_mm + body_mass_g ~ species * (Mean + SD),
    data = penguins) 
tinytable_6p8z46wqyvki6q0hsedw
Adelie Chinstrap Gentoo
Mean SD Mean SD Mean SD
flipper_length_mm 189.95 6.54 195.82 7.13 217.19 6.48
bill_length_mm 38.79 2.66 48.83 3.34 47.50 3.08
bill_depth_mm 18.35 1.22 18.42 1.14 14.98 0.98
body_mass_g 3700.66 458.57 3733.09 384.34 5076.02 504.12

Visualización de datos.

#Ejercicio 7. > 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.

  penguins %>%
  ggplot(aes(x=flipper_length_mm, fill = species)) +
  ggtitle("Gráfico 1: Distribucion de la longitud de las aletas de los pinguinos") + 
  facet_grid(rows = vars(island), margins = FALSE) +
  geom_density(alpha = 0.4) +
  labs( x = "Longitud de las aletas",
        y = " ",
        color = "Especie de pinguino")
## Warning: Removed 2 rows containing non-finite outside the scale range
## (`stat_density()`).

#Ejercicio 8. > 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.

penguins %>%
  ggplot(aes(flipper_length_mm, bill_length_mm, color = species)) + 
  geom_bar(stat="identity") +
  labs(title = "Gráfico: Largo del Pico Vs Largo de aleta",
       x = "Largo de Aleta",
       y = "Largo de Pico",
       color = "Especie de pinguino")
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_bar()`).