Comment charger plusieurs packages dans R (avec exemple)



Vous pouvez utiliser la syntaxe de base suivante pour charger plusieurs packages dans R à la fois :

lapply(some_packages, library, character.only=TRUE)

Dans cet exemple, some_packages représente un vecteur de noms de packages que vous souhaitez charger.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : charger plusieurs packages dans R

Le code suivant montre comment résumer un ensemble de données dans R et créer un tracé à l’aide de trois packages différents :

  • dplyr
  • ggplot2
  • ggthèmes

Dans cet exemple, nous chargeons chaque package individuellement en utilisant trois fonctions library() différentes :

library(dplyr)
library(ggplot2)
library(ggthemes)

#make this example reproducible
set.seed(0)

#create data frame
df <- data.frame(category=rep(c('A', 'B', 'C', 'D', 'E'), each=10),
                 value=runif(50, 10, 20))

#create summary data frame
df_summary <- df %>%
  group_by(category) %>%
  summarize(mean=mean(value),
            sd=sd(value))

#plot mean value of each category with error bars
ggplot(df_summary) +
    geom_bar(aes(x=category, y=mean), stat='identity') +
    geom_errorbar(aes(x=category, ymin=mean-sd, ymax=mean+sd), width=0.3) +
    theme_tufte()

Grâce à ce code, nous pouvons charger les trois packages et produire un graphique qui résume les valeurs d’un ensemble de données.

Cependant, nous pourrions obtenir le même résultat en utilisant la fonction lapply() pour charger les trois packages en utilisant une seule ligne de code :

#define vector of packages to load
some_packages <- c('ggplot2', 'dplyr', 'ggthemes')

#load all packages at once
lapply(some_packages, library, character.only=TRUE)

#make this example reproducible
set.seed(0)

#create data frame
df <- data.frame(category=rep(c('A', 'B', 'C', 'D', 'E'), each=10),
                 value=runif(50, 10, 20))

#create summary data frame
df_summary <- df %>%
  group_by(category) %>%
  summarize(mean=mean(value),
            sd=sd(value))

#plot mean value of each category with error bars
ggplot(df_summary) +
    geom_bar(aes(x=category, y=mean), stat='identity') +
    geom_errorbar(aes(x=category, ymin=mean-sd, ymax=mean+sd), width=0.3) +
    theme_tufte()

Une fois de plus, nous sommes capables de charger les trois packages et de produire le même tracé qu’auparavant.

La différence est que nous sommes capables de charger les trois packages en utilisant cette fois une seule ligne de code.

Cette fonction lapply() est particulièrement utile lorsque vous souhaitez charger une longue liste de packages sans taper la fonction library() à chaque fois.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment effacer l’environnement dans R
Comment effacer tous les tracés dans RStudio
Comment interpréter dans R : les objets suivants sont masqués

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *