Rlogo L'une des forces de R est son système de packages. Pour pouvoir télécharger ces packages, il faut au préalable définir un dépôt. Le réseau de dépôt le plus connu est le CRAN. Il en existe d'autres (par exemple Bioconductor dont je ne parlerai pas ici.

Je décrirais dans ce billet comment choisir et définir à la main son dépôt CRAN.

Choix du dépôt

Le Comprehensive R Archive Network (CRAN) est un réseau de serveurs (FTP et HTTP) répartis dans le monde qui stockent des versions identiques et à jour de R et de ses packages.

Il est indiqué d'utiliser le miroir le plus proche afin de minimiser la charge réseau. Pour ce faire

  1. Se rendre sur la page listant les dépôts : http://cran.r-project.org/mirrors.html
  2. Trouver le pays où vous êtes actuellement localisé. Pour les frontaliers, peut-être voir avec les pays voisins.
  3. Trouver le serveur le plus proche et sélectionner son URL

Dans mon cas il y a deux candidats, CARDSE qui est à Strasbourg et Paris I.

Etapes optionnelle et certainement optionnelle : tester les serveurs, par exemple simplement sur leur ping qui permet de connaître le temps de latence du serveur :

ping -c 5 cran.cardse.net
ping -c 5 cran.univ-paris1.fr

Pour tester le débit, on peut télécharger un gros package et observer le débit moyen.

wget http://cran.cardse.net/src/contrib/ggplot2_1.0.0.tar.gz 
wget http://cran.univ-paris1.fr/src/contrib/ggplot2_1.0.0.tar.gz 
rm ggplot2_1.0.0.tar.gz*

Dans mon cas c'est http://cran.cardse.net le candidat idéal.

Définir le dépôt

Il est possible de définir le dépôt à l'aide du GUI de R. Autre possibilité pour ceux qui n'utilisent pas le GUI : le configurer dans le fichier ~/.Rprofile.

Pour ouvrir ce fichier, taper dans le terminal

vim ~/.Rprofile

Puis ajouter

# Set the repositories

local({r <-getOption("repos")
       r["CRAN"] <- "http://cran.cardse.net/"
       options(repos = r)
 })

en remplaçant http://cran.cardse.net/ par l'URL du dépot que vous avez sélectionné.

Enfin, enregistrez le tout et testez en lançant R.

install.packages("dfexplore")