B Introduction à R et RStudio

Tout au long du livre, nous incluons du code R pour l’estimation, la simulation et la création d’exemples. Nous avons utilisé RStudio pour créer les slides. Pour les personnaliser à vos propres fins, nous supposons que vous utiliserez R Markdown. Ci-dessous, voici les guides pour configurer R et RStudio sur votre ordinateur, ainsi que quelques commandes de base fréquemment utilisées.

B.1 R et RStudio

R est un environnement logiciel libre utilisé couramment pour l’analyse statistique et le calcul. Étant donné que les participants aux journées d’apprentissage arrivent avec un bagage statistique et des outils différents, nous utilisons R pour nous assurer que tout le monde se comprend. Nous recommendons l’utilisation de R de manière générale pour sa flexibilité, sa richesse et son support complet, principalement via des forums en ligne.

RStudio est un environnement de développement intégré gratuit et open source avec une interface utilisateur qui rend R beaucoup plus convivial. R Markdown est une fonctionnalité de RStudio qui permet de présenter facilement du code, des résultats et du texte au format .pdf, .html ou .doc.

B.2 Télécharger R et RStudio

B.2.1 Télécharger R

R est téléchargeable gratuitement sur CRAN. Cliquer sur le lien correspondant à votre système d’exploitation :

B.2.2 Télécharger RStudio

RStudio peut être téléchargé gratuitement sur le site Web de RStudio, https://www.rstudio.com/products/rstudio/download/. Dans le tableau, cliquez sur le bouton bleu “Download” en haut de la colonne de gauche, “Licence Open Source RStudio Desktop”, comme illustré ci-dessous dans la figure B.1. Après avoir cliqué, vous verrez une liste d’options de téléchargement, comme illustré à la Figure B.2.

  • Pour Windows, sélectionner Windows 10/8/7.
  • Pour Mac OS X, sélectionner Mac OS X 10.13+.
Sélectionner "Download" dans la colonne "RStudio Desktop Open Source License".

Figure B.1: Sélectionner “Download” dans la colonne “RStudio Desktop Open Source License”.

Sélectionner le lien "Windows 10/8/7" pour Windows ou "Mac OS X 10.13+" pour Mac.

Figure B.2: Sélectionner le lien “Windows 10/8/7” pour Windows ou “Mac OS X 10.13+” pour Mac.

B.3 L’interface RStudio

Lorsque vous ouvrez RStudio pour la première fois, trois fenêtres doivent être visibles, comme illustré dans la Figure B.3 ci-dessous.

  • Console (à gauche)
  • Accounting (en haut à droite) : cela inclue les onglets Environment et History
  • Miscellaneous (en bas à droite)
Lorsque vous ouvrez RStudio, il y a trois fenêtres visibles : la Console (à gauche), Accounting (en haut à droite), et Miscellaneous (en bas à droite).

Figure B.3: Lorsque vous ouvrez RStudio, il y a trois fenêtres visibles : la Console (à gauche), Accounting (en haut à droite), et Miscellaneous (en bas à droite).

B.3.1 La console

Vous pouvez exécuter toutes les opérations dans la console. Par exemple, si vous saisissez 4 + 4 et appuyez sur la touche Enter, la console renvoie [1] 8.

Pour s’assurer que tout le monde est prêt à utiliser R lors des journées d’apprentissage, nous demandons aux participants d’exécuter une ligne de code dans la console pour télécharger plusieurs packages R. Les packages sont des fragments de code reproducibles qui permettent une analyse plus efficace dans R. Pour exécuter ce bout de code, copiez-le dans la console et appuyez sur votre touche Enter. Vous devez être connecté à internet pour télécharger des packages.

Si le téléchargement est réussi, votre console ressemblera à la figure B.4, sauf que les URL seront différentes en fonction de votre emplacement.

La console après avoir exécuté les trois lignes de code répertoriées ci-dessus.

Figure B.4: La console après avoir exécuté les trois lignes de code répertoriées ci-dessus.

B.3.2 L’éditeur

Afin d’écrire et sauvegarder du code reproductible, nous allons ouvrir une quatrième fenêtre, l’éditeur, en cliquant sur l’icône avec une page blanche et un signe plus, dans le coin supérieur gauche de l’interface RStudio et en sélectionnant R Script, comme illustré à la figure B.5.

Créez un nouveau script R et ouvrez la fenêtre `éditeur` en sélectionnant `R Script` dans le menu déroulant.

Figure B.5: Créez un nouveau script R et ouvrez la fenêtre éditeur en sélectionnant R Script dans le menu déroulant.

Une fois le script R ouvert, il devrait y avoir quatre fenêtres dans l’interface RStudio, maintenant avec l’ajout de la fenêtre Éditeur. Nous pouvons exécuter une arithmétique simple en entrant une formule dans l’éditeur et en appuyant sur Ctrl + Entrée (Windows) ou Commande + Entrée (Mac). La formule et la “réponse” apparaîtront dans la console, comme illustré à la Figure B.6.

Une expression arithmétique est saisie dans l'éditeur et évaluée dans la console. Les cases rouges sont ajoutées pour une visibilité accrue.

Figure B.6: Une expression arithmétique est saisie dans l’éditeur et évaluée dans la console. Les cases rouges sont ajoutées pour une visibilité accrue.

R peut être utilisé pour toute opération arithmétique, y compris, mais sans s’y limiter, l’addition (+), la soustraction (-), la multiplication scalaire (*), la division (/) et l’exponentielle (^ ).

B.3.3 Accounting

Au-delà des fonctions de base, nous pouvons également stocker des valeurs, des données et des fonctions dans l’environnement global. Pour affecter une valeur à une variable, utilisez l’opérateur <-. Toutes les valeurs, fonctions et données stockées apparaîtront dans l’onglet Environment de la fenêtre Accounting. Dans la Figure B.7, nous affectons la valeur \(3 \times \frac{6}{14}\) à la variable t, et pouvons voir qu’elle est stockée sous Values.

Nous chargeons également un jeu de données. Ici, “ChickWeight” est un dataset intégré à R ; la plupart des datasets seront chargés à partir du Web ou d’autres fichiers sur votre ordinateur via une autre méthode. Nous pouvons voir que ChickWeight contient 578 observations de 4 variables et est stocké dans l’onglet Environment. En cliquant sur le nom ChickWeight, un onglet s’ouvrira avec le dataset dans la fenêtre de votre éditeur.

La valeur 3 * (6/14) est affectée à la variable t (en rouge) et le dataset ChickWeight est ajouté à l'environnement global (en bleu).

Figure B.7: La valeur 3 * (6/14) est affectée à la variable t (en rouge) et le dataset ChickWeight est ajouté à l’environnement global (en bleu).

Les ateliers des journées d’apprentissage utilisent de nombreux outils dans R pour analyser et visualiser les données. Pour l’instant, nous pouvons apprendre quelques outils de base pour examiner les données. La fonction head() nous permet de voir les six premières lignes des données. summary() résume chacune des colonnes du dataset et dim() fournit les dimensions du dataset avec d’abord le nombre de lignes puis de colonnes.

  weight Time Chick Diet
1     42    0     1    1
2     51    2     1    1
3     59    4     1    1
4     64    6     1    1
5     76    8     1    1
6     93   10     1    1
     weight         Time          Chick     Diet   
 Min.   : 35   Min.   : 0.0   13     : 12   1:220  
 1st Qu.: 63   1st Qu.: 4.0   9      : 12   2:120  
 Median :103   Median :10.0   20     : 12   3:120  
 Mean   :122   Mean   :10.7   10     : 12   4:118  
 3rd Qu.:164   3rd Qu.:16.0   17     : 12          
 Max.   :373   Max.   :21.0   19     : 12          
                              (Other):506          
[1] 578   4

Contrairement à d’autres logiciels statistiques, R permet aux utilisateurs de stocker simultanément plusieurs ensembles de données, éventuellement de dimensions différentes. Cette fonctionnalité rend R assez flexible pour l’analyse à l’aide de plusieurs méthodes.

B.3.4 Divers

R fournit une suite d’outils, allant des fonctions intégrées aux packages pour tracer graphiques, modèles, estimations, etc. La dernière fenêtre Divers permet une visualisation rapide des graphiques dans RStudio. La Figure B.8 montre une courbe dans cette fenêtre. Pendant les Leaning Days, on discutera de la manière de représenter les données.

Un exemple de courbe avec le dataset `ChickWeight` en R.

Figure B.8: Un exemple de courbe avec le dataset ChickWeight en R.

B.4 Apprendre à utiliser R

B.4.1 Ressources en ligne

Il existe de nombreuses ressources en ligne utiles pour vous aider à commencer avec R. Nous vous recommandons deux sources :

  • Code School, qui fonctionne entièrement sur votre navigateur https://www.codeschool.com/courses/try-r.
  • Coursera, via un cours de programmation R en ligne organisé par l’Université Johns Hopkins :
    1. Allez sur https://www.coursera.org
    2. Créez un compte (c’est gratuit !)
    3. Inscrivez-vous pour “R Programming at Johns Hopkins University” (instructeur : Roger Peng) sous la rubrique “Cours”
    4. Lisez les documents et regardez les vidéos de la première semaine. Les vidéos de la première semaine durent environ 2 heures 30 au total.

B.4.2 Exercise de base

Voici quelques fragments de code pour vous familiariser avec certaines pratiques de base de R. Nous vous recommandons de vous entraîner en tapant les fragments de code dans votre éditeur, puis en les évaluant.

B.4.2.1 Configuration d’une session R

En général, nous lisons d’autres fichiers tels que des données ou des fonctions dans R et publions des résultats tels que des graphiques ou des tableaux dans des fichiers en dehors de la session R. Pour ce faire, nous devons donner à R une “adresse” où il peut localiser de tels fichiers. Il peut être plus efficace de le faire en définissant un répertoire de travail, i.e. un chemin d’accès au répertoire dans lequel les fichiers pertinents sont stockés. Nous pouvons identifier le répertoire de travail actuel en utilisant getwd() et le définir en utilisant setwd(). Notez que la syntaxe de ces chemins de fichiers varie selon le système d’exploitation.

Vous devrez peut-être installer des packages autres que ceux répertoriés ci-dessus pour exécuter certaines fonctions. Pour installer les packages, nous utilisons install.packages(""), en remplissant le nom du package entre les marques "", comme suit. Vous n’avez besoin d’installer les packages qu’une seule fois.

Une fois qu’un package est installé, il peut être chargé et accessible en utilisant library() où le nom du package est inséré entre parenthèses (sans guillemets).

Pour effacer de la mémoire de R, les données, fonctions ou valeurs stockées qui apparaissent dans l’onglet de comptabilité, utilisez rm(list = ls()). Il peut être utile de définir un nombre aléatoire pour garantir que la réplication est possible dans une session R différente, en particulier lorsque nous travaillons avec des méthodes basées sur la simulation.

B.4.2.2 Les basiques

Nous allons maintenant explorer quelques commandes de base. Afin d’affecter un scalaire (i.e. un élément unique) à une variable, nous utilisons la commande <- comme discuté précédemment :

[1] 5

Nous pouvons également vouloir affecter un vecteur d’éléments à une variable. Ici, nous utilisons la même commande <-, mais nous nous concentrons sur la façon de créer le vecteur.

 [1]  1  2  3  4  5  6  7  8  9 10
[1] 1.000 3.000 2.000 4.000 3.142

On peut alors se référer aux éléments d’un vecteur en désignant leur position à l’intérieur de parenthèses [].

[1] 1
[1] 5 4
[1]  2  3  4  5  6  7  8  9 10
[1] 1 3 6 7

Il existe un ensemble de fonctions pré-existantes qui peuvent être appliquées à des vecteurs comme b.

[1] 50
[1] 5
[1] 10
[1] 0
[1] 3.496
[1] 12.22

On peut aussi appliquer des transformations arithmétiques à tous les éléments d’un vecteur :

 [1]   1   4   9  16   0  36  49  64  81 100
 [1] 1.000 1.414 1.732 2.000 0.000 2.449 2.646 2.828 3.000 3.162
 [1] 0.0000 0.6931 1.0986 1.3863   -Inf 1.7918 1.9459 2.0794 2.1972 2.3026
 [1]     2.718     7.389    20.086    54.598     1.000   403.429  1096.633  2980.958  8103.084 22026.466

Enfin, nous pouvons évaluer les affirmations logiques (c’est-à-dire “la condition X est-elle vraie ?”) sur tous les éléments d’un vecteur :

 [1] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE
 [1] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
 [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE FALSE
 [1] FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE
 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[1] 1 2 3 4 5

La logique de base de ces commandes s’applique à des structures de données beaucoup plus complexes que les scalaires et les vecteurs. La compréhension de ces fonctionnalités de base vous aidera à mieux comprendre les sujets abordés au cours des journées d’apprentissage.