R pour la statistique et la science des données (F. Husson, Ed Pur, 1980)

Un CV transparent et interactif

Description

Ce livre présente  langage R (un héritier du langage S (1980) qui avec le python est l’autre langage de programmation de l’IA actuel).

Ce livre s’articule en deux grandes parties: la première est centrée sur le fonctionnement du logiciel R tandis que la seconde met en oeuvre une trentaine de méthodes statistiques au travers de fiches. Ces fiches sont chacune basées sur un exemple concret et balayent un large spectre de techniques pour traiter des données.
Ce livre s’adresse aux débutants comme aux utilisateurs réguliers de R. Il leur permettra de réaliser rapidement des graphiques et des traitements statistiques simples ou élaborés.

En plus tous les codes et jeu de données sont disponibles et le tout pour un  prix modique (25€) aux éditions pur

 

 

Auteurs

Dirigé par François Husson :

  • Pierre-André Cornillon, Université Rennes 2
  • Arnaud Guyader, Sorbonne Université
  • François Husson, Agrocampus-Ouest
  • Nicolas Jégou, Université Rennes 2
  • Julie Josse, École polytechnique
  • Nicolas Klutchnikoff, Université Rennes 2
  • Erwan Le Pennec, École polytechnique
  • Eric Matzner-Løber, Cepe ENSAE
  • Laurent Rouvière, Université Rennes 2
  • Benoît Thieurmel, Datastorm

Lien

R pour la statistique et la science des données 

Table des matières

I R et son fonctionnement 1
1 Concepts 3
1.1 Installation de R et RStudio . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Introduction à RMarkdown . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Création d’un document RMarkdown . . . . . . . . . . . . . 6
1.3.2 Bases du langage . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3 Insertion du code R . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Les différentes aides . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Les objets R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5.1 Création, affichage, suppression . . . . . . . . . . . . . . . . 9
1.5.2 Le mode d’un objet . . . . . . . . . . . . . . . . . . . . . . 10
1.5.3 La valeur manquante . . . . . . . . . . . . . . . . . . . . . . 11
1.5.4 Les vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.5 Les matrices . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.6 Les facteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.7 Les listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.5.8 Les data-frames . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.5.9 La classe d’un objet . . . . . . . . . . . . . . . . . . . . . . 26
1.6 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.7 Les packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.7.1 Installation d’un package . . . . . . . . . . . . . . . . . . . 29
1.7.2 Utilisation d’un package . . . . . . . . . . . . . . . . . . . . 29
1.7.3 Mise à jour des packages et de R . . . . . . . . . . . . . . . 30
1.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2 Manipuler les données 35
2.1 Importer des données . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.1 Importation d’un fichier texte . . . . . . . . . . . . . . . . . 35
2.1.2 Importation de données textes volumineuses . . . . . . . . . 37
2.1.3 Importation d’autres formats de données . . . . . . . . . . . 38
2.1.4 Importation via le menu de RStudio . . . . . . . . . . . . . 38
2.2 Exporter des résultats . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3 Manipuler les variables . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3.1 Changer de type . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3.2 Découpage en classes . . . . . . . . . . . . . . . . . . . . . . 41
2.3.3 Travail sur le niveau des facteurs . . . . . . . . . . . . . . . 42
2.4 Manipuler les individus . . . . . . . . . . . . . . . . . . . . . . . . 45
2.4.1 Repérer les données manquantes . . . . . . . . . . . . . . . 45
2.4.2 Repérer les individus aberrants univariés . . . . . . . . . . . 47
2.4.3 Repérer et/ou éliminer des doublons . . . . . . . . . . . . . 48
2.5 Concaténer des tableaux de données . . . . . . . . . . . . . . . . . 49
2.6 Tableau croisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3 Visualiser les données 57
3.1 Les fonctions graphiques conventionnelles . . . . . . . . . . . . . . 57
3.1.1 La fonction plot . . . . . . . . . . . . . . . . . . . . . . . . 58
3.1.2 Représentation d’une distribution . . . . . . . . . . . . . . . 62
3.1.3 Ajouts aux graphiques . . . . . . . . . . . . . . . . . . . . . 64
3.1.4 Graphiques en plusieurs dimensions . . . . . . . . . . . . . 66
3.1.5 Exportation de graphiques . . . . . . . . . . . . . . . . . . . 68
3.1.6 Plusieurs graphiques . . . . . . . . . . . . . . . . . . . . . . 69
3.1.7 Amélioration et personnalisation des graphiques . . . . . . 71
3.2 Les fonctions graphiques avec ggplot2 . . . . . . . . . . . . . . . . . 74
3.2.1 Premiers graphes avec ggplot2 . . . . . . . . . . . . . . . . . 75
3.2.2 La grammaire ggplot . . . . . . . . . . . . . . . . . . . . . . 76
3.2.3 Group et facets . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.2.4 Compléments . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.3 Les graphiques interactifs . . . . . . . . . . . . . . . . . . . . . . . 88
3.4 Construire des cartes . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.4.1 Carte statique dans R . . . . . . . . . . . . . . . . . . . . . 90
3.4.2 Carte dans un navigateur . . . . . . . . . . . . . . . . . . . 93
3.4.3 Carte avec contours : le format shapefile . . . . . . . . . . . 97
3.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4 Programmer 109
4.1 Structures de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.1.1 Commandes groupées . . . . . . . . . . . . . . . . . . . . . 109
4.1.2 Les boucles (for ou while) . . . . . . . . . . . . . . . . . . . 109
4.1.3 Les conditions (if, else) . . . . . . . . . . . . . . . . . . . . 111
4.2 Construire une fonction . . . . . . . . . . . . . . . . . . . . . . . . 112
4.3 La famille apply, des fonctions d’itération prédéfinies . . . . . . . . 114
4.4 Calcul parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
iv
4.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.4.2 Le package parallel . . . . . . . . . . . . . . . . . . . . . . . 122
4.4.3 Le package foreach . . . . . . . . . . . . . . . . . . . . . . . 124
4.4.4 Exemple avancé . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.5 Faire une application shiny . . . . . . . . . . . . . . . . . . . . . . 128
4.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5 Outils avancés pour la préparation des données 139
5.1 Le package data.table . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.1.1 Importation avec fread . . . . . . . . . . . . . . . . . . . . . 140
5.1.2 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.1.3 Sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.1.4 Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.1.5 Pour aller plus loin . . . . . . . . . . . . . . . . . . . . . . . 149
5.2 Le package dplyr et le tidyverse . . . . . . . . . . . . . . . . . . . . 151
5.2.1 Le package dplyr . . . . . . . . . . . . . . . . . . . . . . . . 151
5.2.2 Manipulation de tables . . . . . . . . . . . . . . . . . . . . . 155
5.2.3 Pour aller plus loin . . . . . . . . . . . . . . . . . . . . . . . 158
5.3 Bases de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
5.3.1 SQL : Structured Query Language . . . . . . . . . . . . . . 162
5.3.2 JSON : JavaScript Object Notation . . . . . . . . . . . . . 171
5.4 Web scraping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.4.2 Approche naïve . . . . . . . . . . . . . . . . . . . . . . . . . 181
5.4.3 Le package rvest . . . . . . . . . . . . . . . . . . . . . . . . 182
5.4.4 Pour aller plus loin . . . . . . . . . . . . . . . . . . . . . . . 187
5.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
II Fiches thématiques 193
6 Intervalles de confiance et tests d’hypothèses 195
6.1 Intervalle de confiance d’une moyenne . . . . . . . . . . . . . . . . 196
6.2 Test du χ
2 d’indépendance . . . . . . . . . . . . . . . . . . . . . . 199
6.3 Comparaison de deux moyennes . . . . . . . . . . . . . . . . . . . . 204
6.4 Tests sur les proportions . . . . . . . . . . . . . . . . . . . . . . . . 210
7 Analyses factorielles 213
7.1 Analyse en Composantes Principales . . . . . . . . . . . . . . . . . 214
7.2 Analyse Factorielle des Correspondances . . . . . . . . . . . . . . . 223
7.3 Analyse des Correspondances Multiples . . . . . . . . . . . . . . . 228
7.4 Analyse Factorielle Multiple . . . . . . . . . . . . . . . . . . . . . . 237
v
8 Classification non supervisée 243
8.1 Classification Ascendante Hiérarchique . . . . . . . . . . . . . . . . 244
8.2 Méthode des K-means . . . . . . . . . . . . . . . . . . . . . . . . 252
8.3 Modèles de mélange . . . . . . . . . . . . . . . . . . . . . . . . . . 256
9 Méthodes usuelles de régression 263
9.1 Régression simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
9.2 Régression multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
9.3 Analyse de la variance . . . . . . . . . . . . . . . . . . . . . . . . . 276
9.4 Analyse de la covariance . . . . . . . . . . . . . . . . . . . . . . . . 282
9.5 Régression logistique . . . . . . . . . . . . . . . . . . . . . . . . . . 287
9.6 Analyse discriminante linéaire . . . . . . . . . . . . . . . . . . . . . 294
9.7 Arbres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
9.8 Régression Partial Least Square (PLS) . . . . . . . . . . . . . . . . 312
10 Machine learning 321
10.1 Calibration d’un algorithme avec caret . . . . . . . . . . . . . . . . 323
10.2 Forêts aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
10.3 Régression sous contraintes . . . . . . . . . . . . . . . . . . . . . . 340
10.4 Gradient boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.5 SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
10.6 Réseaux de neurones et deep learning . . . . . . . . . . . . . . . . 362
10.7 Comparaison de méthodes . . . . . . . . . . . . . . . . . . . . . . . 369
11 Divers 373
11.1 Gestion de données manquantes . . . . . . . . . . . . . . . . . . . . 374
11.2 Analyse de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
11.3 Fouille de graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Annexes 401
A.1 Écriture d’une formule pour les modèles . . . . . . . . . . . . . . . 401
A.2 Environnement RStudio . . . . . . . . . . . . . . . . . . . . . . . . 402
A.3 Le package Rcmdr . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Bibliographie 405
Index des fonctions 407
Index 410