Show the code
# Load required packages
library(dplyr)
library(ggplot2)
library(forcats)
library(stringr)
library(gtExtras)
library(plotly)
library(lubridate)
library(palmerpenguins)A quick and easy guide with examples
# Load required packages
library(dplyr)
library(ggplot2)
library(forcats)
library(stringr)
library(gtExtras)
library(plotly)
library(lubridate)
library(palmerpenguins)1 dplyr
dplyr is a popular R package for data manipulation, known for its intuitive syntax and verbs that make it easy to transform datasets.
Useful functions
filter() – Select rows based on conditions
select() – Choose specific columns
mutate() – Create or modify columns
arrange() – Sort rows
summarise() – Aggregate data
Examples
filter
penguins %>%
filter(species == "Adelie",
body_mass_g > 3500) %>%
head()# 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 39.3 20.6 190 3650
4 Adelie Torgersen 38.9 17.8 181 3625
5 Adelie Torgersen 39.2 19.6 195 4675
6 Adelie Torgersen 42 20.2 190 4250
# ℹ 2 more variables: sex <fct>, year <int>
mutate
penguins %>%
mutate(body_mass_kg = body_mass_g / 1000) %>%
select(species, body_mass_g, body_mass_kg) %>%
head()# A tibble: 6 × 3
species body_mass_g body_mass_kg
<fct> <int> <dbl>
1 Adelie 3750 3.75
2 Adelie 3800 3.8
3 Adelie 3250 3.25
4 Adelie NA NA
5 Adelie 3450 3.45
6 Adelie 3650 3.65
arrange
penguins %>%
group_by(sex) %>%
summarise(
`Average height` = mean(flipper_length_mm, na.rm = TRUE),
`Average mass` = mean(body_mass_g, na.rm = TRUE)
)# A tibble: 3 × 3
sex `Average height` `Average mass`
<fct> <dbl> <dbl>
1 female 197. 3862.
2 male 205. 4546.
3 <NA> 199 4006.
summarise
penguins %>%
group_by(sex) %>%
summarise(
`Average height` = mean(flipper_length_mm, na.rm = TRUE),
`Average mass` = mean(body_mass_g, na.rm = TRUE)
)# A tibble: 3 × 3
sex `Average height` `Average mass`
<fct> <dbl> <dbl>
1 female 197. 3862.
2 male 205. 4546.
3 <NA> 199 4006.
:::