Installation de packages

Il existe plusieurs repositories depuis lesquels on peut installer des packages R. En voici quelques uns :

  • Le CRAN (pour Comprehensive R Archive Network),
  • Bioconductor,
  • GitHub.

Il en existe d'autres, mais ces trois-ci sont vraiment les plus importants.

CRAN

C'est le repository "originel" qui met à disposition (à l'heure où ce tutoriel a été écrit) 17618 packages. La liste de ces packages est disponible ici.

La commande pour installer un package depuis cette source est

install.packages("nom_du_package")

Cette commande installera le package nom_du_package dans la librairie par défaut de votre session. Pour savoir exactement où cette librairie se trouve, vous pouvez exécuter la commande

.libPaths()

Le résultat depend de beaucoup de choses, y compris du système d'exploitation et de la version de R que vous utilisez. Chez moi, le résultat est le suivant :

"/Library/Frameworks/R.framework/Versions/4.0/Resources/library"

Bioconductor

Ce repository est essentiel pour les utilisateurs qui souhaitent faire de la bioinformatique avec R. Il met à disposition 1974 software packages, 398 experiment data packages, 968 annotation packages, et 28 workflows à la date où ce tutoriel a été écrit. Vous pourrez trouver sur Bioconductor des packages essentiels comme limma pour faire de l'analyse différentielle de données -omiques, ou encore org.Hs.eg.db qui contient des annotations du génome humain. Tout cela, et bien plus, est disponible à cette adresse.

Pour installer un package Bioconductor, vous devrez utiliser la fonction

BiocManager::install("nom_du_package")

Attention, pour utiliser cette fonction, il faudra d'abord installer le package BiocManager ! (avec la commande install.packages("BiocManager"))

GitHub

De nombreux développeurs utilisent un système de gestion de version pour travailler, et certains utilisent GitHub pour héberger le fruit de leurs efforts. Depuis peu, il est possible d'installer directement des packages depuis ces systèmes d'hébergement. Attention, parfois c'est la version de développement d'un package qui se trouve sur GitHub et non la version la plus stable !

Pour installer un package depuis GitHub, vous pouvez utiliser la commande

remotes::install_github("username/nom_du_package")

Pour utiliser cette commande, il faudra d'abord installer le package remotes ! (avec la commande install.packages("remotes"))

Chargement de packages

Il existe deux fonctions en R qui permettent de charger des packages : require et library, qui s'utilisent de la même façon

require(nom_du_package)
require("nom_du_package")
library(nom_du_package)
library("nom_du_package")

Si le package existe

Lorsque le package nom_du_package existe, les deux fonctions permettent toutes les deux l'utilisation des fonctions de ce package. La différence entre les deux se situe dans ce que la fonction "renvoie"

  • library renvoie les packages déjà chargé,
  • require renvoie TRUE

Pour exercice : assignez à un objet appelé obj1 et obj2 le résultat, respectivement, de la commande library(limma) et de la commande require(limma).

obj1 <- library(limma)
obj1
obj2 <- require(limma)
obj2

Si le package n'existe pas

La différence la plus importante entre ces deux fonctions apparaît quand on souhaite charger un package qui n'existe pas, dans ce cas,

  • library génère une erreur,
  • require génère un warning, et renvoie la valeur FALSE.

Pour exercice : assignez à un objet appelé obj1, resp. obj2, le résultat, respectivement, de la commande library(limma) et de la commande require(limma).

obj1 <- library(licorne)
obj1
obj2 <- require(licorne)
obj2

Quelle fonction utiliser ?

Il y a d'autres différences entre les deux fonctions, cf. la page d'aide commune des deux fonctions accessible avec la commande ?library ou ?require.

Mon conseil : utilisez library car cela générera une erreur si vous avez oublié d'installer un package !