1 Initiation à R
1.1 Travailler par projets
Durant vos études universitaires, vous allez réaliser des études en vous appuyant sur des données et sur leur analyse statistique. Il convient de prendre de bonnes habitudes en travaillant avec des projets RStudio. Dans cet exercice, vous allez mettre en place un projet pour la première séance de travaux dirigés.
En respectant l’arborescence présentée sur l’image ci-dessous, il sera aisé de vous repérer et le partage de vos codes avec vos collaborateurs sera simple.
Création d’un projet
Ouvrez le logiciel RStudio :
- Cliquez sur le menu
File
, puis surNew Project...
. - Cliquez sur
New Directory
, puis surNew Project
. - Donnez un nom au nouveau projet, puis cliquez sur le bouton
Browse...
- Choisissez l’emplacement du projet, puis appuyez sur le bouton
Open
. - Cliquez sur le bouton
Create Project
pour créer le projet. Une nouvelle session RStudio s’ouvre alors. Le répertoire courant devient celui dans lequel vous avez créé le projet. Un fichier d’extention.Rproj
a été créé dans ce répertoire. Il suffira d’ouvrir ce fichier à l’avenir pour ouvrir RStudio pour travailler sur ce projet. - À présent que le projet est créé, il est temps de créer un fichier de script : dans RStudio, cliquez sur le menu
File
, puis surNew File
et enfin surR Script
(de manière équivalente, vous pouvez cliquer sur l’icône présentant un document blanc et une croix blanche sur fond vert). - Enfin, enregistrez votre fichier : menu
File
, puisSave
.
1.2 Création, modification, suppression d’un objet
Pour créer un objet, il est nécessaire de lui donner un nom et un contenu. On écrit le nom en respectant des conventions de nommage. Le nom d’une variable doit être composé de caractères alphanumériques ou du point ou du trait de soulignement uniquement. Il ne doit pas commencer par un chiffre ou contenir d’espace, sauf s’il est entouré par des guillemets. Il est important de noter que ces noms sont sensibles à la casse, c’est à dire qu’une distinction entre les majuscules et les minuscules a lieu.
Dans le cadre de ces travaux dirigés, nous utiliseront une convention supplémentaire, consistant à créer des variables dont on peut facilement deviner le contenu grâce à leur nom, en utilisant uniquement des lettres minuscules, et en ajoutant un trait de soulignement entre les différents termes s’il y a lieu d’utiliser plusieurs termes. Par exemple, une variable qui contiendrait l’année de naissance d’un individu pourrais être nommée annee_naissance
.
L’affectation du contenu à une variable, une fois son nom indiqué, se fait en ajoutant un symbole d’affectation : <-
(on peut aussi utiliser le symbole égal (=
)).
<- 1+1
x x
## [1] 2
Exercice
- Créer un objet que vous nommerez
age
qui contiendra, en valeur numérique, votre âge. - Affichez dans la console la valeur de l’objet
age
. - Créez un objet appelé
annee_naissance
qui, en s’appuyant sur la valeur contenue dansage
, indiquera votre année de naissance (soustrayez la valeur deage
à l’année actuelle) - Modifiez le contenu de l’objet
age
en lui ajoutant 10 ans. Affichez dans la console la valeur de l’objetage
suite à la modification. - Affichez la valeur de l’objet
annee_naissance
: que constatez-vous ? - Modifiez le contenu de l’objet
age
en lui soustrayant 10 ans. Affichez dans la console la valeur de l’objetage
suite à la modification. - Calculez, sans modifier le contenu de l’objet
age
, le nombre de jours correspondant à votre âge (en multipliant votre âge par 365,25). - En faisant appel à la fonction
ls()
, affichez le nom des objets existants dans l’environnement global. - À l’aide de la fonction
rm()
(remove), supprimez l’objetage
, puis tentez d’afficher le contenu de l’objetage
dans la console. - Affichez à nouveau le nom des objets existants dans l’environnement global.
- Affichez la valeur de l’objet
annee_naissance
: que constatez-vous ?
1.3 Lecture d’une page d’aide
Dans cet exercice, vous allez calculer la racine carrée d’un nombre. Pour cela, vous allez faire appel à une fonction native en R, dont vous ignorez le nom et le fonctionnement (si c’est la première fois que vous faites du R).
Lorsque vous n’arrivez pas à effectuer une opération avec R, réfléchissez en anglais à votre question, puis consultez les pages d’aide ou bien un moteur de recherche en ligne.
Exercice
- Comment dit-on “racine carrée” en anglais ?
- Sur le moteur de recherche que vous avez l’habitude d’utiliser, inscrivez la traduction de “racine carrée” en anglais, suivi de “in r”.
- Repérez le nom de la fonction qui vous permet de calculer une racine carrée en R, puis affichez (et parcourez) la page d’aide de cette fonction dans RStudio.
- Calculez la racine carrée de 9 à l’aide de la fonction dont vous venez de consulter la page d’aide.
1.4 Installation et chargement d’un package
Les packages sont des jeux de fonctions, accompagnés de fichiers d’aides, parfois de jeux de données. Pour pouvoir faire appel à une fonction contenue dans un package, il faut soit :
- indiquer le nom du package suivi de deux fois deux-points puis du nom de la fonction (e.g.,
dplyr::select(iris, "Species")
qui fait appel à la fonctionselect()
du package {dplyr}) - charger le package en mémoire à l’aide de la fonction
library()
puis faire appel au nom de la fonction (e.g.,library(dplyr)
puis dans une seconde instruction,select(iris, "Species")
).
- Lorsque l’on charge un package à l’aide de la fonction
library()
, l’ensemble des fonctions contenues dans ce package sont chargées en mémoire et les pages d’aide associées deviennent consultables. - Lorsque l’on quitte R et qu’on le relance, les packages chargés à l’aide de la fonction
library()
ne sont plus en mémoire, et il faut de nouveau les charger pour pouvoir accéder aux fonctions qu’ils contiennent.
Pour pouvoir charger un package, il est nécessaire que celui-ci soit installé sur votre machine. Pour installer un package disponible sur le dépôt CRAN (The Comprehensive R Archive Network), il suffit d’utiliser la fonction install.packages()
et de lui donner le nom du package sous la forme d’une chaîne de caractères (en entourant le nom par des guillemets doubles ou simples).
- L’installation d’un package (
install.packages()
) se fait une seule fois, contrairement au chargement d’un package (library()
) qui s’effectue à chaque fois que l’on relance R. - L’appel de la fonction
install.packages()
sert également à mettre à jour un package.
Exercice
- Évaluez le coode suivant, et lisez le message d’erreur :
ggplot(data = iris, mapping = aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point()
- Les fonctions
ggplot()
,aes()
etgeom_point()
sont contenues dans le package {ggplot2}. Sans charger le package, et en utilisant la syntaxe avec les deux-points (::
), modifiez l’instruction de la question précédente pour afficher un nuage de point comme ci-dessous : - Chargez le package {ggplot2} à l’aide de la fonction
library()
et évaluez à nouveau le même code qu’en première question.