[1] 4
L3 économie-finance
Université Paris 8
9 septembre 2026
Cinq séances de trois heures, sur machine.
| Séance | Objet |
|---|---|
| 1 | Premiers pas : objets, types, vecteurs, fonctions |
| 2 | Découvrir un tableau de données |
| 3 | Décrire des données |
| 4 | Représenter des données |
| 5 | Projet : une analyse complète |
À la fin, vous serez capables de prendre un jeu de données, de le décrire et d’en tirer des graphiques lisibles.
tidyverse, à partir de la séance 2.swirl, à faire en séance et à terminer chez vous. Le temps en salle sert à pratiquer.Vous pouvez tout à fait utiliser ChatGPT, Gemini ou Claude en dehors du cours. Ils vous donneront presque toujours une réponse, parfois fausse, et pas toujours simple à comprendre.
Important
Le problème n’est pas qu’ils se trompent : c’est que vous ne pouvez pas le voir tant que vous ne savez pas faire sans eux. Ces cinq séances servent à acquérir de quoi les juger.
Pendant les séances, servez-vous de l’aide de R et des messages d’erreur. C’est ce que vous apprendrez ici.
Charte IA de l’université : https://www.univ-paris8.fr/IMG/pdf/02_chartes_cadre_ia_up8.pdf
Au premier lancement de RStudio, l’interface est organisée en trois grandes zones.
Accueil RStudio
La Console affiche un texte de bienvenue suivi d’une ligne commençant par le caractère > (l’invite de commande).
Fournissons une première commande, en saisissant le texte suivant et en appuyant sur Entrée.
Le symbole > réapparaît, et nous pouvons lancer d’autres opérations :
| Math | code R |
Résultat |
|---|---|---|
| \(3 + 2\) | 3 + 2 |
5 |
| \(3 - 2\) | 3 - 2 |
1 |
| \(3 \times 2\) | 3 * 2 |
6 |
| \(3 \div 2\) | 3 / 2 |
1.5 |
| \(3^2\) | 3 ^ 2 |
9 |
| \(\sqrt{100}\) | sqrt(100) |
10 |
R dispose des fonctions mathématiques usuelles. Vous n’en aurez pas besoin dans les prochaines séances, mais elles vous serviront ailleurs.
| Math | code R |
Résultat |
|---|---|---|
| \(\pi\) | pi |
3.141593 |
| \(e\) | exp(1) |
2.718282 |
| \(\ln(x)\) | log(x) |
logarithme naturel |
| \(\log_{10}(1000)\) | log10(1000) |
3 |
| \(10^2\) | 1e2 |
100 |
Note
Attention : il n’y a pas de fonction ln() en R. Le logarithme naturel s’écrit log().
À de rares exceptions près, les espaces autour des commandes ne sont pas pris en compte. Les 3 commandes suivantes sont équivalentes :
La pratique standard est d’utiliser la deuxième écriture, afin d’avoir un code lisible.
Il peut arriver qu’on saisisse une commande incomplète. R remplace alors l’invite > par un + : il attend la suite.
Astuce
Complétez la commande, ou appuyez sur Échap pour tout annuler et revenir à une invite normale.
Nous savons utiliser R comme une calculatrice. Pour une utilisation plus avancée, on peut stocker le résultat d’un calcul dans un objet à l’aide de l’opérateur d’assignation <-.
Cette « flèche » stocke ce qu’il y a à sa droite dans un objet dont le nom est indiqué à sa gauche.
Se lit « prend la valeur 2 et mets-la dans un objet qui s’appelle x ».
On peut réutiliser cet objet dans d’autres opérations : R le remplacera alors par sa valeur.
On peut créer autant d’objets qu’on le souhaite.
Si on assigne une nouvelle valeur à un objet, la valeur précédente est perdue.
Assigner un objet à un autre copie juste la valeur de l’objet de droite dans celui de gauche.
Dans la console :
age contenant votre âge, et un objet prenom contenant votre prénom.annee_naissance calculé à partir de age.Age au lieu de age ?Les valeurs contenues dans les objets peuvent être de différents types.
Jusqu’ici on n’a stocké que des nombres, mais un objet peut aussi contenir une chaîne de caractères (du texte), qu’on délimite avec des guillemets simples ou doubles (' ou ") :
Ou des conditions logiques (TRUE ou FALSE), généralement issues de comparaisons :
On appelle TRUE et FALSE des booléens.
| Opérateur | Résumé | Exemple | Résultat |
|---|---|---|---|
x < y |
x plus petit que y |
3 < 42 |
TRUE |
x > y |
x plus grand que y |
3 > 42 |
FALSE |
x <= y |
x plus petit ou égal à y |
3 <= 42 |
TRUE |
x >= y |
x plus grand ou égal à y |
3 >= 42 |
FALSE |
x == y |
x égal à y |
3 == 42 |
FALSE |
x != y |
x différent de y |
3 != 42 |
TRUE |
!x |
non x |
!(3 > 42) |
TRUE |
x | y |
x ou y |
(3 > 42) | TRUE |
TRUE |
x & y |
x et y |
(3 < 4) & (42 > 13) |
TRUE |
Avertissement
La comparaison s’écrit ==, avec deux signes égal. Un seul = ne compare pas : il assigne. C’est l’erreur la plus fréquente au début, et elle ne provoque pas toujours de message.
Vous les retrouverez dès la séance 2, pour sélectionner des lignes dans un tableau :
Ignorer pour l’instant le sens du pipe |>.
Imaginons qu’on ait demandé la taille en centimètres de cinq personnes et qu’on souhaite calculer leur taille moyenne.
On stocke l’ensemble de ces tailles dans un seul objet, un vecteur :
où c() veut dire « combine les valeurs suivantes dans un vecteur ».
Une opération appliquée à un vecteur s’applique à chacun de ses éléments :
Imaginons qu’on ait aussi demandé aux cinq mêmes personnes leur poids en kilos.
On peut alors calculer l’indice de masse corporelle de chacun, en divisant le poids en kilos par la taille en mètres au carré :
Astuce
Une seule ligne calcule les cinq indices. C’est le principe central de R : on travaille sur des colonnes entières, pas sur des valeurs une par une.
Un vecteur peut contenir du texte :
Mais pas mélanger les types. Si on essaie, R convertit tout :
Avertissement
Remarquez les guillemets autour des nombres : R les a transformés en texte, sans prévenir. Vous ne pourrez plus faire de calcul avec. C’est une source d’erreur classique lors de l’import de données.
L’opérateur : génère un vecteur contenant tous les entiers entre deux valeurs :
On accède à un élément d’un vecteur en faisant suivre son nom de crochets contenant la position voulue.
Si un vecteur contient beaucoup d’éléments, l’affichage est réparti sur plusieurs lignes :
[1] 294 425 339 914 114 896 716 648 915 587 181 926 489
[14] 848 583 182 662 888 417 133 146 322 400 698 506 944
[27] 237 324 333 443 487 658 793 288 897 588 697 439 697
Le nombre entre crochets en début de ligne indique la position du premier élément de la ligne. Ainsi le 848 est le 14e élément du vecteur.
Ceci explique le [1] qui apparaît quand on affiche un simple nombre : pour R, un nombre est un vecteur à un seul élément.
Une fonction a un nom, prend en entrée des arguments entre parenthèses, et renvoie un résultat.
Certaines fonctions prennent plusieurs arguments, qui portent un nom.
[1] NA
[1] 160
NA (Not Available) signale une valeur manquante. La moyenne d’un ensemble contenant une valeur inconnue est inconnue : d’où le premier résultat.
L’argument na.rm = TRUE demande d’écarter ces valeurs avant de calculer.
On obtient l’aide sur une fonction avec ? :
L’aide s’affiche dans le panneau en bas à droite. Elle est technique, mais elle est exacte et toujours disponible.
Astuce
Deux rubriques suffisent au début : Usage, qui donne la liste des arguments, et Examples, tout en bas, que vous pouvez copier dans la console pour voir la fonction à l’œuvre.
Sur le vecteur imc calculé plus haut :
?quantile. Que fait l’argument probs ?R vous parle. Ses messages sont brefs, mais ils désignent presque toujours l’endroit exact du problème.
Erreur : objet 'taille' introuvable
R vous dit qu’il ne connaît aucun objet portant ce nom. Notre vecteur s’appelle tailles, au pluriel.
Erreur : impossible de trouver la fonction "means"
age de Age.Important
Un message d’erreur n’est pas un échec, c’est un diagnostic. Le vrai problème, ce sont les codes qui tournent sans rien dire et donnent un résultat faux – nous en verrons en séance 3.
Jusqu’ici, nous avons tapé les commandes une à une dans la console. Rien n’est conservé : à la fermeture de RStudio, tout est perdu.
Un script est un fichier texte contenant vos commandes. On le crée avec File > New File > R Script. (Fichier > Nouveau Fichier > Script R)
Ctrl + Entrée exécute la ligne courante ou la sélection.# est ignoré par R : c’est un commentaire.Astuce
Commentez ce que vous cherchez à faire, pas ce que fait la ligne. # calcule la moyenne au-dessus de mean(x) n’apprend rien à personne. # on écarte les non-répondants est utile.
À partir d’aujourd’hui, travaillez toujours dans un script, jamais directement dans la console.
Les fonctions supplémentaires sont distribuées sous forme de paquets (packages), diffusés sur un réseau de serveurs nommé CRAN.
On installe un paquet avec install.packages(), une seule fois, comme on installe un programme :
Installer un paquet depuis RStudio
L’installation ne suffit pas : il faut charger le paquet à chaque nouvelle session, avec library().
On regroupe donc en début de script tous les appels à library :
Avertissement
Si vous obtenez impossible de trouver la fonction, c’est presque toujours qu’un library() manque en haut du script.
swirl est un paquet qui vous fait pratiquer R de manière interactive, directement dans la console.
Indiquons-lui que nous souhaitons travailler en français :
Le cours est disponible sur GitHub, à l’adresse https://github.com/EliasBcd/InitiationR. On l’installe directement depuis R :
Pour aujourd’hui : Manipulations_simples, Types, Vecteurs, Fonctions, Messages d’erreurs puis Logique.
À la fin d’une leçon, swirl vous propose de soumettre votre progression.
Répondez « Oui » : R ouvre votre navigateur sur la page Moodle où déposer le fichier .txt de la leçon.
Note
C’est ce dépôt qui valide votre travail. Faites-le à chaque leçon terminée.
En cas de problème :
Note
En option, pour pratiquer davantage : la leçon facultative Exercice_1 reprend vecteurs et fonctions de base. Voir LECONS_OPTIONNELLES.md.
Séance prochaine : nous abandonnons les vecteurs saisis à la main pour de vraies données d’enquête.
Pour aller plus loin, ou revoir une notion à votre rythme :
Note
Rien à lire pour la prochaine séance. Seules les leçons swirl sont attendues entre deux séances.