1 Présentation et introduction

Dans ce premier chapitre, nous allons vous présenter rapidement le langage R et son environnement de développement intégré (IDE, en anglais) RStudio.

1.1 Que peut-on faire avec R

R est un langage orienté vers le traitement de données et l’analyse statistique. Il est développé depuis les années 1990 par un groupe de volontaires de différents pays. L’utilisation de R présente plusieurs avantages, c’est un logiciel :

  • Multiplateforme (systèmes Linux, Mac OS X ou Windows), gratuit et opensource.
  • Très puissant et avec d’excellentes capacités graphiques. Il est conçu spécialement pour la manipulation de données et pour faire tout type de calculs mathématiques et statistiques.
  • Dont les fonctionnalités de base peuvent être étendues à l’aide d’extensions (packages, en anglais). Il est relativement facile à utiliser et et à apprendre. Son développement est très actif et sa communauté d’utilisateurs ne cesse de s’élargir.
  • La plupart des data scientistes ou personnes qui travaillent avec des données apprennent ce langage, et les besoins pour ces métiers ne font que croître avec l’augmentation de la masse de données à notre disposition.

R permet, entre autres, de réaliser les tâches suivantes :

  • Visualisation et manipulation des données.
  • Traitement statistique, calcul mathématique, machin learning et data science.
  • Appeler des fonctions préexistantes ou en programmer des nouvelles.
  • Rédiger des rapports d’analyse et construire des applications web interactives.

Comme rien n’est parfait, on peut également trouver quelques inconvénients à R :

  • Le logiciel, la documentation de référence et les principales ressources sont en anglais.
  • R est un vrai langage de programmation, ce qui veut dire qu’il permet beaucoup de choses. Mais aussi qu’il demande un investissement de départ un peu plus important qu’un logiciel “clique boutons”.
  • La documentation de R n’est pas toujours très facile à lire. Parfois, il est difficile de comprendre le fonctionnement exact de telle fonction ou de tel package.

1.2 Instalation

Pour pourvoir commencer à coder, il nous faut installer deux outils indispensables : (1) le logiciel R, (2) le logiciel Rstudio. Le premier est indispensable pour traduire du texte (code R) en langage machine (binaire). Le second propose un ensemble d’outils qui facilitent l’utilisation de R (l’écriture du code, son exécution, son débogage,…).

Vous allez typiquement utiliser R via RStudio. On peut comparer cette situation à celle de la conduite d’une voiture dont R serait le moteur (coeur) et RStudio le tableau de bord. Sans ce dernier, il sera plus difficile de faire fonctionner le premier !

Dans l’ordre, il faut :

  1. Installer R: il suffit de se rendre sur le site officiel de R et de (i) choisir la version de R (de base) qui correspond à votre système d’exploitation (Linux, macOS, ou Windows), (ii) la télécharger, et puis (iii) l’installer sur votre machine.
  2. Installer RStudio: même chose, mais cette fois-ci il faut se rendre sur la page officielle de RStudio

Après avoir installé R et RStudio sur votre ordinateur, vous aurez deux nouvelles applications. Nous travaillerons toujours avec RStudio et non avec R (directement). En d’autres termes, vous devez toujours ouvrir RStudio, c’est ce dernier qui va faire automatiquement appel à R pour exécuter vos codes et afficher le(s) résultat(s).

Pour plus de détails sur l’instalation de R et RStudio, regardez ce vidéo.

1.3 L’interface de RStudio

Une fois Rstudio lancé, vous aurez une interface qui se présente sous la forme d’une unique fenêtre découpée en plusieurs zones que l’on peut redimensionner, masquer ou maximiser selon ses préférences (cliquez sur l’image ci-dessus pour plus de détails) :

Image name

  1. Le quadrant haut-gauche est le volet dédié aux fichiers sources (Source pane, en anglais). Il sert à écrire et sauvegarder des lignes de code (script). C’est là que l’on passe le plus clair de du temps dans RStudio.
  2. Le quadrant haut-droite fournit, entre autres, des informations sur vos objets et données en mémoire (Environment) et votre historique de commandes (History).
  3. Le quadrant bas-droite vous permet de naviguer dans votre répertoire de travail (onglet Files), afficher de l’aide (Help), afficher vos graphiques (Plots) et les extensions disponibles (Packages). Le dernier onglet Viewer ne nous sera pas utile (pour le moment).
  4. Enfin, la Console est affichée en bas à gauche. C’est là que l’on va pouvoir entrer/exécuter des instructions en R et voir les résultats s’afficher.

Inutile de tout retenir pour le moment. Nous aborderons chaque outil en temps utile. Dans les deux sections qui suivent, nous allons nous concentrer sur les onglets Console et Source (script), respectivement.

1.4 La console

Voici la démarche à suivre pour exécuter des commandes R:

  1. Votre curseur doit se trouver à la Console sur la ligne commençant par le caractère >. Ceci est appelée l’invite de commande (prompt, en anglais). Elle signifie que R est disponible et en attente de votre prochaine commande.
  2. Saisissez du code R puis appuyez sur Entrée \(\rightarrow\) R exécute le code.

À la suite de quoi, deux situations peuvent se présenter à vous:

  1. Si votre code est correct, R vous enverra le résultat qui peut prendre différentes formes: chiffre, message, tableau, graphe, etc.. Mais il arrive souvent que R exécute un code, mais n’affiche rien à l’écran.
  2. Si quelque chose ne va pas avec votre code, R vous le dira soit en affichant un message d’erreur (Error) lorsque l’exécution doit être arrêtée ou un avertissement (Warning) pour signaler que le code a été exécuté, mais quelque chose d’inattendu s’est produit.

Commençons par une première commande: tapez 2 + 3 dans la console

2 + 3

Et validez avec la touche Entrée. Vous deviez alors obtenir le chiffre 5 précédé du symbole [1], comme ceci

[1] 5

Voici quelques opérateurs arithmétiques de base en R.

8 - 12
14 * 25
-3 / 10
2^5   # ceci est une une exponentiation (2 à la puissance 5)
[1] -4
[1] 350
[1] -0.3
[1] 32

Dans la dernière ligne du code ci-dessus, remarquez l’usage du symbole #. Ce symbole sert à signaler un commentaire, càd. une ligne ou une portion de ligne qui sera ignorée par R. Plus précisément, tout ce qui est sur la même ligne à droite d’un signe # ne sera pas exécuté.

Note
Il est très important de documenter son code R au fur et à mesure, faute de quoi vous risquez de ne plus y comprendre grand-chose si vous le reprenez ne serait-ce que quelques jours plus tard. Les commentaires aident aussi les autres à lire et à comprendre votre travail.

Voici une série de commandes qui illustrent d’autres éléments importants du langage R (chaque ligne de code et suivie par sa sortie).

# exemple d'erreur 
5a + 5
Error: object '5a' not found
# exemple de Warning
log(-1)
[1] NaN
Warning message:
In log(-1) : NaNs produced

Comme vous pourrez le constater ci-dessus, R retourne l’objet NaN (pour Not a Number), indiquant que l’opération demandée n’est pas défini. Notez que toute opération qui implique NaN donnera également comme résultat NaN.

2 * (2 + log(-1))
[1] NaN

R est livré avec de très nombreuses fonctions mathématiques. Voici quelques exemples.

sqrt(4)      # racine carrée de 4
log(4)       # logarithme népérien (base e) de 4
exp(4)       # exponentielle de 4
abs(-4)      # valeur absolue de -4
sin(4)       # sinus de 4
factorial(4) # factorielle de 4, càd. 4!
choose(4, 2) # combinaisons de 2 éléments parmi 4, càd. 4!/2!(4-2)!
[1] 2
[1] 1.39
[1] 54.6
[1] 4
[1] -0.757
[1] 24
[1] 6

Vous pouvez combiner plusieurs opérations mathématiques dans la même commande. Pour cela, l’usage des parenthèses est très important. R respecte les priorités conventionnelles des opérateurs. Voici un exemple.

exp((7 * 3 + 12 / 2 - 7^2 + sqrt(4) - abs(log(0.05))) / (2^3 + 1))
[1] 0.0777

Pour finir, notez que R vient charger avec un certain nombre d’objets/constantes prédéfinis dont voici quelques exemples.

NULL  # un objet vide: « rien » !
Inf   # plus l'infini
-Inf  # moins l'infini
pi    # le chiffre pi
NULL
[1] Inf
[1] -Inf
[1] 3.14
letters     # Lettres de l'alphabet
month.name  # Les mois
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
[20] "t" "u" "v" "w" "x" "y" "z"
 [1] "January"   "February"  "March"     "April"     "May"       "June"     
 [7] "July"      "August"    "September" "October"   "November"  "December" 

Notez la présence de nombres entre crochets au début de chaque ligne d’une sortie R. Ce nombre indique simplement la position occupée par le premier élément de la ligne en question dans l’objet affiché. Ainsi, dans la sortie ci-dessus “July” occupe la 7e position dans l’objet month.name.

Quelques astuces

  • Vous pouvez utiliser les flèches Haut (\(\uparrow\)) et Bas (\(\downarrow\)) du clavier pour naviguer dans l’historique des commandes tapées précédemment, vous pouvez ainsi facilement les ré-exécuter ou les modifier.

  • L’onglet History du quadrant haut-droite vous permet de consulter l’historique des commandes que vous avez transmises à R.

    • Un double-clic sur une commande la recopiera automatiquement dans la console.
    • Vous pouvez également sélectionner une ou plusieurs commandes (en maintenant la touche Ctrl enfoncée) puis cliquer sur To Console.

  • Lorsqu’on fournit à R une commande incomplète, par exemple

    4 *

    R nous propose de la compléter en nous présentant le signe +. Si c’est le cas, alors vous pouvez choisir de (i) compléter la commande, en introduisant le code manquant, par exemple 2 pour 4 * 2, ou (ii) annuler la commande en utilisant la touche Echap ou Esc (sous Windows).

  • Normalement, chaque commande R occupe une ligne. Sachez qu’il est possible d’enchaîner plusieurs commandes sur une même ligne en les séparant par des points-virgules comme ceci :

    sqrt(4); log(4); exp(4)
    [1] 2
    [1] 1.39
    [1] 54.6

    Mais sachez aussi que c’est une pratique déconseillée puisqu’elle nuit à la lisibilité du code.

1.5 Les scripts

Ecrire du code dans la console n’est pas trés pratique : cela permet d’exécuter du code de façon instantanée, mais pas de le mémoriser ou de l’enregistrer. Il existe une bien meilleure façon de travailler avec le code R : le mettre dans un fichier script. Ce dernier n’est rien d’aure qu’un fichier text clasique contenant du code R, que vous pouvez enregistrer puis ré-exécuter quand vous le souhaitez.

Pour créer un nouveau fichier script, il suffit de cliquer dans la barre de menus sur File > New File > R Scrip, ou procédez comme indiqué dans la capture d’écran ci-dessous.

Une nouvelle fenêtre devrait alors apparaître dans RStudio, avec un document nommé “untitled1” dedans. Placez votre curseur dans le document, puis tapez le code suivant

1 + 1
2 * 2
1 + 2 * 3 - 5
(1 + 2) * 3 - 5
  • Pour exécuter une seule ligne de code, (i) placez le curseur sur la ligne en question, (ii) cliquez sur l’icône Run, ou appuyez sur Ctrl+Enter sur votre clavier.

  • Pour exécuter plusieurs lignes de code, (i) sélectionnez les lignes en question, (ii) cliquez sur l’icône Run, ou appuyez sur Ctrl+Enter sur votre clavier.

    RStudio exécutera le code sélectionné et affichera le résultat dans la console.

  • Pour sauvegarder votre script, cliquez sur File > Save. Par la suite, choisissez un nom (par exemple My1script) et un emplacement pour votre fichier. Un fichier du nom que vous avez choisit et terminant par l’extension .R doit alors être créer dans le dossier que vous avez choisit. N’oubliez pas de sauvegarder votre travail régulièrement.

  • Pour ouvrir un script existant, cliquez sur File > Open File. Vous pourrez alors continuer à travailler dessus normalement.

Pour plus de détails sur l’interface de RStudio et autres éléments de base associés à R, regardez ce vidéo.