Top packages for R programming

A quick and easy guide with examples

Author

Abdullah Al Shamim

Show the code
# 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

Examples

filter

Show the code
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

Show the code
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

Show the code
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

Show the code
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.

:::