RStudio

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cet article est en construction: un auteur est en train de le modifier.

En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.



Introduction

RStudio est un integrated development environment (IDE) pour R, open-source et multi-plateforme, développé et maintenu par une Public Benefit Corporation, la RStudio, PBC, qui fournit le logiciel gratuitement ou commercialement. RStudio se compose de plusieurs fonctionnalités qui intègrent la simple ligne de commande disponible à travers la version de base de R, comme par exemple :

  • Support pour l'écriture de code (complètement automatique et mise en évidence de la syntaxe)
  • Aide pour l'importation et la visualization de données
  • Affichage et sauvegarde de représentations graphiques (graphiques, images, ...)
  • Organisation et gestion des fichiers à travers des projets
  • Création de report en différents formats (HTML, PDF, ...)

De ce fait, RStudio représente l'une des composantes principales pour la mise en place d'un environnement de travail avec R. Dans cette page, nous proposons un survol du logiciel et ses caractéristiques principales.

Cadres d'utilisation de RStudio

RStudio est un élément intégrant de la pensée computationnelle avec R, une collection de ressources destinée à des chercheurs ou formateurs qui souhaitent utiliser R comme outil pratique et outil cognitif. Dans ces contextes, RStudio peut servir à  :

Note sur la version

La plupart du contenu de cet article fait référence à la version 1.3.x de RStudio (voir versionnage sémantique).

Installation

RStudio est disponible en trois versions :

  • RStudio Desktop : logiciel desktop qui nécessitent d'une installation en local
  • RStudio Server : application serveur qui nécessite l'installation sur un serveur distant et qui est ensuite accessible depuis un navigateur web
  • RStudio Cloud : plateforme gérée par la même société qui permet d'accéder à RStudio en tant que Software as a Service (Saas), actuellement en phase beta (voir Versionnage sémantique)

Pour une discussion plus approfondie des trois différentes options, voir :

Dans cette section, nous fournirons les informations nécessaires à l'installation en local et quelques ressources pour l'installation serveur.

Installer RStudio Desktop

RStudio Desktop est un logiciel multi-plateforme, disponible pour Windows, Linux et Mac. Il existe en version gratuite, mise à disposition sous-licence AGPL, et en licence commerciale pour les entreprises.

RStudio Desktop exploite la version de R disponible sur l'ordinateur. Il faut donc d'abord installer R pour pouvoir utiliser RStudio Desktop.

Si vous avez plusieurs versions de R installées sur votre machine, vous pouvez choisir laquelle utiliser avec RStudio à travers les options de configuration (voir plus bas).

Mise à part la nécessité d'avoir R déjà installé sur sa propre machine, l'installation de RStudio Desktop ne présente pas d'aspects particuliers par rapport à une normale installation de toute autre logiciel :

  1. Pointez vers la page de download officiel
  2. Choisissez la version gratuite du logiciel (RStudio Desktop Free)
  3. Acceptez la version proposée par le bouton de download ou téléchargez le fichier d'installation depuis la liste All installers pour votre système d'exploitation

Installer RStudio Server

L'installation de la version server de RStudio nécessite de compétences techniques au niveau de la gestion de serveur, et peut donc intéresser principalement des ingénieur systèmes ou des responsables techniques d'une équipe de recherche. Néanmoins, elle peut-être également une solution pour des formateurs qui veulent proposer l'utilisation de RStudio aux étudiants, sans qu'ils aient à installer tous les composantes nécessaires sur leurs ordinateurs. Dans ce cas, la difficulté concerne plutôt la mise en place du serveur, l'installation de RStudio server est plutôt simple à ce moment.

Pour plus d'informations voir la section sur l'environnement serveur dans la page :

Présentation de l'interface

En tant que Integrated Development Environment (IDE), RStudio possède une interface plus articulée par rapport à l'interface graphique qui accompagne R. Si d'une part cette interface garantit des fonctionnalités plus avancées, de l'autre, elle peut provoquer une certaine surcharge avec les différents éléments qui s'affichent en même temps. Il est donc important de se familiariser avec l'interface qui, d'ailleurs, peut être personnalisée pour mieux s'adapter aux habitudes et besoins individuels. En même temps, pour découvrir l'interface idéale il faut d'abord une certaine pratique et l'exploration des différentes opportunités. Dans cette section, nous proposons un survol de l'interface de base, c'est-à-dire plus au moins celle qui est fourni out of the box une fois que vous avez installé RStudio.

La section propose d'abord des informations plutôt techniques qui permettent de regarder l'interface et comprendre ses parties. Pour des informations plus ciblées sur l'utilisation, voir les fonctionnalités principales plus bas, ainsi que les pages Introduction conceptuelle à R et Premier projet avec RStudio. Ensuite, nous proposons quelques informations pour adapter l'interface pour une utilisation immédiate. Pour des configurations plus avancées, voir ensuite la section Configuration plus bas dans la page.

Aperçu général

Aperçu de l'interface de RStudio avec éléments en évidence

L'interface de RStudio est divisée en plusieurs cadrants, dont la largeur et l'hauteur peuvent être définies en déplaçant les marges extérieurs. Chaque cadrant peut présenter différents panneaux, avec un onglet, ou tab, qui permettent d'activer l'affichage du panel respectif à l'intérieur du cadrant.

L'interface est complétée par un menu principal en haut, dont certains éléments sont repris sous forme d'icônes dans le ruban plus bas. Lorsque vous travaillez à l'intérieur d'un projet RStudio (voir plus bas), le nom du projet s'affiche dans l'entête de la fenêtre, ainsi que sur le côté droit du ruban inférieur du menu principal.

Les deux cadrants les plus utilisés sont le cadrant des Fichiers de travail (où se trouve le code source) et la Console qui permet d'exécuter et afficher le résultat du code. Nous illustrons ces deux cadrants dans les deux sections suivantes. Les autres panneaux sont brièvement abordés dans une autre section.

Fichiers de travail (code source)

Le cadrant des fichiers de travail permet d'exploiter les fonctionnalités de RStudio en tant qu'éditeur de texte avancé pour l'écriture de code source. Les fichiers de travail correspondent de quelque sorte à l'écriture au propre de votre projet, et RStudio permet d'éditer plusieurs fichiers en même temps. D'ailleurs, il est compatible avec plusieurs formats de fichiers, comme par exemple des fichiers HTML ou CSS, bien que les fonctionnalités de support pour ces types des fichiers soient beaucoup moins avancées par rapport à un éditeur plus axé sur les technologies web comme Visual studio code ou Brackets. Pour plus d'informations sur les différents types de fichiers, voir Création de différents types de nouveaux fichiers plus bas dans la page.

L'interface du cadrant des fichiers de travail s'adapte directement en fonction du type de fichier à éditer. Par exemple, dans le cas des fichiers R Script (le type de fichier le plus fréquent dans l'utilistion de RStudio), l'interface propose des boutons pour exécuter le code, des aides au codage, etc. Voici une capture d'écran de l'interface dans l'édition d'un fichier R Script :

Interface de RStudio dans l'édition d'un fichier R Script

En revanche, si vous ouvrez par exemple un fichier HTML en édition, l'interface sera différente. Au lieu des boutons pour exécuter du code, vous aurez notamment un bouton Preview qui permet d'afficher le résultat de la page :

Interface de RStudio dans l'édition d'un fichier HTML

Console

La Console est le cadrant qui peut générer au début un peu plus de confusion, car elle est souvent difficile à lire, mais son utilité est multiple et représente donc un élément fondamentale de l'interface de RStudio. Elle a deux fonctions principales :

  1. Terminal interactif pour l'écriture et exécution du code
    Vous pouvez utiliser la console comme écriture au brouillion du code R après l'invitation de commande (ou prompte) > et lancez l'évaluation des instructions. Écrire dans la Console est néanmoins moins pratique par rapport aux fichiers de travail, donc en général on utilise la Console pour faire des essais ou pour récupérer des informations intermédiaires dans l'écriture des scripts.
  2. Affichage des résultats (i.e. Output) de l'exécution des R Script
    Lorsque vous exécutez du code écrit dans les fichiers de travail (voir plus haut), le résultat s'affichent en général à la Console (même si cela dépend du type d'instruction). L'affichage est très similaire à l'affichage de la ligne de commande de l'interface R de base, ce qui est souvent un élément de frustration surtout lorsqu'on commence à utiliser R, car la lecture des informations n'est parfois pas évidente. Nous proposons par la suite quelques exemples de base, mais l'habitude à la Console ne peut se faire que à travers la pratique.

L'image suivante propose le Output de la commande series <- 1:100 qui crée un simple vecteur avec les chiffres de 1 à 100. Pour afficher le contenu du vecteur, on écrit à la console le nom de la référence symbolique series. Le Output alterne les chiffres du vecteur avec des chiffres entre parenthèses carrées qui représentent l'index, ou le numéro cardinal, du premier élément de la ligne :

Output de la Console qui alterne des résultats avec des indexes (entre parenthèses carrés)

Les indexes peuvent varier en fonction de la taille de la fenêtre de la Console, mais dans l'exécution de ce code, chaque index sera équivalent au premier élément de la ligne des résultats. Par contre, si on modifie le vecteur des chiffres dans un ordre aléatoire random_order <- sample(1:100, 100) et on garde la même taille de la fenêtre, on peut noter que les indexes sont les mêmes, si bien que l'ordre des chiffres a changé :

Output avec les mêmes indexes entre parenthèses carrées, même si les chiffres sont dans un ordre différent.

Le rôle des indexes est encore plus évident si on utilise des lettres au lieu des chiffres, ce qui diminue l'interférence entre résultats et indexes. En R la référence symbolique letters est déjà disponible dans l'environnement et contient les 26 lettres de l'alphabète :

Output des indexes avec des lettres.

Le Output peut devenir assez vite difficile à lire si on a des éléments complexes, comme par exemple les listes qui sont souvent utilisées dans l'affichage des résultats de la modélisation des données. Par exemple, l'image suivante affiche le Output d'une liste avec deux éléments my_list <- list("hello", c(1, 2, 3)). Les indexes sont donc sur deux niveaux, avec des indices en parenthèses carrées doubles ou simples :

Output d'une liste qui combine plusieurs niveaux d'indexes.

Autres panneaux

L'interface propose plusieurs autre panneaux dont la fonction peut être plus ou moins avancée ou pertinente au type de projet envisagé. Nous proposons ici une liste non exhaustive avec une simple description de quelques panneaux, tandis que certaines fonctionnalités sont illustrées de manières plus approfondies plus bas dans la page.  :

  • Files
    Gestionnaire de fichiers qui permet d'afficher, ordonner, renommer, déplacer, etc. les fichiers.
  • Plots
    Affichage des représentations visuelles générées avec R.
  • Environment
    Références symboliques disponibles dans l'environnement de travail (voir Introduction conceptuelle à R).
  • History
    Historique des commandes lancés pendant une session de travail, utile surtout pour récupérer par exemple des commandes lancés à la Console et les passer dans un fichier de travail ou à nouveau dans la Console.
  • Help
    Documentation et aide pour l'utilisation du logiciel, du langage R, mais également des paquets externes.
  • Tutorial
    Suivre des tutoriels interactifs directement à l'intérieur du logiciel. Cette fonctionnalité peut être exploitée notamment lorsqu'on souhaite utiliser R dans l'enseignement et la formation.
  • Terminal
    Possibilité d'utiliser le terminal pour interagir avec le système d'exploitation.
  • Git
    Effectuer la gestion de versions avec Git directement à l'intérieur de RStudio.

Adaptation de l'interface à une utilisation immédiate

RStudio permet plusieurs types d'adaptations pour personnaliser le logiciel. Ici, nous proposons quelques modifications que vous pouvez avoir envie d'appliquer immédiatement, par exemple pour adapter la taille des éléments ou pour changer le thème graphique de l'interface. La section propose également un aperçu du menu View qui permet de modifier temporairement l'affichage des éléments de l'interface, afin de pouvoir réduire le bruit autour et maximiser la concentration sur les éléments utiles à un certain moment.

Modification de la taille des éléments

Modifier la taille de l'interface et/ou du code en édition.

Il faut distinguer en général parmi deux types de taille :

  1. La taille de l'interface globale. La modification de cette taille se propage à tous les éléments de l'interface, y compris le cadrant des fichiers de travail.
  2. La taille de la police du code dans les fichiers de travail et dans la console. La modification de cette taille s'applique seulement à l'édition du code, mais n'affecte par le reste de l'interface.

Dans les deux cas, la modification se fait au même endroit, depuis le menu principal :

Tools > Global options... et ensuite onglet Appearance

Pour modifier la taille de l'interface globale utiliser le menu déroulant Zoom qui permet de modifier le pourcentage par rapport à la taille standard. Vous pouvez modifier le zoom également à travers le menu principale :

  • View > Zoom in et
  • View > Zoom out.

Pour modifier la taille de la police du code, utiliser le menu déroulant Editor font size qui permet de modifier la taille en pixel. Le menu déroulant plus haut permet également de modifier la police elle même, ce qui peut avoir également un impact sur la taille.

Changer le thème graphique

Le thème graphique de RStudio peut être modifié à travers le menu principale :

Tools > Global options... et ensuite onglet Appearance

L'apparence du logiciel est déterminée par le menu déroulant RStudio theme et, surtout, Editor theme (voir image dans le point précédent sur la modification de la taille des éléments). Cette page propose des captures d'écran avec le thème d'édition de default Textmate (avec fond blanc) pour maximiser la lisibilité et limiter la quantité d'encre pour ceux qui souhaitent imprimer la page. Pour une utilisation sur la longue durée, un thème avec le fond foncé, comme par exemple Cobalt, peut être plus reposante pour la vue.

Utiliser le menu View

Utiliser le menu View > Panes pour limiter les éléments de l'interface affichés en même temps

L'ensemble des éléments de l'interface de RStudio peut prendre beaucoup de place, surtout si vous travaillez sur un laptop avec un écran relativement petit et une résolution normale. De ce fait, la zone d'édition peut résulter limitée et, donc, peu pratique pour écrire et lire du code. À ce propos, vous pouvez utiliser le menu View > Panes du menu principal pour déterminer quels panneaux afficher.

Par exemple, si vous avez les fichiers de travail et la console sur la gauche de l'écran, vous pouvez sélectionner Zoom left column afin de pouvoir vous concentrer sur l'édition et l'exécution du code. Si vous utilisez RStudio pour rédiger un article ou même une dissertation, vous pouvez zoomer exclusivement les fichiers de travail avec Zoom source pour vous focaliser sur la rédaction. Enfin, si vous êtes en train de consulter la documentation, le Zoom help permet d'agrandir les contenus d'aide.

Le menu propose également les raccourcis clavier pour activer la commande respective sans avoir à ouvrir le menu, ce qui peut devenir utile avec une certaine pratique avec le logiciel.

Enfin, l'item Pane Layout... permet d'ouvrir les options de configuration globales (voir plus bas dans la page) pour agencer les différents panneaux de manière différente.

Fonctionnalités principales

RStudio met à disposition plusieurs fonctionnalités dont l'objectif est d'aider l'utilisateur à utiliser R de la meilleure manière, en exploitant ses possibilités et en limitant certains de ses défauts. Nous proposons ici quelques fonctionnalités principales qui pourraient intéresser surtout des personnes qui s'approchent pour la première fois à l'écosystème de R.

Projets

Probablement la fonctionnalité la plus importante mise à disposition par RStudio concerne la création de projets. Un projet en RStudio est une collection de fichiers qui partagent un lien sémantique entre eux, par exemple :

  • Ils font tous partie de la même analyse de données (e.g. article scientifique, enquête, mémoire, thèse, ...)
  • Ils composent un paquet de R à partager avec d'autres
  • Ils sont destinés pour quelqu'un d'autre, notamment à travers la publication sur une plateforme de partage (e.g. tutoriel, leçon, devoir, ...)

Les projets en RStudio permettent d'organiser les différents fichiers (données, scripts, graphiques, ...) afin de faciliter leur utilité et durée de vie dans le temps. Pour maximiser l'utilité des projets, cependant, il faut intégrer également quelques bonnes pratiques au niveau de la nomination et arborescence des dossiers et fichiers qui font partie du projet. Certains de ces pratiques sont abordées dans l'article premier projet avec RStudio qui présente un tutoriel pas à pas avec un cas spécifique en tant qu'exemple. Ici, nous proposons simplement les aspects techniques relatifs à la création des projets à travers l'interface RStudio.

Créer un nouveau projet

Pour créer un projet, utilisez le menu :

File > New Project ...

En alternative, vous pouvez utiliser le bouton correspondant dans la barre des icônes en bas du menu principale. Le résultat est le même.

Créer un nouveau projet avec RStudio

Il existe trois manières de créer un projet avec RStudio :

  1. New Directory
    Créer un nouveau projet dans un nouveau dossier, complètement vide. Option à choisir si vous démarrez votre projet de zéro. L'étape de création est accompagnée avec la possibilité de choisir parmi des templates (voir plus bas).
  2. Existing Directory
    Créer un projet dans un dossier déjà existant, notamment avec déjà des fichiers. Option à choisir si vous avez déjà mis en place une structure pour votre projet (e.g. arborescence des données, scripts, ...) ou si vous souhaitez transformer en projet une ancienne analyse.
  3. Version Control
    Créer un projet en utilisant un système de contrôle de version comme source (e.g. GitHub, GitLab, ...). Cette option nécessite d'avoir un logiciel de contrôle de versions installé sur votre machine (voir configuration plus bas)

Nouveau projet à partir de zéro

Si vous choisissez l'option New Directory, l'écran suivant vous propose une liste de templates pour la création de types de projets différents. Par exemple, vous pouvez choisir parmi :

Différents types de nouveaux projets
  • New Project
    Choix générique pour la création d'un nouveau projet, sans structure préétablie. C'est l'option la plus fréquente si votre projet n'a pas des caractéristiques particulières.
  • R Package
    Création d'un paquet de R. Ce choix crée automatiquement une structure de dossier compatible avec la création et publication d'un paquet de R.

La visualization d'autres choix possibles peut dépendre des paquets ou extensions de RStudio que vous avez installés. Certains paquets, en effet, offrent des fonctionnalités qui nécessitent de structures de dossiers et des fichiers particulières (e.g. Blog, Livre numérique, ...). Ces structures peuvent être créées automatiquement à travers le template correspondant.

Définir le nom du dossier et la position du projet dans l'arborescence des fichiers de votre machine.

Indépendamment du type de projet, l'étape suivante consiste à créer un nouveau dossier à un endroit sur votre machine. À quel endroit placer votre projet dépend de votre organisation interne des fichiers. Par contre, pour le nom du dossier, il est bien de se tenir à quelques règles de base :

  • Utilisez un nom de dossier sémantique qui permet de reconnaître la fonction du projet
  • Utilisez seulement des lettres minuscules, chiffres et à la limite les caractères - et _.
  • Évitez les majuscules, lettres avec accents, caractères spéciaux, ainsi que les espaces

Selon le type de projet que vous avez choisi, l'écran de création peut vous proposer d'autres options. Une option commune à plusieurs types de projet concerne la possibilité d'initialiser un repository avec un système de version de contrôle, comme par exemple Git (voir configuration plus bas).

Une fois cliqué sur le bouton Create Project, RStudio va créer le dossier dans le chemin indiqué et ouvrir directement le projet dans l'interface du logiciel. Si vous avez choisi un nouveau projet générique, vous aurez un résultat similaire à celui-ci :

Écran d'un nouveau projet générique en RStudio

Vous pouvez noter comme :

  • Le dossier de travail (i.e. working directory) de R est placé automatiquement dans le dossier du projet (voir Console sur la gauche)
  • L'indicateur du projet en haut à droite reporte maintenant le nom de votre dossier, ce qui est d'ailleurs l'une des raisons pour choisir un nom sémantique
  • Vous avez dans le panneau des fichiers un nouveau fichier qui s'appelle nom-de-votre-dossier.Rproj. Si vous cliquez sur ce fichier, vous ouvrez l'écran de configuration du projet lui-même (voir configuration plus bas).

Création de différents types de nouveaux fichiers

Différents types de nouveaux fichiers à créer. La liste peut varier en fonction de paquets externes ou extensions installés.

L'interface de RStudio permet de créer facilement plusieurs types de fichiers qui peuvent être utiles, surtout dans un projet (voir plus haut). Pour créer un nouveau fichier, vous pouvez utilisez le menu principal :

File > New File > ...

En alternative, le menu déroulant â côté de l'icône correspondante à un nouveau fichier propose les mêmes choix de manières graphiquement plus saillante (voir image à droite).

Le type de fichier est déterminé par son extension, et l'extension dans le nom du fichier détermine comment le fichier sera interprété par l'interface de RStudio (e.g. affichage, aide à la syntaxe, commandes supplémentaires, ...). Il est donc fondamental d'associer le bon type d'extension au fichier en fonction de son utilité.

Parmi les types de fichiers à créer figurent :

  • R Script
    Il s'agit de fichiers qui contient des commandes de Input valables dans le langage de programmation R (voir notamment Introduction conceptuelle à R). Ces fichiers ont l'extension .R, par exemple import_data.R. La création de ce type de fichier ouvre directement le nouveau fichier dans la partie Source de l'interface, où on peut tout de suite écrire le code du fichier.
  • R Notebook
    Il s'agit d'un fichier générique qui combine du texte en format Rmarkdown et du code R. L'extension du fichier est .Rmd, par exemple my_stats_course_notes.Rmd.
  • R Markdown...
    Cette option concerne, comme la précédente, des fichiers de type Rmarkdown, donc avec extension .Rmd. Contrairement à l'option R Notebook, cependant, cette option permet de mieux cibler le type de document d'Ouput. En effet, lorsque vous choisissez cette option, une fenêtre modale vous donne la possibilité de mieux cibler votre choix ou des donner des informations supplémentaires :
    Options supplémentaires pour la création d'un fichier Rmarkdown
    Le tab From template peut être particulièrement utile si vous utilisez des paquets externes qui mettent directement à disposition des templates pour des documents de type .Rmd, comme par exemple des canvas pour des articles de journaux scientifiques, des mémoires ou thèses, présentations plus complexes de l'option R Presentation, etc. Pour plus de détails et des exemples concrets, voir Introduction à Rmarkdown.
  • Shiny Web App...
    Cette option permet de créer des applications web interactives, appelées Shiny Apps à partir de code R.

Les autres options sont généralement moins utilisées. Surtout les dernières (R Sweave, R HTML, R Presentation et R Documentation) sont plutôt obsolètes et remplacées plutôt par des templates particuliers dans l'option général R Markdown...

Aide au codage

RStudio propose des fonctionnalités techniques à support de l'écriture et de l'exécution du code. Nous en proposons ici quelques unes parmi les plus utilisées.

Écrire et exécuter du code depuis un fichier de script

Les fichiers de type R Script permettent de garder trace des instructions nécessaires à atteindre le résultat souhaité. Écrire et sauvegarder ces instructions dans un fichier de script permet de pouvoir le réutiliser dans le temps et obtenir exactement le même résultat à chaque exécution, ce qui présentent plusieurs avantages :

  • Limitations des manipulations humaines faites à l'interface ou dans d'autres logiciels qui ne permettent pas de documenter les changements
  • Possibilité de transmettre tous les passages nécessaires à la production de l'analyse à des personnes tierces (e.g., collègues, superviseurs, reviewers, ...)
  • Partage du code en modalité collaborative, ou même pour chercher de l'aide

Pour créer un nouveau R Script utilisez le menu :

File > New File > R Script

En alternative, utilisez l'icône correspondante dans la barre des icônes sous le menu principale ou le raccourcis de clavier Ctrl + Shift + N (Windows) ou Cmd + Shift + N (Mac).

Un fichier R Script est un simple fichier de texte avec extension .R qui s'ouvre en lecture et écriture dans l'espace Source de votre interface (en général en haut à gauche, mais vous pouvez configurer la disposition, voir plus bas).

L'avantage principale du fichier de script est que vous pouvez écrire facilement plusieurs lignes de code à la fois et décider si, quand et combien de lignes faire évaluer à la fois. Le code évalué sera affiché dans la Console (généralement en bas à gauche). Prenons le code suivant en exemple (également en image) :

1 sim_data <- data.frame(
2   participant = paste0("P", seq(1:100)),
3   response_time = runif(100, 1, 60),
4   group = sample(c("treatment", "control"), size = 100, replace = TRUE)
5 )
6 
7 summary(sim_data)
8 table(sim_data$group)
Écrire et exécuter du code dans un fichier R Script

Vous pouvez exécuter ce code de différentes manières, que ce soit à travers les boutons en haut à gauche ou, encore mieux, à travers des raccourcis du clavier :

  1. Run Ctrl + Enter (Win) ou Cmd + Enter (Mac)
    Exécuter une ligne à la fois ou une sélection spécifique du code. Vous pouvez tester cette fonctionnalité si vous placez votre curseur dans le code en exemple n'importe où entre les lignes 1 à 5. R Studio est assez malin pour comprendre que les lignes de 1 à 5 font partie d'une seule instruction, même si elle est étalée sur plusieurs lignes. Vous verrez qu'une fois exécuté l'instruction, le curseur va se déplacer automatiquement au début de la ligne 7, ce qui vous permet de lancer tout de suite l'instruction suivante, qui déplace à son tour le curseur à la ligne 8.
  2. Re-run the previous code region Ctrl + Shift + P (Win) ou Cmd + Shift + P (Mac)
    Exécuter à nouveau la même région de code (ligne ou sélection). C'est une option très utile si vous apportez des petits modifications à une partie du code et vous voulez re-évaluer les instructions. Pour essayer :
    • Sélectionnez les lignes 1 à 6 et exécutez-les avec Run simple. Notez dans le sommaire de l'Output dans la Console la valeur à côté de Mean: ...
    • À la ligne 3, changez le chiffre 60 avec 500 et lancez Re-run the previous code region. Les mêmes lignes de 1 à 6 seront exécutées, avec la nouvelle valeur qui modifie les chiffres aléatoires de 1-60 à 1-500. Votre valeur Mean: ... sera à ce moment beaucoup plus élevé.
  3. Source Ctrl + Shift + S (Win) ou Cmd + Shift + S
    Exécute tout le code source du fichier actif, mais n'affiche pas le Output dans la Console.
  4. Source with Echo Ctrl + Shift + Enter ou Cmd + Shift + Enter
    Exécute tout le code source du fichier actif et affiche le Output dans la Console

Écriture du code dans plusieurs fichiers de script

Dès qu'un projet devient plus complexe, le code nécessaire pour atteindre le résultat souhaité peut devenir conséquent. Pour cette raison, il peut être utile de le diviser en plusieurs fichiers qui composent le code source. RStudio permet d'ouvrir en écriture plusieurs fichiers R Script à la fois. De plus, il est possible d'importer le code d'un autre fichier à travers la fonction source(), comme dans le code suivant, également affiché à l'image plus bas :

 1 # Commencer tout fichier source avec les paquets nécessaires
 2 library(tibble)
 3 
 4 # Importer du code depuis un autre fichier
 5 source("my-other-source-file.R")
 6 
 7 # Ajouter le code propre au fichier
 8 execution_time <- tibble(
 9   participant = paste0("P", seq(1:20)),
10   seconds = runif(n = 20, min = 30, max = 60)
11 )
Écrire du code dans plusieurs fichiers R Script

Lorsque vous exécuter la totalité du fichier (e.g. Ctrl + Shift + Enter ou Cmd + Shift + Enter), l'interprétation du code va se faire de la manière suivante :

  • Ligne 2 : chargement du paquet tibble() qui a dû être installé au préalable. Il s'agit d'un exemple, ce paquet n'est en aucun cas nécessaire pour étaler le code source sur plusieurs fichiers, mais montre la pratique répandue d'inclure le chargement de paquets externes au début d'un fichier de script ;
  • Ligne 5 : lecture et exécution de tout le contenu du fichier my-other-source-file.R qui se trouve dans le même dossier de travail du fichier de source utilisé, comme par exemple dans le dossier racine d'un projet RStudio (comme dans l'image) ;
  • Ligne suivantes : lecture et exécution du reste du fichier une fois que la source du fichier référé a été complétée.

Veuillez noter que les instructions qui sont dans le fichier en référence (i.e. my-other-source-file.R sont exécutées, mais sans afficher à la console le résultat.

Auto-complétion du code

Lorsque vous écrivez du code dans un fichier R Script, RStudio intercepte les suites de caractères que vous êtes en train de saisir et peut par conséquent anticiper, de manière probabiliste, certaines intentions notamment en relation avec :

  • Les noms de références symboliques présent dans l'environnement
  • Les noms des fonctions

À partir du troisième caractère d'un mot écrit dans un fichier source ou à la console, RStudio propose des référence symboliques qui partagent ces premières lettres. Par exemple, dans la capture d'écran suivante, RStudio propose des options qui partagent les lettres dat... :

Auto-complétion d'une référence symbolique dans le code

Le menu contextuel qui s'affiche à l'écran montre :

  • le nom complète de la référence symbolique
  • l'environnement à laquelle cette référence appartient (e.g. à l'environnement d'un paquet spécifique de R, à l'environnement global, etc.)

Si vous sélectionnez, à travers les flèches haut-bas de votre clavier ou avec la souris, l'une de ces options d'auto-complétion, un info-bulle jaune apparaît sur le côté et affiche davantage de détails sur l'élément sélectionné. En cliquant sur F1, vous pouvez en savoir encore plus (voir Aide intégré dans l'interface plu bas).

Pour accepter l'option et auto-complété ainsi le mot dans votre code, vous pouvez appuyer à choix sur l'une des touches Enter ou Tab.

Veuillez noter que pour bénéficier de l'auto-complétion, les références symboliques visées doivent être connues par l'environnement de la session. Concrètement, ceci signifie que :

  • Pour que les références d'un paquet externe soient prise en considération, il faut que la paquet ait été chargé, c'est-à-dire :
    1. Il faut avoir écrit le code library(nom du paquet externe)
    2. Il faut avoir exécuté le bout de code
  • Pour que vos propres références symboliques soient prises en compte, il faut d'abord exécuter au moins une fois le bout de code dans lequel elles sont déclarée

Suggestions des paramètres d'une fonction

Une autre fonctionnalité, similaire à l'auto-complétion, consiste à obtenir des suggestions sur les paramètres à utiliser dans une fonction. Pour ce faire, écrivez d'abord le nom de la fonction complète et placez le curseur à l'intérieur des deux parenthèses vides. À ce moment, utilisez les touches Ctrl + Espace (Win) ou Cmd + Espace pour faire apparaître la liste des paramètres acceptés par la fonction. À l'image l'exemple de la fonction data.frame().

Suggestion des paramètres acceptés par une fonction.

Comme pour l'auto-complétion, pour pouvoir bénéficier de cette fonctionnalité il faut que la fonction soit d'abord disponible dans l'environnement.

Code Tools

Dans l'interface des R Script, il existe un bouton nommé Code Tools qui permet d'afficher certains opérations qui peuvent aider à l'écriture ou amélioration de la structure du code source :

Aide au codage à travers les Code tools

D'autres options relatives au codage sont disponibles dans le menu principale Code.

Aide à l'importation des données

Activer l'aide à l'importation de données en cliquant sur un fichier avec extension reconnue comme source de données.

RStudio aide à l'importation de données depuis différentes sources, y compris :

  • Fichiers de texte (.csv, .tsv, .txt)
  • Fichiers Excel
  • Fichiers SPSS
  • Fichiers SAS
  • Fichiers Stata

L'importation peut se faire à travers une interface graphique assez intuitive, qui affiche en même temps le code pour obtenir le résultat affiché à l'écran. Il est conseillé de copier ce code et de l'insérer à l'intérieur d'un fichier R Script afin que par la suite l'importation soit faire de manière automatique à travers le code.

L'aide à l'importation peut être activé de trois manières :

  1. À travers le menu principal File > Import Dataset > ... avec les différentes sources disponibles
  2. Dans le panneau Files, en cliquant directement sur un fichier avec une extension reconnue comme source de données directement dans le gestionnaire des fichiers (voir image à côté). À ce moment, RStudio propose automatiquement l'interface correspondante à la source, sans possibilité de choisir comme depuis le menu principale
  3. Dans le panneau Environment, en cliquant sur le bouton Import Dataset qui ouvre le menu déroulant avec les mêmes options du menu principal.

Importer des données depuis des fichiers de texte

Les fichiers de texte sont un bon choix comme moyen de stockage et partage de données pour au moins deux raisons fondamentales :

  1. Ils sont compatibles avec plusieurs logiciels et maximisent ainsi la possibilité que d'autres utilisateurs puissent s'en servir ;
  2. Ils sont pratiques au niveau du traçage des changements dans un système de contrôle de version (e.g. Git)

RStudio met à disposition dans le menu principale deux options qui aident l'importation de données depuis des fichiers de texte, avec extensions .csv, .tsv, et .txt :

  • File > Import Dataset > From text (base) ...
  • File > Import Dataset > From text (readr) ...

L'option readr présente quelques avantages importants et nous conseillons donc de se servir de cette option, même si elle nécessite l'installation du paquet readr qui est également contenu dans le paquet global tidyverse de l'écosystème Tidyverse. D'ailleurs, cette option s'active automatiquement si vous importé les données en cliquant directement sur un fichier de texte dans le gestionnaire des fichiers.

L'interface de l'option readr qui s'affiche à l'écran est la suivante :

Interface d'importation avec readr depuis des fichiers de texte

Elle est divisée en 4 zones principales :

  1. File/URL
    Elle permet de sélectionner le fichier source de données. Si vous ouvrez l'interface depuis le menu principale, le bouton sur la droite sera de type Browse, ce qui vous permet de naviguer dans votre gestionnaire de fichiers pour trouver le fichier correspondant. Si vous ouvrez l'interface en cliquant directement sur le fichier, le bouton vous permet simplement de mettre à jour la source. Il est intéressant de noter que readr vous permet d'importer directement des fichiers depuis des URL, ce qui peut être très utile, mais il faut également faire attention à utiliser des sources fiables.
  2. Data Preview
    Elle donne un aperçu de l'organisation des données importées. Si les colonnes ne s'affichent pas correctement, il faudra modifier la région suivante, Import Options. Autrement, si les colonnes sont correctes, vous avez la possibilité de modifier le type de données dans une colonne à travers un menu déroulant que vous pouvez faire apparaître à travers les flèches affichées dans chaque colonne.
  3. Import Options
    Elle permet de configurer certains paramètres pour l'importation de données, à utiliser notamment si la preview des données ne correspond pas au résultat souhaité. Notamment, il est parfois nécessaire de modifier le Delimiter qui différencie une colonne de l'autre.
  4. Code Preview
    Elle adapte en temps réel le code qui est exécuté pour importer les données selon les options définies. Si vous travaillez dans un projet de RStudio et le fichier de texte se trouve à l'intérieur du projet, le chemin de pointage sera automatiquement adapté. Un bouton en haut à droite de la Code Preview permet de copier le code correspondant. Il est conseillé de copier ce code et l'insérer dans un fichier R Script plutôt que de cliquer sur le bouton Import. De cette manière, le code pour importer le fichier sera exécuté automatiquement dans vos instructions. Attention : si vous utilisez une arborescence de fichiers à plusieurs niveau dans votre projet, il faudra adapter le chemin de pointage (voir la section sur les problématiques plus bas dans la page). La fonction View() permet d'afficher les données dans une interface de RStudio qui facilite la lecture, mais elle n'est pas indispensable pour l'importation. Vous pouvez d'ailleurs la désactiver dans la zone Import Options en décochant Open Data Viewer.

Importer des données depuis un fichier Excel

L'importation depuis un fichier Excel est similaire à celle depuis un fichier de texte. Cependant, elle peut créer des problèmes au niveau des formats régionaux d'Excel, ce qui peut rendre la reconnaissance des colonnes plus difficile. Il est conseillé d'éviter ce type d'importation et de transformer en amont un fichier Excel dans un fichier .csv, pour ensuite l'importer en tant que fichier de texte.

Importer des données depuis un autre logiciel d'analyse statistique

À travers le paquet haven de l'écosystème Tidyverse, il est possible d'importer des données depuis des fichiers propriétaires d'autres logiciels d'analyse statistiques tels que SPSS, SAS, ou Stata. L'interface est très similaire à celle pour l'importation de données textuelles :

Importer des données depuis des fichiers d'autres logiciels d'analyse statistique.
  1. File/URL
    Le fichier avec les données peut se trouver sur votre ordinateur ou dans le web. S'il se trouve à l'intérieur du même projet RStudio, le chemin relatif sera adapté. Attention : en cas d'arborescence à plusieurs niveaux de votre projet, le chemin devra être adapté (voir plus bas).
  2. Data Preview
    L'importation tende à maintenir des informations corollaires qui sont souvent disponibles dans d'autres logiciels. Ici par exemple, chaque colonne affiche une description. Ces descriptions peuvent être récupérées dans le code à travers la fonction attr(), avec le paramètre label. Par exemple : attr(students_data$hours_reading, "label") correspond à ""Heures passées à lire le matériel pédagogique".
  3. Import Options
    L'option la plus utile est le format, qui détermine depuis quelle type de fichier - et par extension quel logiciel d'analyse statistique - importer les données. Vous pouvez décochez l'option Open Data Viewer si vous ne souhaitez pas ouvrir les données dans un écran de RStudio plus lisible.
  4. Code Preview
    Selon les détails de l'importation, le code se met à jour automatiquement. Nous conseillons de copier le code et le coller dans un fichier R Script plutôt qu'utiliser le bouton Importer. De cette manière, l'importation de vos données peut se faire automatiquement à chaque exécution du script.

Exportation des données

À l'heure actuelle (mars 2020), RStudio ne propose pas de fonctionnalités particulières dans l'interface pour l'exportation des données. Néanmoins, les données peuvent être exportées à travers des fonctions. Les paquets qui s'occupent d'importer des données (voir point précédent) proposent également des fonctions pour écrire des données, souvent dans un format spéculaire, par exemple :

  • read_csv() vs. write_csv() dans le paquet readr pour le format textuel .csv
  • read_sav() vs. write_sav() dans le paquet haven pour le format compatible avec SPSS
  • etc.

Les fonctions, dans la plupart des cas, acceptent en tant que premier argument la structure de données à sauvegarder et en deuxième le pointage au fichier dans lequel les sauvegarder. Par exemple :

write_csv(x = students_data, path = "path/to/students_data.csv")

Veuillez noter les aspects suivants :

  • le chemin (i.e., path) est relatif au dossier de travail (i.e. working directory), par exemple le dossier racine dans le cadre d'un projet RStudio.
  • si vous sauvegardez dans de sous-dossiers, vous devez les créer en amont

Les aspects liés aux chemins des fichiers peut être au début difficile à gérer, se référer à la section sur les problématiques plus bas pour quelques conseils à ce sujet.

Visualization des représentations graphiques

L'interface de RStudio permet de voir plusieurs représentations graphiques générées à travers le code, toutes au même endroit, et de pouvoir défiler facilement entre l'une et l'autre. Le code suivant génère trois graphiques depuis des données simulées :

sim_data <- data.frame(
  student = paste0("ID-", seq(1:100)),
  age = sample(18:65, 100, replace = TRUE),
  hours_reading = rnorm(100, 50, 15),
  hours_writing = rnorm(100, 100, 25),
  course_satisfaction = sample(1:10, 100, replace = TRUE)
)

# Premier graphique
hist(sim_data$age)

# Deuxième graphique
hist(sim_data$course_satisfaction)

# Troisième graphique
plot(sim_data$hours_reading, sim_data$hours_writing)

L'exécution de ce code va peupler la partie de l'interface consacrée aux représentations graphiques, nommée Plots, avec les trois graphiques, mais dont seulement le dernier est affiché :

Visualization des représentations graphiques dans l'interface de RStudio

Pour voir les deux autres graphiques, il suffit d'utiliser les flèches à droite et à gauche pour défiler d'un graphique à l'autre. D'autres boutons sur l'interface permettent de :

  • Agrandir le graphique actif
  • Exporter le graphique (même s'il faudrait plutôt utiliser la sauvegarde à travers le code)
  • Effacer le graphique actif de la visualization
  • Effacer tous les graphiques créés pendant la session active
  • Publier le graphique à travers un des services de publication en ligne supporté par RStudio (nécessite la création d'accounts)

Pour plus de détails, y compris des bonnes pratiques sur l'utilisation de R pour les visualizations graphiques, voir :

Aide intégrée dans l'interface

L'interface de RStudio prévoit une zone consacrée explicitement à l'aide, où peut s'afficher la documentation relatives à plusieurs types d'éléments (ressources générales, paquets, fonctions spécifiques, ...). L'aide peut être déclenchée de plusieurs manières.

Naviguer le panneau Help

Le panneau Help propose une page d'accueil avec des liens à propos de R ou RStudio

Le panneau Help présente une page d'accueil avec plusieurs liens en relation avec R et RStudio. Ces liens peuvent s'ouvrir à l'intérieur du panneau lui-même ou dans votre navigateur web. À présent (mars 2020), il n'y a pas moyen de distinguer entre les liens qui s'ouvrent en interne ou en externe.

Deux champs de recherche permet d'effectuer une recherche :

  • Parmi tous les documents (champs en haut à droite)
  • À l'intérieur du document actif (champs Find in topic)

Déclencher l'aide depuis le code

Une alternative pratique pour afficher de la documentation consiste à cliquer la touche F1 lorsque votre curseur se trouve sur une référence symbolique dans le code, notamment sur une fonction. La documentation relative à l'élément va s'afficher directement à l'intérieur du panneau Help.

Déclencher l'aide depuis la Console

Vous pouvez également afficher l'aide depuis la console des manières suivantes :

  • En utilisant la fonction help()
    Sans argument, la documentation de la fonction elle-même s'affiche. Elle est utile pour voir les différents options que vous avez à disposition. Par exemple, vous pouvez passer le nom d'une fonction pour voir la documentation relative, e.g. help("mean")
  • En utilisant le format ?élément
    Si vous mettez le ? comme prefix à une référence symbolique, la documentation relative à cet élément va s'afficher. Le résultat est normalement le même par rapport à la fonction help(), e.g. ?mean.

Tutoriels intégrés

Possibilité de suivre/créer des tutoriels intégrés dans l'interface avec le paquet learnr.

À partir de la version de RStudio 1.3 (relâchée en mai 2020), l'interface propose un nouveau tab Tutorial qui permet de lancer et suivre directement des tutoriels à l'intérieur de l'interface du logiciel.

Le logiciel propose déjà une série de tutoriels qui peuvent être suivis en cliquant sur le bouton Start Tutorial ?. Une fois le tutoriel lancé, le logiciel propose éventuellement d'installer les paquets et les données nécessaires pour suivre le tutoriel. Après le chargement du tutoriel, le contenu est disponible dans le tab, mais il peut également être affiché dans une nouvelle fenêtre, ce qui est plus pratique.

Les tutoriels permettent d'écrire et exécuter du code directement à l'intérieur de la fenêtre. De cette manière, il est possibile de créer des contrôles pour évaluer si le code fourni est correcte en cliquant sur le bouton Submit answer. Un tutoriel peut être organisé en plusieurs sections ou pages, avec la possibilité de naviguer et suivre l'avancement sur le côté gauche de l'interface.

Exemple de tutoriel learnr avec la possibilité d'écrire et d^exécuter du code.

Tout utilisateur peut également créer ses propres tutoriels et les partager, ce qui représente une fonctionnalité intéressante pour les formateurs qui utilisent R dans leur cours. Pour plus d'informations sur les tutoriels voir :

Configuration

La configuration de RStudio peut se faire à deux niveaux :

  • Au niveau du fonctionnement global
  • Au niveau des projets individuels

RStudio prévoit plusieurs possibilités de configuration. Nous conseillons de revoir de temps en temps les différents options au fur et à mesure que votre expérience avec le logiciel augmente : il peut y avoir des éléments intéressants, mais qui nécessitent d'une compréhension plus approfondie de l'environnement de travail.

Configuration global

La configuration global concerne chaque utilisation du logiciel, indépendamment du contexte (projet, fichier, ...). Les options globales sont disponibles à travers le menu principal :

Tools > Global Options...

Changer la version de R utilisée

Si vous avez plusieurs versions de R installées sur votre machine, vous pouvez décidez quelle version utiliser avec RStudio à travers le menu :

Tools > Global Options... > General > R version > Change > Choose a specific version of R

À ce moment, les différentes versions reconnues dans votre système sont listées, il suffit de sélectionner celle désirée.

Changer la version de R à utiliser avec RStudio

Activer un système de contrôle de versions

Dans les options globales vous pouvez activer et configurez des systèmes de contrôle de versions. Ces systèmes permettent de garder trace de l'évolution des fichiers dans le temps et doivent déjà être installés sur votre machine. En mars 2019, deux systèmes sont proposés :

  • Git
  • Subversion (abrégé SVN)

Pour activer et configurer un système de contrôle de versions, utilisez le menu :

Tools > Global Options... > Git/SVN

Vous pouvez à ce moment activer l'option en général et configurez les chemins aux exécutables qui permettent de lancer les commandes à travers l'interface de RStudio. Dans la plupart des cas, ces chemins devraient déjà être correctes si vous avez installé les logiciels dans les chemins conseillés, mais si vous avez des difficultés à faire fonctionner le système de contrôle de versions, c'est probablement à cet endroit qu'il faut intervenir.

Activer et configurer le contrôle des versions

Configuration du projet

La configuration du projet concerne exclusivement le projet actif (i.e. ouvert) à ce moment. Les options des projets sont disponibles à travers le menu principale, seulement si vous vous trouvez à l'intérieur d'un projet (en cas contraire, la voix du menu est désactivée) :

Tools > Project Options...

Les options pour les projets sont une sélection des options globales qui vont se superposer à celles-ci en cas de conflit. De cette manière, vous pouvez adapter certaines options seulement pour un projet, ce qui peut être utile par exemple si vous devez vous adapter à des lignes guides d'un projet partagé avec d'autres personnes. De cette manière, vous avez la possibilité de garder vos options habituelles pour toutes les autres utilisations en dehors du projet spécifique.

Configuration conseillée

RStudio permet un vaste éventail de configurations qui peuvent s'adapter à différentes exigences et finalités et il est par conséquent difficile de donner des conseils qui sont valables pour tous. Nous en proposons néanmoins quelques unes qui visent surtout à favoriser l'acquisition de bonnes pratiques.

Ne pas sauvegarder le workspace

Une configuration importante qui peut avoir des conséquences sur les habitudes est celle qui concerne l'espace de travail (i.e. Workspace), que vous pouvez trouver dans le menu :

Tools > Global Options > General

RStudio donne la possibilité de sauvegarder l'environnement de l'espace de travail et de le recharger lors de la réouverture du logiciel. Cette approche est déconseillée si vous souhaitez acquérir des principes d'automatisation des processus de travail (voir Pensée computationnelle avec R). En effet, il serait mieux de pouvoir reproduire l'environnement de vos analyses exclusivement à travers des commandes qui sont sauvegardés dans les fichiers scripts de votre projet RStudio. Pour cette raison, nous conseillons de désactiver l'option relative au rétablissement du workspace et de ne jamais sauvegarder le workspace à la sortie :

Désactiver les options relatives au workspace

Cette configuration risque de vous faire perdre quelques computations que vous avez effectuée à la console, sans la reporter dans un fichier script. Mais c'est justement ce risque qui devrait vous rappeler de toujours pouvoir reproduire les opérations à partire d'une source sauvegardée !

Activer les options Diagnostics

D'autres options qui peuvent favoriser des bonnes pratiques au niveau de l'écriture du code sont contenues dans le groupe Diagnostics que vous pouvez accéder depuis le menu :

Tools > Global Options > Code > Diagnostic
Activer les options diagnostiques qui permettent d'améliorer la qualité du code.

Stratégiquement, vous pouvez activer toutes les options et puis désactiver au fur et à mesure celles que vous trouvez trop contraignantes ou inutiles.

Ressources