Dernière mise à jour: 2026-09-29 15:44.

1 Introduction

Le but de cette première leçon est de vous familiariser avec l’interface RStudio, le vocabulaire informatique et le langage R. En effet, on parle de langage parce qu’il s’agit de programmer un maximum, c’est à dire d’écrire des commandes plutôt que de cliquer sur des boutons pour obtenir un résultat. Pour vous vous familiariser avec l’interface, on va vous montrer quelques boutons, mais à l’issue de cette initiation, on ne fonctionnera presque plus qu’avec le code.

Voir aussi:

Si pas encore fait, installez d’abord R, RStudio, et les paquets nécessaires (Sec. 1, 2, 3).

2 L’interface RStudio

Ouvrez RStudio et suivez la synthèse en parallèle. Si votre écran vous le permet, mettez la synthèse et le logiciel côte à côte. L’interface se présente comme ceci:

Vous avez trois panneaux, et on va d’emblée en ajouter un quatrième: dans le Menu en haut, cliquer sur File > New file > R Script.

Vous voyez maintenant quatre panneaux:

2.1 La console

La console, c’est la copie officielle. Si vous écrivez quelque chose dans la console et que vous passez à la ligne, le code sera évalué, et le résultat affiché dessous.

En bas à gauche dans la console, vous voyez un >. C’est l’invite de commande (command prompt): R vous invite à y écrire, mais uniquement dans son langage.

Vous pouvez tenter une opération simple dans la console d’abord: positionner le curseur devant l’invite de commande, encoder 2 + 2, puis appuyer sur la touche <Enter> (⏎) pour évaluer la commande.

2 + 2
[1] 4

R affiche le résultat, puis représente son invite > à écrire une prochaine commande.

2.2 Le script R

Le panneau en haut à gauche est un script.

C’est en quelques sortes, votre cahier de brouillon. Vous pouvez y écrire tout ce vous voulez sans qu’il ne se passe rien.

De manière générale, on ne travaille jamais dans la console. On travaille dans le script.

Tentez la même opération dans le script. Il ne se passe rien si vous cliquez sur <Enter>, vous passez à la ligne seulement. Si vous voulez l’évaluer, il faut l’envoyer dans la console, en appuyant sur <Ctrl> + <Enter>. Pour ceux qui travaillent sur Mac, c’est <cmd> + <Enter>.

On va mieux comprendre la différence entre le script et la console dans la suite du cours, mais on peut déjà comprendre le but de travailler dans le script: construire, de façon progressive, une séquence correcte de commandes, et la sauvegarder, plutôt que encoder une commande à la fois dans la console, en essayant de se rappeler de la bonne séquence par coeur. En somme, on ne va jamais écrire directement dans la copie officielle: on va peaufiner le brouillon jusqu’à en être satisfait.e.s.

Dans ce fichier .html, chaque commande est suivi par son résultat, dans un cadre de couleur différente pour les contraster. Quand vous lancez une commande depuis le script par contre, la commande et le résultat sont affichés dans la console. Heureusement que RStudio évite de balancer des lignes en plus dans votre script, sinon il deviendrait rapidement illisible.

2.3 L’environnement

Le cadre en haut à droite reprend plusieurs onglets, mais celui qui nous intéresse, c’est l’environnement. C’est là qu’on va stocker les objets. Des objets dans R peuvent être des données par exemple. Nous en verrons des exemples plus loin.

2.4 Quatrième cadre

Le cadre en bas à droite contient plusieurs onglets, les paquets (packages) qu’on utilisera pas tel quel, l’aide, les fichiers, et c’est aussi là que s’afficheront les graphiques - les plots.

3 Commandes et commentaires

On distingue les commandes, c’est à dire le «code» qui sera évalué par R, des commentaires, qui sont du texte que vous ajoutez pour votre propre prise de note. Les commentaires sont précédés d’un croisillon # (plus connu comme «hashtag»). Par exemple:

# Ici, je vais calculer le résultat d'une addition

2 + 2
[1] 4

R ignore poliment toute ligne commençant par #: il considère juste le 2 + 2 comme une commande, elle est évaluée/interprétée par le logiciel.

Nous vous conseillons d’user et abuser des commentaires. Ce qui vous semble évident cette semaine ne le sera plus la semaine prochaine!

Évitez juste de rajouter des notes sans le #, sinon R va les prendre pour des commandes (essayez juste une fois pour voir ce que ça donne).

Commandes incomplètes et +:

  • Quand R reçoit une commande complète et correcte, et a fini de l’interpréter, il ré-affiche l’invite > pour la prochaine.
  • Tant que R n’a pas fini de calculer, il vaut mieux attendre la réapparition du >.
  • Si la commande n’est pas complète, même s’il manque une ‘)’, R attends patiemment sa fin: dans ce cas il affiche un + à la place du >.
  • Plutôt que essayer de compléter: cliquez sur la console et appuyez sur <Esc>. C’est la touche Escape, le contraire de Enter.

3.1 À vous de jouer!

Essayez quelques opérations mathématiques complexes dans la console et dans le script pour vous familiariser avec l’interface et le <Ctrl> + <Enter> ou <cmd> + <Enter>.

Remarques:

  • Vous constatez que peu importe où vous placez votre curseur dans la ligne de commande, R évalue toute la commande.
  • Si vous faites une erreur dans le script, il vous suffit de la corriger et de réévaluer la commande. Allez-y vous ne pouvez rien casser!
  • Vous pouvez aussi sélectionner une partie d’une ligne: dans ce cas, <Ctrl> + <Enter> va interpréter uniquement la partie sélectionnée.
  • Si une commande est incomplète, R va attendre la fin de la commande. Et un + apparaît alors dans la console, à la place du > habituel. Ça vous arrivera beaucoup au début. Ce n’est pas grave, cliquez dans la console, appuyez sur <Esc> pour réinitialiser l’invite >. Corrigez ensuite votre script.
  • Si une commande prend plus que une ligne, R envoie automatiquement toute la commande dans la console. Si ce n’est pas le cas, aller dans Tools > Global Options -> Code -> Editing, section Execution, et sélectionner Multi-line R statement dans le menu déroulant <Ctrl> + <Enter> executes (voir image ci-dessous).

À éviter: On peut penser que c’est mieux de tester d’abord les commandes dans la console, et puis les copier-coller dans le script. Ne faites surtout pas ça. Vous allez juste remplir le script de > (invites de commande) et + (séparateur des lignes), qui vont rendre votre script incompréhensible pour R.

Encore une fois: le script est le brouillon, la console est la copie officielle. Quant au copier-coller, vous en n’avez même pas besoin: il suffit d’appuyer sur <Ctrl> + <Enter>, et RStudio se charge de mettre vos lignes de brouillon en belle copie.

Exercice Ouvrez la feuille d’exercices et faites l’ex. 1.

3.2 Compléter les commandes avec <Tab>

Pour bien utiliser R il faudra donc moins de mouse, et plus de clavier. Mais il ne faut pas non plus de la dactylo, car R vous permets de compléter les noms qu’il connaît en appuyant sur <Tab>. C’est la touche à gauche au dessus de la touche <Shift Lock>, avec le symbole ⭾. Cette touche est l’«auto-complétion» de R: elle vous propose des façons de compléter la commande que vous écrivez. Dans RStudio, un menu s’affiche pour proposer de compléter vos commandes: vous pouvez sélectionner la commande souhaitée avec les flèches de vôtre clavier. <Enter> lance la commande sélectionnée, tandis que <F1> affiche sa page d’aide dans le cadre en bas à droite.

Astuce: Utilisez systématiquement l’auto-complétion, ça vous permets de minimiser les fautes de frappe, tout en reposant vos doigts!

4 Quitter R

Dans R, on a pour habitude de ne sauver que le script. Quand vous allez quitter R, il va aussi vous demander si vous voulez sauvegarder votre environnement de travail:

Dites non.

L’idée est est de garder uniquement votre programme, votre code qui vous a permis de créer tout ce qui se trouve dans l’environnement de travail et dans la console. On ne sauvegarde pas les objets en soi. C’est ce qui s’appelle travailler de manière reproductible. Plutôt que de sauver ce qu’on a créé, on sauve le processus par lequel on est arrivé à créer quelque chose. De la même façon, pour pouvoir refaire une bon gâteau vous allez prendre note de la recette, pas besoin de conserver le résultat!

4.1 Sauvegarder le script

Pour sauvegarder votre script, employez le bouton dans le menu de RStudio: il y a une petite disquette qui vous permet de choisir un emplacement sur votre ordinateur pour le faire. Si pas encore fait, créez un dossier uniquement pour ce cours pour y sauvegarder vos scripts.

Quand vous nommez votre script, choisissez un nom explicite et clair, sans accents, espaces, apostrophes, ou caractère spéciaux.1 Il sera sauvegardé au format .R par défaut. Si ce n’est pas le cas, choisissez cette option. L’extension .r est valide aussi.

Quand vous travaillez, sauvegardez régulièrement votre script. Il y a une sauvegarde automatique dans RStudio, mais on est jamais à l’abri d’une panne de courant, d’un crash du programme, ou d’une petite soeur qui renverse son biberon sur votre ordinateur.

Avant de quitter R, paramétrons-le une bonne fois pour toutes afin qu’il ne demande même plus à sauvegarder les résultats: dans Tools > Global Options > General:

  • Décocher Restore .RData into workspace at startup;
  • Dans le menu déroulant pour Save workspace to .RData on exit, sélectionner Never.

5 Les fonctions

Une fonction est un bout de «code» qui sert à accomplir une opération bien précise, ayant tipiquement des données «en entrée» et des données «en sortie». Une fonction est interprétée, évaluée. Par exemple, si vous voulez calculer une racine carrée d’un nombre, vous allez employer la fonction sqrt. Les arguments sont des paramètres obligatoires ou facultatifs, que l’on place entre les parenthèses qui suivent la fonction (les données «en entrée»). Les arguments sont séparés par des virgules si il y en a plusieurs. Par exemple, pour utiliser la fonction sqrt, il faut spécifier en argument, le nombre duquel il faut extraire la racine. Par exemple:

sqrt(4)
[1] 2

La «sortie» de la fonction correspond à sa valeur (value), dans ce cas 2: c’est ce qu’on voit dans la console quand on évalue la fonction.

6 L’aide

Parfois, on peut être un peu perdu dans l’usage des fonctions et de leurs arguments. L’aide R vous est utile (ou pas parfois, soyons francs), pour savoir quels arguments sont obligatoires, lesquels sont facultatifs, lesquels sont par défaut, et ce qu’ils impliquent. Par exemple, toujours pour cette fonction sqrt, vous pouvez consulter l’aide en plaçant un ? devant la fonction.

?sqrt

Notez que, souvent, les forums sont plus didactiques: posez votre question à Google et il vous orientera vers un forum où votre question a déjà trouvé une réponse. L’avantage de l’«Open Source» est qu’il permets le développement d’une grande communauté d’utilisateurs qui se mobilisent les uns pour les autres.

7 Les objets

Nous l’avons déjà vu, les objets sont stockés dans l’environnement de travail. Pour l’instant il est vide puisque nous n’avons encore rien créé. Voyons petit à petit différents types d’objets: les vecteurs, les jeux de données/dataframe, les matrices/matrix, les listes/lists. Tous ces objets peuvent être créés au moyen d’une assignation. C’est à dire qu’on va stocker l’objet. L’opérateur d’assignation est <-.

Par exemple, si on veut stocker un résultat mathématique, on va lui assigner un nom:

x <- 2 + 2

Vous voyez alors apparaître une valeur nommée x dans l’environnement de travail (cadre en haut en droite). Si vous n’assignez pas de nom au résultat de votre opération, il n’est pas stocké.

Astuce: pour nettoyer votre environnement de travail, ce que l’on vous conseille de faire entre chaque leçon, utilisez la commande rm(list = objects()).

rm(list = objects())

L’environnement est à nouveau vide.

7.1 Les variables

Le type de variable le plus simple dans R est le vecteur. Un vecteur peut être créé au moyen de la fonction c2.

age  <- c(18, 22, 20, 19, 17)

Les valeurs sont séparées par des ,. Si on veut voir notre nouvel objet, il suffit de le rappeler par son nom:

age
[1] 18 22 20 19 17

Notez que l’on peut aussi utiliser = au lieu de <- mais nous vous recommandons la seconde option afin d’éviter toute confusion avec l’équivalence mathématique. Dans ce cours on utilisera <-, tout comme dans le syllabus et la plupart des sources.

On peut aussi créer des vecteurs contenant du texte.

couleur_cheveux <- c("Brun", "Gris", "Rouge", "Blond", "Roux")

On a dû employer les “” pour intégrer du texte. On voit alors que les deux vecteurs que l’on a créé ne sont pas de la même classe, du même type:

class(age)
[1] "numeric"
class(couleur_cheveux)
[1] "character"

L’un est quantitatif, l’autre est qualitatif. Il existe d’autres types de vecteurs qui seront abordés dans les prochaines leçons.

Pour obtenir un minimum d’informations concernant une variable, vous pouvez utiliser les fonctions suivantes. Elles vous seront très utiles pour la suite du cours:

  • class(le_nom_de_la_variable): pour connaître le type de variable;
  • levels(le_nom_de_la_variable): pour connaître les niveaux d’une variable qualitative (factor);
  • dput(levels(le_nom_de_la_variable)): pour afficher ces mêmes niveaux, mais dans une forme qui est lisible pour R aussi;
  • length(le_nom_de_la_variable): pour connaître la taille de la variable (nombre d’élements).

Exercice Si pas encore fait, téléchargez la feuille d’exercices en version .r en utilisant la commande download.file proposée, et faites l’ex. 2 directement dans le fichier initiation_ex.r.

7.2 Nommer des variables

Le nom des variables est arbitraire, c’est à dire que vous choisissez le nom que vous voulez mais il y a des limites de syntaxe, et de pratique:

  • Évitez les espaces, les tirets -, privilégiez . ou _;
  • Le nom doit commencer par une lettre, mais peur contenir des chiffres;
  • Il ne peut pas non plus commencer par _, ni par .;
  • R EsT SenSiblE À la CASSE! : X et x sont deux noms différents!
  • Évitez les accents pour questions de portabilité (lisibilité sous différentes plateformes);
  • Privilégiez des noms lisibles: vous pouvez toujours utiliser la touche <Tab> pour les compléter en évitant les fautes de frappe.

Par exemple:

Noms valables Noms pas valables
x1.0 nom-de-famille
age ma variable
Sujet.d.etudes 10x
Revenus2014 _y
LangueMaternelle .variable.cachee
taille_en_cm nationalité

Exercices Sec. 2 ex. 3, 4.

7.3 Les jeux de données

Les jeux de données sont appelées des data frames dans R. Pour rappel, un jeu de données3 est une agrégation de plusieurs variables en un seul tableau afin de stocker plusieurs informations concernant un ensemble d’individus au même endroit (#bigbrother). Cela peut se faire grâce à la fonction data.frame.

Reprenons les variables que nous avons créées précédemment. On sait que le premier individu a 18 ans, le second 22, et ainsi de suite. On voudrait maintenant relier l’information de l’âge à celle de la couleur de cheveux.

jeu_de_donnees <- data.frame(age = age,
                              couleur_cheveux = couleur_cheveux)
jeu_de_donnees
  age couleur_cheveux
1  18            Brun
2  22            Gris
3  20           Rouge
4  19           Blond
5  17            Roux

On a donc spécifié les variables que l’on souhaitait intégrer dans notre jeu de données et on a conservé leurs noms originaux.

On aurait pu aussi enchaîner les opérations de création de variables au sein de la création de jeu de données:

jeu_de_donnees <- data.frame(age = c(18, 22, 20, 19, 17),
                              couleur_cheveux = c("Brun", "Gris", "Rouge",
                                                  "Blond", "Roux"))
jeu_de_donnees # même ręsultat
  age couleur_cheveux
1  18            Brun
2  22            Gris
3  20           Rouge
4  19           Blond
5  17            Roux

Par convention, toutes les jeux de données propres sont structurées de la même façon: une ligne correspond à une unité d’observation (par exemple un individu) et une colonne à une variable. Ancrez-le une bonne fois pour toutes :-).

Le data.frame crée est aussi visible en RStudio dans l’onglet Environment, dans une nouvelle section nommée Data. On remarque deux icônes à la même ligne:

  • à gauche, l’icône (ressemblant une icône play): en cliquant, on va dérouler la structure du data frame, qu’on va mieux comprendre dans la suite;
  • à droite, l’icône (un tableau): en cliquant, on va ouvrir un nouvel onglet dans le cadre du script, en haut à gauche. Cette vue est assez pratique, mais limitée à 1000 lignes. On peut l’afficher directement en encodant:
View(jeu_de_donnees) # affiche dans un onglet

Si on souhaite obtenir un minimum d’informations concernant un dataframe, on peut employer toutes les fonctions suivantes. Elles vous seront très utiles pour la suite du cours.

  • class(le_nom_du_dataframe): pour connaître le type d’objet;
  • dim(le_nom_du_dataframe): pour connaître le nombre d’observations (n. de lignes) et le nombre de variables (n. de colonnes);
  • names(le_nom_du_dataframe): pour afficher les noms de variables reprises dans le jeu de données;
  • str(le_nom_du_dataframe): pour avoir des méta-données (des données sur les données) - nombre d’observations (lignes), nombre et noms des variables (colonnes), leur type, les niveaux des variables qualitatives. Bref, il s’agit d’une véritable synthèse du dataframe, la même qui est affiché par le bouton .
  • pour afficher uniquement une variable du dataframe on utilise le symbole $ ainsi: le_nom_du_dataframe$le_nom_de_la_variable, par exemple:
jeu_de_donnees$age
[1] 18 22 20 19 17

Attention à l’ordre des instructions! Une séquence d’opérations qui a un sens logique dans un certain ordre, n’a pas forcement de sens en changeant cet ordre! Tout comme pour une recette de cuisine, chaque étape peut uniquement dépendre des étapes précédentes: on sépare les blancs des jaunes avant de battre les blancs en neige… et avant tout ça on doit casser les oeufs!

Dans l’exemple précédent, il va de soi qu’il fallait d’abord créer les variables, ensuite le dataframe, et pas l’inverse. Ou éventuellement, comme le montre la deuxième option, créer les variables au sein de la fonction dataframe en emboîtant les fonctions les unes dans les autres. L’inverse n’aurait pas fonctionné.

Par exemple, ceci est une séquence d’instructions qui a un sens: la deuxième utilise un objet défini par la première:

x <- 1
y <- x + 1

Maintenant on efface les deux variables pour faire un autre exemple

rm(x, y)

Voici maintenant une séquence d’instructions qui pose un soucis:

y <- x + 1 # Ici on a directement un message d'erreur!
Error:
! object 'x' not found
x <- 1 # Trop tard...

Remarque: Ce qui compte, c’est l’ordre d’exécution. Dans ce sens, la liberté offerte par l’interface RStudio peut être trompeuse, car ça nous permets de nous déplacer aisément dans un script, en interprétant les lignes dans un ordre dispersé.
On va le faire souvent dans ce cours, pour proposer des exemples dans les différents fichiers, ou justement pour voir l’impacte d’un changement de l’ordre d’exécution, mais c’est en général une pratique à éviter! Essayez de garder les commandes d’un script dans leur bon ordre logique, et les interpréter uniquement dans cet ordre.

Surtout à l’examen!!! Beaucoup d’erreurs que je remarque dans les scripts d’examen sont de ce genre: ça aurait marché si on avait écrit les instructions dans un ordre différent, mais c’est l’ordre des lignes du script qui détermine le résultat… et donc la note!

Exercices Sec. 3, 4, 5, ex. 7-13.

7.4 Les matrices

Une matrice est une structure bidimensionnelle, constituée par des données ayant tous le même type. Il s’agit d’un tableau en quelques sortes, pour les personnes qui ne sont pas familières du langage mathématique. On peut créer une matrice au moyen de la fonction matrix, les valeurs à intégrer dans la matrice, et un argument, une option, qui détermine soit le nombre de lignes, soit le nombre de colonnes nrow ou ncol.

m <- matrix(1:12, nrow = 4)
class(m)
[1] "matrix" "array" 
dim(m)
[1] 4 3
m
     [,1] [,2] [,3]
[1,]    1    5    9
[2,]    2    6   10
[3,]    3    7   11
[4,]    4    8   12

On voit que par défaut, la matrice a été “remplie” par colonne. La première colonne a été complétée sur 4 lignes (1, 2, 3, 4) puis le logiciel a généré une nouvelle colonne qu’il a complétée sur 4 lignes (5, 6, 7, 8) et ainsi de suite.

La matrice peut être complétée par ligne en passant la valeur TRUE pour l’argument byrow:

matrix(1:12, ncol = 4, byrow = TRUE)
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6    7    8
[3,]    9   10   11   12

Les colonnes et les lignes d’une matrices peuvent être nommées, avec colnames et rownames, respectivement:

colnames(m) <- c("A", "B", "C")
m
     A B  C
[1,] 1 5  9
[2,] 2 6 10
[3,] 3 7 11
[4,] 4 8 12

Exercice Sec. 6.

7.5 Les listes

Une liste est une séquence d’objets pouvant avoir des classes et structures différentes. Elle peut être créée avec la fonction list:

ex_data <- list(jeu_de_donnees, m)
class(ex_data)
[1] "list"
ex_data
[[1]]
  age couleur_cheveux
1  18            Brun
2  22            Gris
3  20           Rouge
4  19           Blond
5  17            Roux

[[2]]
     A B  C
[1,] 1 5  9
[2,] 2 6 10
[3,] 3 7 11
[4,] 4 8 12

Les éléments d’une liste peuvent être nommés avec names

names(ex_data) <- c("Dataframe", "Matrice")

Les noms de chaque objet peuvent être précisés directement à la création, comme pour les colonnes d’un data.frame:

ex_data <- list(Matrice=m, Dataframe=jeu_de_donnees)
names(ex_data)
[1] "Matrice"   "Dataframe"

Si l’on ne souhaite afficher qu’un seul objet de la liste, le principe est le même que si l’on ne veut afficher qu’une variable d’un dataframe: $

ex_data$Data
  age couleur_cheveux
1  18            Brun
2  22            Gris
3  20           Rouge
4  19           Blond
5  17            Roux

Exercice Sec. 7.

8 Les paquets

Un autre avantage des logiciels Open Source est que n’importe qui peut contribuer à l’évolution de ceux-ci. R contient donc toute une série de paquets contenant eux-mêmes toute une série de fonctions, de jeux de données, etc pour manipuler, représenter, et analyser des données.

8.1 Installation

Par défaut R a une série de paquets installés. Tout comme sur votre ordinateur ou votre smartphone, vous avez toute une série d’applications et de logiciels qui sont disponibles sans que vous n’ayez rien eu à faire.

Parfois, il faut néanmoins les télécharger, tout comme vous téléchargez de nouveaux logiciels sur votre ordinateur, ou de nouvelles apps sur votre smartphone. Pour installer un nouveau paquet, on emploie la fonction install.packages("") et on met le nom du paquet entre ““.

Si vous ne l’avez pas encore fait, c’est le moment d’installer les paquets nécessaires à ce cours: suivre les instructions dans installation.html.

8.2 Charger un paquet

Si vous voulez utiliser une application sur votre smartphone, il ne suffit pas de l’installer, il faut aussi l’ouvrir. Du même dans R, pour utiliser un package installé, il faut d’abord l’ouvrir. Dans le cas de R on dit plutôt «le charger en mémoire»: toutes les fonctions d’un package ne seront pas utilisables tant que vous ne le chargez pas.

Par exemple, pour afficher les lignes dans notre jeu_de_donnees en ordre d’âge croissante, on pourrait utiliser la fonction arrange, qui se trouve dans le paquet dplyr:

arrange(jeu_de_donnees, age)
Error in `arrange()`:
! could not find function "arrange"

Ici R ne trouve pas la fonction, car on lui n’a jamais dit qu’on allait avoir besoin d’une fonction de dplyr. Pour ce faire, on utilise la fonction library:

library("dplyr")

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union

Maintenant R connaît par nom toutes les fonctions dans dplyr, arrange inclus, et la commande marche:

arrange(jeu_de_donnees, age)
  age couleur_cheveux
1  17            Roux
2  18            Brun
3  19           Blond
4  20           Rouge
5  22            Gris

Le chargement avec library doit avoir lieu à chaque fois que vous ré-ouvrez R (en termes plus techniques: à chaque session de travail). Si on reprend l’analogie avec votre smartphone, vous ne téléchargez/installez qu’une seule fois l’application, mais vous devez l’ouvrir à chaque fois que vous allumez le smartphone.

Parfois l’installation ou le chargement affiche des Warnings ou autres messages assez inoffensifs. Malheureusement RStudio les affiche en rouge, mais c’est juste pour les distinguer des résultats. Ce n’est donc pas parce que des messages s’affichent en rouge dans la console que quelque chose s’est mal passé… :-) Seulement les Errors sont problématiques.

C’est le cas des messages mentionnant le «masking» qu’on a vu au chargement de dplyr: on peut les ignorer aussi, on va mieux les comprendre dans la suite du cours.

9 Remarques sur la syntaxe

Le 99% des erreurs que vous allez faire sont des simples erreurs de syntaxe: assez faciles à dépister, mais il faut habituer son oeil.

  • Parenthèses, crochets, accolades, guillemets vont toujours en couple

    () [] "" '' ...
  • Les virgules pour séparer les arguments se trouvent entre deux arguments.

# Essayez:

c(1, 2, 3) # ok
[1] 1 2 3
c(, 1, 2, 3) #erreur
Error in `c()`:
! argument 1 is empty
c(1, 2, 3, ) #erreur
Error in `c()`:
! argument 4 is empty
  • Les espaces et nouvelles lignes ne changent pas le résultat d’une commande (du moment qu’on ne casse pas la commande). C’est donc normale de casser les commandes trop longues
print(c(1, 2))
[1] 1 2
print(       c(
    1,          2  
)) # même résultat, mais moins lisible
[1] 1 2
c(length(vector(length = 1)), length(vector(length = 2)), length(vector(length = 3)), length(vector(length = 4))) # trop long
[1] 1 2 3 4
c(length(vector(length = 1)), length(vector(length = 2)),
  length(vector(length = 3)), length(vector(length = 4))) # plus lisible
[1] 1 2 3 4
  • Pour une question de lisibilité, il vaut mieux laisser un espace après chaque virgule ainsi que avant et après le symbole d’assignation ou les opérateurs binaires
y<-2+c(1,2) # c'est claustrophobique 
y <- 2 + c(1, 2) # ça respire

10 Ouvrir les scripts du cours dans R.

Attention: Ce fichier est aussi un script. La synthèse que vous voyez dans votre navigateur est au format .html mais elle a été rédigée dans R, et existe donc aussi au format .R. L’ouvrir dans RStudio n’est pas évident, mais assez facile en suivant ces instructions à la lettre près. Vérifiez que vous avez bien effectué chacune de ces opérations dans l’ordre.

Il y a trois étapes: la création d’un dossier de travail, le téléchargement du fichier au format .R et l’ouverture de ce fichier dans R.

10.1 Choisir un dossier de travail

Cette opération permets de donner à R le chemin vers un dossier où il pourra lire et écrire des données ou des script.

10.1.1 La façon la plus simple

Créez directement un dossier pour ce cours, puis allez le chercher dans le menu Session -> Set Working Directory -> Choose Directory. RStudio va créer la bonne commande setwd, et l’interpréter directement dans la console.

10.1.2 Alternative en ligne de commande

Si vous n’arrivez pas à trouver le dossier de ce cours, vous pouvez le chercher à l’exterieur de RStudio, via Explorer/Finder, puis copier son chemin complet, et le coller entre "" dans une commande setwd().

  • Pour Windows:
    • Écrivez la commande setwd("") dans la console mais n’appuyez pas sur <Enter>,
    • Allez sur votre ordinateur, dans votre explorateur de fichiers,
    • Dans vos documents, créez un dossier pour ce cours,
    • Cliquez droit sur ce dossier,
    • Cliquez sur propriétés,
    • Copiez (<Ctrl> + c) l’emplacement du dossier. Celui-ci ne doit contenir aucun accent, apostrophe, ou caractère spécial (ç, ù, ñ, etc),
    • Collez le (<Ctrl> + v) dans la console entre les "" de la commande que vous avez écrite à la première étape.
    • <Enter>

Copier l’emplacement sur Windows

  • Pour Mac:
    • Écrivez la commande setwd("") dans la console mais n’appuyez pas sur <Enter>,
    • Allez sur votre ordinateur, dans Finder,
    • Créez un dossier dans vos documents pour ce cours,
    • Cliquez droit sur ce dossier,
    • Appuyez sur <Alt> et maintenez la touche enfoncée,
    • Cliquez sur “copier … en tant que chemin”. Celui-ci ne doit contenir aucun accent, apostrophe ou caractère spécial (ç, ù, ñ, etc),
    • Collez le (<Ctrl> + v) dans la console entre les "" de la commande que vous avez écrite à la première étape.
    • <Enter>

Copier l’emplacement sur Mac

10.2 Télécharger le script de cette leçon

Copiez la ligne ci-dessous, et collez-la dans la console, puis appuyez <Enter>:

 download.file("https://matteo.gagliolo.web.ulb.be/INFOD203/initiation.r", "initiation.r")

10.3 Ouvrir le script dans R

Copiez la ligne ci-dessous, et collez-la dans la console, puis appuyez <Enter>:

 file.edit("initiation.r")

10.4 Rectifier l’encodage

Une fois dans RStudio: si vous arrivez à lire ces accents — àéèîôù — dans le fichier .r, alors bienvenus dans le futur! Si par contre vous voyez des caractères bizarres à la place de ces accents suivez les instructions ci-dessous pour terminer le processus:

  • Menu: File -> Reopen with encoding
  • Sélectionner UTF-8,
  • Cocher une fois pour toute "Set as default encoding for source files"
  • Vérifier aussi que UTF-8 est sélectionné dans Tools > Global Options, séction “Code”, onglet “Saving”:

Pour plus d’infos sur cette histoire d’encodage: différentes versions de Windows et MacOsX, dans des langues différentes, peuvent utiliser différentes façons de représenter les accents. C’est pour ça que vous recevez parfois des emails avec les accents illisibles… La question de l’encodage est l’un des cauchemars de l’informatique moderne. L’encodage le plus répandu en Europe est malheureusement le ISO-8859-1, ou Latin1, limité aux caractères des langues européennes. L’encodage le plus utilisé dans le monde, et surtout sur le web, est UTF-8, permettant de représenter tous les caractères du standard Unicode, incluant chinois, arabe, et pratiquement tout autre langage connu, ainsi que les maths, le Braille, et un nombre croissante d’emoticons. C’est un choix obligé pour toute plate-forme multi-langue (Wikipedia, Google, Facebook, Twitter, …). C’est bien l’encodage de ce fichier, et c’est une choix obligé pour ce cours aussi! Donc si ce n’est pas encore le cas, sauvegardez le choix de l’encodage UTF-8 une fois pour toute.

10.5 Choisir le dossier de travail, une fois pour toutes

On peut sélectionner le dossier de travail actif au démarrage de R dans Tools > Global Options, section General, option Default working directory, en utilisant le bouton Browse:

.

Il faut sélectionner une fois pour toute le dossier dédié à ce cours! On pourra toujours le changer en cas de besoin, mais ça évite de devoir le faire d’office au début de chaque cours…

Vous pouvez désormais suivre le cours dans R directement. Ce n’est probablement pas l’interface la plus agréable, et c’est pourquoi les fichiers .html sont toujours à votre disposition. Pour réaliser vos exercices, c’est plus simple de les réaliser à la suite des énoncés directement dans le script. Et rappelez-vous d’user et abuser des commentaires. #soulagetamémoire ;-)


Exercices — Index du cours



  1. En soi R n’a pas de soucis avec les caractères speciaux, le problème est souvent la coordination entre R, votre système d’exploitation (OS) et et votre système de fichiers (FS).↩︎

  2. Initiale du mot combine.↩︎

  3. Parfois appelé une base de données, bien que ce terme ait une signification plus précise.↩︎