Installation et prise en main de R
Notions générales
R est un environnement logiciel libre (open-source (sous licence GNU_GPL)) très pratique pour les traitements statistiques et graphiques (genre vraiment de ouf, vous allez halluciner les p'tits loups). Il fonctionne sur quasiment toutes les plateformes et environnements (Windows, Mac et la plupart des Linux), donc pas d'excuse pour ne pas l'utiliser. Alors je sais, il utilise des lignes de code et ça fait peur, mais vous allez vite voir qu'en fait, ça va. Ça devient vite pratique et souvent bien plus rapide que retrouver le bouton dans le ruban de la nouvelle interface graphique de machin... Et puis c'est facile de se la péter avec (en revanche, je ne crois pas que ça aide beaucoup pour votre vie sentimentale (même si je ne comprends pas pourquoi)).
Installation de R et RStudio
R est un environnement et peut être utilisé tel quel, mais uniquement dans une fenêtre de commande, peu pratique (déjà qu'on fait du code pour interagir, ne poussons pas non plus le bouchon trop loin !). On va donc lui associer un logiciel qui servira d'interface graphique, RStudio. Il s'agit d'un IDE (pour Integrated Development Environment, ou Environnement de Développement en français (mais on ne l'utilise jamais alors gardons IDE pour ne pas avoir l'air bête)). RStudio est un logiciel développé par la société Posit qui en propose une version gratuite et libre sous licence AGPLv3.
Cela nécessite donc deux installations dans le bon ordre (restons simples).
Installer R : Rendez-vous sur le site du projet R, allez sur la page de téléchargement et suivez les instructions pour votre machine (là, je vous laisse vous débrouiller).
Installer RStudio : Rendons-nous maintenant sur le site de Posit (à la page de téléchargement de RStudio), vous remarquerez que l'ordre d'installation des deux éléments est bien indiqué. Comme pour R, RStudio est multiplateforme.
Premiers pas dans R
C'est bon ? Tout a bien été installé ? Alors parfait, on va pouvoir commencer notre exploration.
Opérations basiques
Alors oui, je sais, j'ai dit un peu plus haut que nous n'allions pas utiliser la fenêtre de commande initiale de R... J'ai pas vraiment menti, ça sera rapide et (espérons) indolore (comme un vaccin covid). Pour Windows et Mac, il faut aller chercher le programme "R" ou "R-GUI" (pour Graphic User Interface, Interface Graphique Utilisateur (pas très graphique, j'en conviens)). Sous Linux, il faut lancer la fenêtre de commande et taper R (en majuscule).
Première manipulation, dans la fenêtre, on tape :
1+2
#[1] 3
Et puis on peut évidemment appliquer toutes les autres opérations mathématiques de base :
2-8
#[1] -6
3*12
#[1] 36
10/3
#[1] 3.333333
D'ailleurs, même sans opération, R nous retourne une valeur :
2
#[1] 2
Bon, c'est pas très utile (et un peu débile à vrai dire).
Petites précisions
Les
#: j'ai tapé1+2et le retour est[1] 3, j'ai mis un#pour placer le retour en commentaire (en clair, si vous faites un copier-coller de la petite boîte, le[1] 3ne sera pas pris en compte). D'ailleurs, le#est utilisé pour insérer du commentaire dans le code. Par souci de lisibilité, je ne mets qu'un retour à la ligne entre une commande et son résultat et je saute une ligne quand j'écris une nouvelle commande.Les séparateurs décimaux : Dans R, les séparateurs décimaux sont des points, c'est comme ça, faut s'y faire. Les
,sont utilisés pour séparer des valeurs ou des arguments.
Les espaces: On s'en fiche, on peut en mettre plein ou aucun, le résultat est le même, seule la lisibilité est impactée (enfin c'est quand même aussi important).
Opérations non terminées: Si vous arrêtez une ligne avant d'avoir fini d'écrire votre opération (en appuyant inopinément sur "Entrée" par exemple), R vous retournera un
>pour que vous finissiez de taper votre commande. Si vous ne voulez pas la finir (parce que vous ne l'aimez pas ou simplement, elle n'a pas grandi comme vous l'espériez), pas besoin de partir acheter des cigarettes avant Noël, appuyez simplement surEchapet hop, vous pouvez taper une nouvelle commande.Retaper la même commande: Dans la logique d'une fenêtre de commande, si vous tapez sur le "↑" de votre clavier, la console vous affichera la commande tapée précédemment (ultra pratique, surtout s'il vous arrive occasionnellement de faire des fautes de frappe, ↑ on fait la correction et hop, "Enter"). Si vous appuyez plusieurs fois sur ↑ vous remontez dans l'historique et avec ↓, vous redescendez.
Interface graphique avec RStudio
Passons à une interface graphique un peu plus pratique et conviviale, je vous avais promis que la partie strictement console serait rapide (et ça a été, non ?). Comme dit plus haut, RStudio est un IDE et dispose d'outils et fonctionnalités qui vont nous changer la vie dans nos pé(R)égrinations (les vannes avec R à tout bout de champs, c'est contractuel). Donc, par rapport au titre de cette sous-section, il s'agit d'un peu plus que simplement une interface graphique.
Aperçu de RStudio
Voici une petite capture d'écran de la fenêtre principale (oui, la mienne est en anglais et parfois, elle est en français pour vous; je l'utilise en anglais et s'il y a des différences de terminologie, je vous laisse faire vos petites recherches pour retrouver les équivalences inter-linguistiques).
L'organisation de cette interface :
Fenêtre de Script (elle n'est pas forcément affichée lors de la première ouverture du logiciel). On y reviendra, elle est très importante (on va surtout travailler là d'ailleurs).
Deux onglets importants (Connexion et Tutoriel, on ne va pas trop s'en occuper) :
- Environnement : Tous les objets et données créés et utilisés durant nos travaux vont s'afficher là.
- Historique : L'historique des commandes, c'est souvent pratique de les récupérer quand on teste des commandes sans trop savoir.
Console (les autres onglets, on va les laisser): c'est la console R, comme quand on tapait directement des trucs dans la section précédente, reconnaissable avec le petit ">".
Plein d'onglets ici:
- Files (ou fichiers), qui affiche les documents présents dans le dossier de travail.
- Plots (graphiques), où s'afficheront les graphiques produits avec R.
- Packages qui nous permet d'installer et vérifier nos package (l'équivalent de plugins, extensions ou librairies).
- Help, c'est là que s'affiche l'aide (vraiment très pratique).
- Viewer, certaines visualisation un peu particulière (genre des graphiques interactifs) seront affichés ici (et on ne s'occupera pas de Presentation).
Il reste encore plein d'icônes et boutons que je n'ai pas abordés, je vous laisse tout découvrir (notamment les options d'apparence dans les options globales).
Projet et dossier de travail
Moi, je ne suis pas fan de travailler en projets (on pourra en discuter au prochain café), mais plein de gens ont l'air d'apprécier, donc on va fonctionner comme ça. On va dans "File" → "New Project..." et une fenêtre s'ouvre :
Deux choix principaux s'offrent à vous, cela dépend de si vous avez déjà créé un dossier de travail, dans ce cas, "Existing Directory", et si ce n'est pas le cas, "New Directory". Dans le deuxième cas, il faut uniquement sélectionner le dossier dans lequel vous voulez que votre dossier de travail soit créé et taper le nom du dossier qui sera lui-même créé à la fin du processus (j'insiste dessus, j'ai constaté que ça surprenait souvent les gens). De mon côté, j'ai tendance à favoriser la création d'un dossier avant de lancer RStudio (mais c'est aussi parce que je n'utilise pas trop les projets).
Après la création du projet, vous verrez que l'onglet "Files" cible maintenant le dossier utilisé pour le projet avec un fichier *.Rproj dedans (et si vous ne créez pas de projet, vous pouvez déterminer le dossier de travail dans l'onglet "Session" (tout en haut) → "Set Working Directory" → "Choose Directory").
Scripts
Gros avantage de RStudio, on va fonctionner en scripts. C'est-à-dire que nous allons écrire notre code dans un fichier texte et nous l'exécuterons au fur et à mesure ou alors tout d'un coup. Plein d'avantages, on conserve ce qui a été écrit de façon pérenne, on peut réexécuter notre code dans son ensemble avec des données qui ont été mises à jour et, surtout, on peut le commenter avec "#". Je vous ai dit plus haut que je mettais des "#" devant les éléments de codes qui ne doivent pas être interprétés par la console R, ça marche pour les scripts. J'ai tendance à beaucoup commenter mes scripts, c'est très pratique. Souvent, on ne se souvient plus exactement de ce qu'on voulait faire avec toutes les commandes d'un script (et pas uniquement à cause de l'âge ou de l'alcool), donc, à chaque étape, je commente. Un exemple :
#je vais commencer par faire une addition
2 + 4
#Je vais aussi aérer un peu avec des espaces pour rendre le tout plus lisible
#R utilise les opérateurs classiques : + - / * ^, c'est pas compliqué à retenir, mais bon, je ne rajeunis pas
Ça aide à déconstruire son propos pour l'améliorer (un peu d'itération dans le processus de recherche) et aussi à se souvenir de certaines manipulations un peu complexes ou très utiles qu'on n'a pas envie de mettre mille ans à retrouver. Je vous conseille donc de beaucoup commenter vos scripts, surtout pendant les phases de formation.
Une fois qu'on a compris les commentaires, il faut voir comment exécuter un script. Pour ça, rien de plus simple. Si notre curseur de frappe est sur la ligne que nous voulons exécuter, il suffit de taper sur ctrl + Entrée et ça envoie la ligne dans la console (oui, parce que même si on utilise un script, c'est toujours la console R qui exécute les commandes). Si le texte est sélectionné, seule la partie sélectionnée est envoyée, si le curseur est sur la ligne, au début, milieu ou fin, c'est toute la ligne qui est envoyée.
Dans un projet, rien n'empêche d'avoir plusieurs scripts, mais il faut rester ordonné, on peut très vite se perdre dans les pages. Numérotez-les, faites-en un inventaire descriptif ou nommez-les de façon explicite. À moins que R devienne votre outil de travail principal, ça ne devrait pas beaucoup vous arriver, mais si jamais c'est le cas, ça peut être utile de créer plusieurs scripts dans les cas où ils deviennent trop longs, si vous avez besoin de bien dissocier certaines étapes ou si certaines fonctions sont particulièrement complexes et que vous préférez les écrire dans un fichier à part. Pour cela, il faut inclure le fichier externe en ajoutant source("fichier_externe.R") au début du script et ensuite l'appeler dans le corps du script.
Quelques raccourcis pratiques :
| Raccourci | Utilisation |
|---|---|
| Ctrl+Enter | Exécuter la ligne ou la sélection |
| Ctrl+Alt+R | Exécuter tout le document |
| Ctrl+Shift+R | Créer une section (genre "# section -------------" à travers toute la page du script) |
Normalement, avec l'IDE en place et paramétré et les scripts, on est prêts à avancer dans l'unive(R)s ! (je l'ai dit, c'est contractuel)
Les packages (ou extensions, plugins, ... (enfin vous choisissez)) et les addins
Avant de passer à la manipulation de données, une dernière petite notion à voir, les packages. Ce sont des extensions qui contiennent des commandent qui vont nous être utiles pour nos traitements de données. Il faut déjà les installer dans R (à ne faire qu'une seule fois), puis les charger via le script. Une bonne pratique consiste à mettre les chargements de packages dès le début du script (comme ça, on peut utiliser la commande liée quand on veut).
Pour installer une extension, vous pouvez utiliser la comande "install.packages()"
install.packages("FactoMineR")
#Là vous avez plein de codes qui indiquent que ça s'installe, si vous n'avez pas de message d'erreur, ça devrait le faire
Si ça vous saoule, vous pouvez passer par l'interface graphique de RStudio dans l'onglet Package.
Ensuite, il faut cliquer sur "Install" (encadré sur l'illustration) qui ouvre une nouvelle fenêtre dans laquelle vous pouvez taper le nom de votre package qui devrait être affiché grâce à l'autocomplétion (là où j'ai mis la flèche).
Puis, pour charger le packages dans R (en haut du script ou directement dans la console), la commande library() :
library(FactoMineR)
#>
J'ai laissé le chevron de la console, ça montre que la console est prête pour recevoir une nouvelle commande.
Enfin, un type de plugin que nous rencontrerons de temps en temps, ce sont ceux qui fournissent une interface graphique (genre un script relou à générer avec plein de paramètres qu'on ne veut pas retenir), c'est l'addin. Quand vous en installez un, il deviendra disponible dans les onglets de la barre tout en haut : Tools → Addins → Browse addins. Précision, pas besoin de le charger dans votre script.