Código
library(palmerpenguins)
library(dplyr)
library(DT)palmerpenguins con dplyrInstructora: Evelia Coss
Carguemos los paquetes
dplyrselect() : Seleccionar nombres de las columnas. –> select(dataframe, columna1, columna2, … columnax)filter() : Filtrar filas por una condicion especifica, apartir de la columna. –> filter(dataframe, columna1 == “condicion”)mutate() : Modificar o agregar columnas. –> mutate(dataframe, columna1 = “condicion”)group_by() : Agrupar informacion de acuerdo a un(as) columna(s) seleccionada(s).if_else() : Condicional. –> if_else(dataframe, codicion, si se acepta entonces, si se rechaza entonces)arrange() : Acomodar los resultados, default de menor a mayor.count(): Cuenta los valores de acuerdo a una variable.left_join() : Unir dos dataframe con base en una misma columna en comun. –> left_join(dataframe1, dataframe2, by = “Columna en comun, mismo nombre”)n_distinct() : Cuenta las filas unicas.distinct() : Muestra las filas duplicadas.summarise() : reduce varios valores seleccionados en un resumen.En el dataset penguins del paquete palmerpenguins se registran 3 especies de pingüinos:
Emplear las funciones del paquete dplyr:
distinct() para obtener los valores únicos de la columna species.# A tibble: 3 × 1
species
<fct>
1 Adelie
2 Gentoo
3 Chinstrap
n_distinct() para obtener el número de especies unicas.Ahora vamos a ver la distribución de las especies por islas:

# A tibble: 3 × 2
sex n
<fct> <int>
1 female 165
2 male 168
3 <NA> 11
# A tibble: 8 × 3
species sex n
<fct> <fct> <int>
1 Adelie female 73
2 Adelie male 73
3 Adelie <NA> 6
4 Chinstrap female 34
5 Chinstrap male 34
6 Gentoo female 58
7 Gentoo male 61
8 Gentoo <NA> 5
# A tibble: 3 × 2
island n
<fct> <int>
1 Biscoe 168
2 Dream 124
3 Torgersen 52
# A tibble: 13 × 4
species island sex n
<fct> <fct> <fct> <int>
1 Adelie Biscoe female 22
2 Adelie Biscoe male 22
3 Adelie Dream female 27
4 Adelie Dream male 28
5 Adelie Dream <NA> 1
6 Adelie Torgersen female 24
7 Adelie Torgersen male 23
8 Adelie Torgersen <NA> 5
9 Chinstrap Dream female 34
10 Chinstrap Dream male 34
11 Gentoo Biscoe female 58
12 Gentoo Biscoe male 61
13 Gentoo Biscoe <NA> 5
Crea una nueva columna llamada body_mass_kg que convierta el peso de gramos a kilogramos.
# A tibble: 6 × 9
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
# ℹ 3 more variables: sex <fct>, year <int>, body_mass_kg <dbl>
Calcula el promedio de masa corporal por especie.
# A tibble: 3 × 2
species mean_mass_kg
<fct> <dbl>
1 Adelie 3.70
2 Chinstrap 3.73
3 Gentoo 5.08
Crea una columna peso_categoria que indique "Ligero" si el pingüino pesa menos de 4000 g = 4kg y "Pesado" en caso contrario.
# A tibble: 6 × 10
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
# ℹ 4 more variables: sex <fct>, year <int>, body_mass_kg <dbl>,
# peso_categoria <chr>
¿Cuántos pingüinos tenemos por categoría?
# A tibble: 3 × 2
peso_categoria n
<chr> <int>
1 Ligero 165
2 Pesado 177
3 <NA> 2
Clasifica a los pingüinos en categorías según su masa corporal:
< 3500 g → "Pequeño"3500–4500 g → "Mediano"> 4500 g → "Grande"# A tibble: 344 × 11
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
7 Adelie Torgersen 38.9 17.8 181 3625
8 Adelie Torgersen 39.2 19.6 195 4675
9 Adelie Torgersen 34.1 18.1 193 3475
10 Adelie Torgersen 42 20.2 190 4250
# ℹ 334 more rows
# ℹ 5 more variables: sex <fct>, year <int>, body_mass_kg <dbl>,
# peso_categoria <chr>, categoria <chr>
Ordena los pingüinos por longitud del pico (bill_length_mm) de mayor a menor.
# A tibble: 6 × 10
species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
<fct> <fct> <dbl> <dbl> <int> <int>
1 Gentoo Biscoe 59.6 17 230 6050
2 Chinstrap Dream 58 17.8 181 3700
3 Gentoo Biscoe 55.9 17 228 5600
4 Chinstrap Dream 55.8 19.8 207 4000
5 Gentoo Biscoe 55.1 16 230 5850
6 Gentoo Biscoe 54.3 15.7 231 5650
# ℹ 4 more variables: sex <fct>, year <int>, body_mass_kg <dbl>,
# peso_categoria <chr>
Si queremos que sea de menor a mayor, quitamos desc().
# A tibble: 6 × 10
species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
<fct> <fct> <dbl> <dbl> <int> <int>
1 Adelie Dream 32.1 15.5 188 3050
2 Adelie Dream 33.1 16.1 178 2900
3 Adelie Torgersen 33.5 19 190 3600
4 Adelie Dream 34 17.1 185 3400
5 Adelie Torgersen 34.1 18.1 193 3475
6 Adelie Torgersen 34.4 18.4 184 3325
# ℹ 4 more variables: sex <fct>, year <int>, body_mass_kg <dbl>,
# peso_categoria <chr>
Calcula el promedio y la desviación estándar de la longitud del ala (flipper_length_mm) por especie.
# A tibble: 3 × 3
species mean_flipper sd_flipper
<fct> <dbl> <dbl>
1 Adelie 190. 6.54
2 Chinstrap 196. 7.13
3 Gentoo 217. 6.48