Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

La différence entre require() et library() dans R



Les fonctions require() et library() peuvent toutes deux être utilisées pour charger des packages dans R, mais elles présentent une différence subtile :

  • require() affichera un avertissement si un package n’est pas installé, puis continuera à exécuter le code.
  • library() générera une erreur et arrêtera l’exécution du code.

En raison de cette différence, require() n’est généralement utilisé que si vous chargez des packages dans une fonction afin que la fonction continue de s’exécuter même si un package n’existe pas.

En pratique, la plupart des programmeurs recommandent d’utiliser library() car vous souhaiterez recevoir un message d’erreur vous informant qu’un package n’est pas installé.

C’est quelque chose dont vous devez être conscient le plus tôt possible lors de l’écriture de code.

L’exemple suivant illustre la différence entre les fonctions require() et library() dans la pratique.

Exemple : la différence entre require() et library() dans R

Supposons que nous souhaitions charger l’ensemble de données BostonHousing à partir du package mlbench , mais supposons que le package mlbench n’est pas déjà installé.

Le code suivant montre comment utiliser la fonction library() pour tenter de charger ce package et effectuer une analyse de données sur l’ensemble de données BostonHousing :

#attempt to load mlbench library
library(mlbench)

Error in library(mlbench) : there is no package called ‘mlbench’

#load Boston Housing dataset
data(BostonHousing)

#view summary of Boston Housing dataset
summary(BostonHousing)

#view total number of rows in Boston Housing dataset
nrow(BostonHousing)

Comme le package mlbench n’est pas déjà installé, nous recevons une erreur lorsque nous utilisons la fonction library() et le reste du code n’est même pas exécuté.

Ceci est utile car cela nous fait immédiatement savoir que ce package n’est pas installé et que nous devons l’installer avant de continuer.

Cependant, supposons que nous utilisions à la place require() pour charger le package mlbench :

#attempt to load mlbench library
require(mlbench)

Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
  there is no package called ‘mlbench’

#load Boston Housing dataset
data(BostonHousing)

Warning message:
In data(BostonHousing) : data set ‘BostonHousing’ not found

#view summary of Boston Housing dataset
summary(BostonHousing)

Error in summary(BostonHousing) : object 'BostonHousing' not found

#view total number of rows in Boston Housing dataset
nrow(BostonHousing)

Dans cet exemple, nous ne recevons pas de message d’erreur tant que nous n’essayons pas d’utiliser la fonction summary() pour résumer l’ensemble de données BostonHousing .

Au lieu de cela, nous recevons un avertissement après avoir utilisé la fonction require() et le reste du code continue de s’exécuter jusqu’à ce que nous rencontrions une erreur.

Cet exemple illustre la différence entre library() et require() dans R : La fonction library() produit une erreur immédiatement et n’exécute pas le reste du code puisque mlbench n’est pas chargé.

C’est pourquoi, dans la plupart des scénarios, vous souhaiterez utiliser la fonction library() lors du chargement des packages.

Bonus : vérifiez si un package particulier est installé

Nous pouvons utiliser la fonction system.file() pour vérifier si un package particulier est installé dans notre environnement R actuel.

Par exemple, nous pouvons utiliser la syntaxe suivante pour vérifier si le package ggplot2 est installé dans l’environnement R actuel :

#check if ggplot2 is installed
system.file(package='ggplot2')

[1] "C:/Users/bob/Documents/R/win-library/4.0/ggplot2"

Puisque ggplot2 est installé, la fonction renvoie simplement le chemin du fichier où le package est installé.

Supposons maintenant que nous vérifiions si le package mlbench est installé :

#check if mlbench is installed
system.file(package='mlbench')

[1] ""

La fonction renvoie une chaîne vide, qui nous indique que le package mlbench n’est pas installé dans notre environnement actuel.

Ressources additionnelles

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

Comment charger plusieurs packages dans R
Comment effacer l’environnement dans R
Comment effacer tous les tracés dans RStudio

Ajouter un commentaire

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