0% ont trouvé ce document utile (0 vote)
53 vues57 pages

Cours DM Afef Kacem Math Séance1

Transféré par

sawsen farhani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
53 vues57 pages

Cours DM Afef Kacem Math Séance1

Transféré par

sawsen farhani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

18/09/2025

DATA MINING
FOUILLE DE DONNEES

Cours élaboré par:


Dr. Afef KACEM ECHI
Professeure des universités en Informatique
[email protected]

Dernière révision: Septembre 2025

DESCRIPTION
2

 Responsable : Dr. Afef Kacem Echi


 Formation : Mastère 2 de recherche en Datascience à l’ENSIT (Semestre 1)
 Filière: Mathématique
 Titre du cours: Datamining
 Méthodes pédagogiques :
 Cours magistral
 Travaux dirigés et pratiques
 Volume horaire: 42 heures (Cours, TDs et TPs)
 Coefficient : 1.5
 Régime d’examen: mixte
 Prérequis:
 Algèbre linéaire, telles que manipulation de vecteurs, multiplication de matrices,
 Probabilités et statistiques, telles que distribution de loi de probabilité et variance.

1
18/09/2025

FONCTIONNEMENT
3

 Chaque semaine
 Un cours et des travaux dirigés et pratiques
 Au cours du semestre
 Un mini-projet (mise en application en R de notions du
cours pour résoudre un problème)
 En fin de semestre
 Evaluation du mini-projet
 Rendre un rapport et une implémentation
 Evaluation des connaissances
 Sans documents
 Novembre: Devoir surveillé d’1h30
 Décembre: Examen de 2h00
 Note finale: (DS + mini-projet + 2*Examen)/4

Dr. A. Kacem Echi

OBJECTIFS PÉDAGOGIQUES
4

• Vous avez un important volume de données ? Il est important de savoir


les synthétiser ! Il ne suffit pas de stocker une multitude de données au
sein d'une base spécialisée, Data Warehouse* ou Big Data, encore faut-
il les exploiter.
• C'est là le rôle du Data Mining qui, bien utilisé, saura tirer des
informations utiles contenus dans cette masse de données bien trop
importante.

* Un DW est une BD relationnelle hébergée sur un serveur dans un Data Center ou dans le Cloud. Il recueille des données de sources
variées et hétérogènes dans le but principal de soutenir l'analyse et faciliter le processus de prise de décision

Dr. A. Kacem Echi

2
18/09/2025

OBJECTIFS PÉDAGOGIQUES
5

 Dans ce cours, vous apprendrez à :


 Effectuer une analyse exploratoire multidimensionnelle de données.
 Appréhender les espaces vectoriels euclidiens
 Utiliser des méthodes populaires pour analyser rapidement votre
échantillon en réduisant la dimension du nombre d'individus ou de
variables.
 Réaliser la classification de données
 présenter les enjeux de la classification non-supervisée et de la
classification supervisée.

Dr. A. Kacem Echi

PRÉÉREQUIS & OUTILS


6
Prérequis
 Connaître le vocabulaire de base et savoir représenter un échantillon ;
 les différents types de variables ;
 la notion de distribution (et comment la représenter) ;
 la notion de corrélation et plus précisément de corrélation linéaire.
 Être familier avec la notion de vecteur (écriture, représentation
graphique), de droite, d'axe.
Outils nécessaires
 Éditeur de code
 Langage R dans le cadre de la Data Science.

Dr. A. Kacem Echi

3
18/09/2025

RÉFÉRENCES
7

 Christophe Chesneau , « Eléments de classification », Université de Caen,


http://www.math.unicaen.fr/~chesneau/classif-cours.pdf
 Ph. Preux, « Fouille de données: notes de cours », Université de Lille 3, 2011.
 Maurice ROUX Professeur émérite, Algorithmes de classification, Université Paul
Cézanne Marseille, France.
 Lebart, L., Morineau, A., Piron M, Analyse exploratoire multidimensionnelle, Dunod,
Paris, 2000.
 http://www.fil.univ-lille1.fr/~decomite/ue/APE/tp/tp1/weka2009.pdf
 Stéphane Tufféry, «DATA MINING & STATISTIQUE DÉCISIONNELLE», Éditions
Technip, 2005, 2de édition 2007, préface de Gilbert Saporta
 https://fr.slideshare.net/doniahammami/techniques-du-data-mining
 https://blog.ysance.com/algorithme-n4-la-regression-lineaire-pour-comprendre-
les-grands-principes-du-machine-learning
 TP: regression linéaire/Arbre de décision : https://rstudio-pubs-
static.s3.amazonaws.com/359526_e8e5f10ba4ad453ea33c3e3aacbd5784.html#cont
exte-de-letude
 TP KNN https://audeg.github.io/teaching/TPApprentissage2.pdf

Dr. A. Kacem Echi

PLAN DU COURS
8

 Chapitre 1: Introduction au DM
 Chapitre 2: Initiation au langage R pour le DM
 Chapitre 3: Préparation de données dans R
 Chapitre 4: Classification de données
 Chapitre 5: Classification non supervisée ou Clustering
 Chapitre 6: Classification supervisée

Dr. A. Kacem Echi

4
18/09/2025

Introduction au DM
9

CHAPITRE 1

1. Qu’est-ce que le DM ?
2. A quoi sert le DM ?
3. Quelles sont les principales tâches?
4. Comment ça marche?
5. Quels sont les principales méthodes ?
6. Comment représenter les données ?
Avec évaluation des compétences

Dr. A. Kacem Echi

1. Qu’est-ce que le Data Mining?


10

 Data Mining traduit en fouille / exploration / forage /prospection de


données.
 Egalement surnommé Knowledge Discovery in Data (KDD) ou
encore Extraction de Connaissances à partir de Données (ECD).

Dr. A. Kacem Echi Processus de découverte de connaissances

10

5
18/09/2025

1. Qu’est-ce que le Data Mining?


11

 Lors de toute étude statistique, il est nécessaire de décrire et explorer les


données avant d’en tirer de lois et de modèles prédictifs.

 Dans beaucoup de situations, les données sont trop nombreuses pour


pouvoir être visualisables (nombre de caractéristiques trop élevées).

 Il ne suffit pas de « posséder » ou stocker une multitude de données encore


faut-il les exploiter.
 Il est alors nécessaire d’extraire l’information pertinente qu’elles
contiennent. C'est là le rôle du DM qui saura tirer des informations utiles
contenus dans cette masse de données bien trop importante.

 DM a pour objet l’extraction d'un savoir ou d'une connaissance à partir


de grandes quantités de données par des méthodes automatiques ou
semi-automatiques, celle qui sera déterminante pour une prise de
décision efficace.

Dr. A. Kacem Echi

11

1. Qu’est-ce que le Data Mining?


12

• Consiste à rechercher et extraire de l’information (utile et inconnue) de gros


volumes de données stockées dans des bases ou des entrepôts de données
(Data Warehouses).
• Les données sont collectées de sources multiples souvent hétérogènes.
Dr. A. Kacem Echi

12

6
18/09/2025

1. Qu’est-ce que le Data Mining?


Donnée – Information - Connaissance
13

Dr. A. Kacem Echi

13

1. Qu’est-ce que le Data Mining?


Donnée – Information - Connaissance
14

 Donnée
 Notion abstraite typée (numériques, symboliques, textuelles, logiques,…)
 La donnée ne porte pas de sens en elle-même
 Exemple de donnée brute: 1008

 Information
 Notion abstraite, mais d’un niveau d’abstraction supérieur à celui de la donnée
 Information=Donnée + un sens
 Exemple : la donnée 1008 est un code postal.
 Connaissance
 Notion abstraite, d’un niveau d’abstraction supérieur à celui de l’information.
 La connaissance à la différence de l’information est partagée et s’appuie sur un
référentiel collectif.
 Exemple : Si je vous communique le code postal 1008, je n’ai pas besoin de vous
expliquer ce dont il s’agit, vous disposez d’un référentiel pour interpréter ce code,
pour savoir que ca concerne Bab Mnera – La Medina, Tunis. Le code postal
s’apparente à une connaissance largement partagée en Tunis.

Dr. A. Kacem Echi

14

7
18/09/2025

1. Qu’est-ce que le Data Mining?


Donnée – Information - Connaissance
15

 Les associations et relations entre les données permettent


d’obtenir des informations.
 Exemple: l’analyse des données de transaction d’un point de vente permet de
recueillir des informations sur les produits qui se vendent, et à quel moment ont
lieu ces ventes.

Dr. A. Kacem Echi

15

1. Qu’est-ce que le Data Mining?


Donnée – Information - Connaissance
16

 Les informations peuvent être converties en connaissances à


propos de patterns historiques ou des tendances futures.
 Exemple: l’information sur les ventes au détail d’un supermarché peut être
analysée dans le cadre d’efforts promotionnels, pour acquérir un savoir au sujet
des comportements d’acheteurs. Ainsi, un producteur peut déterminer quels
produits doivent faire l’objet d’une promotion à l’aide du DM.

Dr. A. Kacem Echi

16

8
18/09/2025

2. A quoi sert le DM ?
17

• DM : Ensemble de méthodes
o destinées à l’exploration et l’analyse de grandes bases de données
informatiques
o en vue de détecter dans ces données des règles, des associations,
des structures particulières restituant de façon concise l’essentiel
de l’information utile
o pour l’aide à la décision.

• Ces informations peuvent ensuite être utilisées par les entreprises pour
o augmenter un chiffre d’affaires,
o réduire des coûts.
o mieux comprendre une clientèle afin d’établir de meilleures
stratégies marketing.

Dr. A. Kacem Echi

17

3.
2. A quoi sert le DM ?
Plus précisément
18

 Nous souhaitons étudier une population composée d’individus.


 Ces individus ne sont pas forcément des personnes, mais
peuvent être des objets, des animaux, des relevés effectués par
des capteurs (relevés de température, par exemple), ou beaucoup
d’autres choses !

 Souvent, une population est difficile à étudier dans sa globalité


(surtout quand elle contient un grand nombre d’individus et qu’il
est impossible de tous les observer).
 Pour cela, on extrait un échantillon de la population, c’est-à-dire que
l’on sélectionne certains individus pour les étudier précisément.

 Étudier un individu, c’est observer ses caractéristiques : chaque


caractéristique est décrite par une variable.

Dr. A. Kacem Echi

18

9
18/09/2025

2. A quoi sert le DM ?
Plus précisément
19
 Ainsi, il est possible de stocker nos observations dans un tableau dans
lequel chaque ligne représente un individu, et chaque colonne
représente une variable.
 Exemple: étudier des relevés bancaires
 Chaque individu (en ligne) est une opération bancaire, et chaque
variable (en colonne) est une caractéristique de l’opération (comme
sa date, son libellé, son montant, etc.) :

Dr. A. Kacem Echi

19

2. A quoi sert le DM ?
20
 Prédiction de l’attrition dans la téléphonie mobile
 attrition = départ d’un client pour un concurrent
 Analyse du ticket de caisse dans les grandes surfaces
 pour déterminer les produits souvent achetés simultanément,
 agencer les rayons
 et organiser les promotions en conséquence
 Organisme de crédit pour décider
 d’accorder ou non un crédit en fonction du profil du demandeur de crédit, de sa demande et
des expériences passées de prêts,
 Optimisation
 du nombre de places dans les avions, hôtels,
 Diagnostic médical
 «les patients ayant tels symptômes et demeurant dans des agglomérations de plus de 104
habitants développent couramment telle pathologie »
 Moteur de recherche sur internet
o fouille du Web ou Webmining.
 …

Dr. A. Kacem Echi

20

10
18/09/2025

3. Quelles sont les principales tâches?


21
 On dispose de données structurées : les objets sont représentés par des enregistrements (ou
descriptions) qui sont constitués d’un ensemble de champs (ou variables ou attributs ou
caractéristiques) prenant leurs valeurs dans un domaine.

Segmentat
ion
Règles
Prédictio
d’associati
n on
Estimati
on

Classificati
on
Dr. A. Kacem Echi

21

3. Quelles sont les principales tâches?


22

 La segmentation
 Former des groupes (clusters) homogènes à l'intérieur d'une population.
 Tâche souvent effectuée avant les précédentes pour construire des
groupes sur lesquels on applique des tâches de classification ou
d'estimation.

 La classification
 Examiner les attributs d'une donnée et lui attribuer une classe
 La classe est un attribut particulier à valeurs discrètes.
 Attribuer ou non un prêt à un client, établir un diagnostic, accepter ou
refuser un retrait dans un distributeur, attribuer un sujet principal à un
article de presse, etc.

Dr. A. Kacem Echi

22

11
18/09/2025

3. Quelles sont les principales tâches?


23

 La prédiction
 Estimer une valeur future. En général, les valeurs connues sont historiées.
On cherche à prédire la valeur future d'un attribut.
 Prédire, au vu de leurs actions passées, les départs de clients.

 L'estimation
 Estimer la valeur d'un attribut manquant.
 L’attribut à estimer est à valeurs continues.
 Estimer les revenues d’un client.
 Estimer les risques.

Dr. A. Kacem Echi

23

3. Quelles sont les principales tâches?


24

 Les règles d'association (analyse du panier de la ménagère)


 Déterminer les valeurs qui sont associées.
 Déterminer les articles (la baguette et le fromage, le lait et le pain...) qui se
retrouvent ensemble sur un même ticket de supermarché.
 Vous pouvez chercher à connaître les ouvrages susceptibles d'intéresser
les clients qui ont déjà acheté un livre particulier. Vous serez alors en
mesure d'exploiter rapidement cette information et de proposer ces autres
titres à vos clients, en utilisant des règles du type "les clients qui ont
acheté le titre A ont également acheté le titre B" et ainsi que suite.
 Cette tâche peut être effectuée pour identifier des opportunités de vente
croisée et concevoir des groupements attractifs de produit.

Dr. A. Kacem Echi

24

12
18/09/2025

4. Comment ça marche ?
25

 Processus: comprend plusieurs étapes :


1. Collecte des données et leur organisation dans une base de données,
2. Nettoyage de la base de données: attributs sans valeur (informations
manquantes), ayant une valeur invalide (aberrante), doublons, erreurs de
saisie, etc.
3. Sélection des attributs utiles (échantillonnage, réduction de
dimensionnalité),
4. Explicitation de l’objectif de l’analyse en terme statistique (classification,
prédiction,… )
5. Choix de la méthode et mise en œuvre informatique
6. Test (validation de la qualité des résultats)
7. Exploitation

Dr. A. Kacem Echi

25

4. Comment ça marche?
Méthodologies de gestion de projets
26

 Le fait de suivre une méthodologie bien définie permet à un


projet de
 fournir de meilleures évaluations,
 livrer des systèmes fiables,
 tenir le client au courant,
 créer une compréhension claire de la tâche à accomplir
 identifier les obstacles plus en avance, ce qui laisse suffisamment de
temps pour faire des ajustements.

Dr. A. Kacem Echi

26

13
18/09/2025

4. Comment ça marche?
Méthodologie KDD
27
 Découverte de connaissances dans les bases de données
(Knowledge Discovery in Databases : KDD)

Dr. A. Kacem Echi

27

4. Comment ça marche?
Méthodologie KDD
28

 Sélection : Création d'un ensemble de données cible, ou d'un sous-


ensemble d'échantillons, sur lequel la découverte doit être effectuée.
 Pré-traitement : Activités de nettoyage et de prétraitement des données
visant à fournir des données consistantes.
 Transformation : réduction de la dimension, sélection de
caractéristiques, etc.
 Data Mining : Recherche de modèles significatifs sous une forme
particulière, en fonction de l'objectif de l'exploration de données (par
exemple, la prédiction).
 Evaluation : Interprétation et évaluation des résultats de l'exploration.

Dr. A. Kacem Echi

28

14
18/09/2025

4. Comment ça marche?
Méthodologie SEMMA
29

 SEMMA (Sample, Explore, Modify, Model, Assess)

Dr. A. Kacem Echi

29

4. Comment ça marche?
Méthodologie SEMMA
30

 Sample : Echantillonner les données en prélevant une partie d'un grand


jeu de données, suffisamment importante pour contenir les
informations pertinentes, mais suffisamment petite pour être
manipulable.
 Explore : Explorer les données en recherchant des anomalies et des
comportement inattendues afin d'en tirer des conclusions.
 Modify : Modifier les données en créant, sélectionnant et transformant
les variables afin de cibler le processus de sélection du modèle.
 Model : Modéliser c’est rechercher automatiquement une combinaison
de données qui prédit de manière fiable le résultat souhaité.
 Assess : Evaluer ou pour apprécier l'utilité et la fiabilité des résultats du
processus d'extraction de données et estimer ses performances.

Dr. A. Kacem Echi

30

15
18/09/2025

4. Comment ça marche?
Méthodologie CRISP-DM
31

 CRISP-DM: Cross-Industry Standard Process for DM, initialement


conçu par IBM dans les années 1960 pour guider des projets DM.
 Elle reste aujourd’hui la seule méthode utilisable efficacement pour tous les projets Data
Science.
 Une démarche agile et itérative

Dr. A. Kacem Echi

31

4. Comment ça marche?
Méthodologie CRISP-DM
32

• Compréhension du problème métier :


• bien comprendre les éléments métiers et problématiques que la Data Science
vise à résoudre ou à améliorer.

• Compréhension des données :


• déterminer précisément les données à analyser,
• à identifier la qualité des données disponibles et
• à faire le lien entre les données et leur signification d’un point de vue métier.

• Construction du Data Hub ou préparation des données :


• regroupe les activités liées à la construction de l’ensemble précis des données
à analyser, faite à partir des données brutes.
• Elle inclut le nettoyage des données, et leur recodage pour les rendre
compatibles avec les algorithmes qui seront utilisés.

Dr. A. Kacem Echi

32

16
18/09/2025

4. Comment ça marche?
Méthodologie CRISP-DM
33
 Modélisation :
 phase de Data Science proprement dite.
 Elle comprend le choix, le paramétrage et le test de différents algorithmes ainsi
que leur enchaînement, qui constitue un modèle.
 Evaluation :
 tester la robustesse et la précision des modèles obtenus.
 vérifier le(s) modèle(s) afin de s’assurer qu’ils répondent aux objectifs formulés
au début du processus.
 Elle contribue aussi à la décision de déploiement du modèle ou, si besoin est, à
son amélioration.
 Déploiement :
 mise en production pour les utilisateurs finaux des modèles obtenus.
 Son objectif peut aller de la simple génération d’un rapport décrivant les
connaissances obtenues jusqu’à la mise en place d’une application, permettant
l’utilisation du modèle obtenu, pour la prédiction de valeurs inconnues d’un
élément d’intérêt.
Dr. A. Kacem Echi

33

5. Quelles sont les méthodes?


34
 Pour tout jeu de données et un problème spécifique, il existe plusieurs
méthodes que l’on choisira en fonction de :
 La tâche à résoudre (classification, estimation,…),
 La nature et de la disponibilité des données,
 L’ensemble des connaissances et des compétences disponibles,
 La finalité du modèle construit.

Dr. A. Kacem Echi

34

17
18/09/2025

5. Quelles sont les méthodes?


35

 Méthodes descriptives  Méthodes prédictives


 visent à mettre en évidence des  visent à extrapoler de
informations présentes mais nouvelles informations à
cachées par le volume des données partir des informations
 cas de segmentation de clientèle et présentes
recherche d’associations de  cas d’estimation de risque crédit
produits sur les tickets de caisse. (scoring)
 réduisent, résument, synthétisent  expliquent les données
les données  il y a une variable « cible » à
 il n’y a pas de variable « cible » à prédire.
prédire.

Dr. A. Kacem Echi

35

5. Quelles sont les méthodes?


36

Dr. A. Kacem Echi

36

18
18/09/2025

5. Quelles sont les méthodes?


37

 Méthodes descriptives  Méthodes prédictives


 Analyse factorielle  Classement/Discrimination
(projection sur un espace de (variable « cible » qualitative)
dimension inférieures)  Analyse discriminante / régression
logistique
 ACP
 Arbres de décision (modèles à base de
 Classification automatique règles logiques)
(clustering)  Réseaux de neurones (modèles à base
de fonctions mathématiques)
 K-means
 K-plus proches voisins (prédiction
 Recherche d’associations sans modèle)
(analyse du ticket de caisse)  Prédiction
(variable « cible » quantitative)
 Régression linéaire (simple et
multiple)
 Arbres de décision
 Réseaux de neurones

Dr. A. Kacem Echi

37

5. Quelles sont les méthodes?


En quoi sont-elles intéressantes ?
38
 Un intérêt commun : simplifier les données pour faciliter ensuite leur
analyse en trouvant des stratagèmes pour réduire les dimensions d'un tableau
de données (en lignes et en colonnes).
 Si votre échantillon est représenté par un tableau à 100 000 lignes et 1 000 colonnes, c'est un
peu difficile à analyser !
 L'ACP permet de réduire le nombre de variables en trouvant de
nouvelles variables qui en synthétisent plusieurs.
 Trouver une variable synthétique permet de remplacer plusieurs colonnes du
tableau par une seule.
 Mais, cette transformation nous fera perdre un peu d'information.
 Le clustering se chargera de regrouper des individus similaires, il va
partitionner l'ensemble des individus.
 Regrouper des individus est ici synonyme de regrouper des lignes.

 Parfois, il est possible de regrouper 100 000 lignes en 3 groupes assez


homogènes pour n'étudier finalement que le profil général de chacun de ces 3
groupes, c'est-à-dire 3 lignes !
Dr. A. Kacem Echi

38

19
18/09/2025

5. Quelles sont les méthodes?


En quoi sont-elles intéressantes ?
39

 Au-delà de la réduction des dimensions du tableau de


données, ces méthodes ont d'autres intérêts :
 L'ACP, permet d'étudier :
 la variabilité entre les individus, c'est-à-dire quelles sont les
différences et les ressemblances entre les individus ;
 les liaisons entre les variables : y a-t-il des groupes de variables
très corrélées entre elles qui peuvent être regroupées en de
nouvelles variables synthétiques ?
 Le clustering a de multiples applications :
 En marketing pour segmenter une base de données de clients. Le
fait de former des "groupes" de clients et d'étudier leurs
caractéristiques (en termes d'âge, de centres d'intérêt, etc.)
permet aux marketeurs de cibler leurs campagnes de marketing.

Dr. A. Kacem Echi

39

6. Comment représenter les données ?


Définition de variable
40

 Une variable statistique décrit une caractéristique pour les


différents individus pour lesquels elle les définit.
L’ensemble de ces individus constituent une population.
 On distingue 2 types de variables :
 Quantitatives,
 décrivent des quantités,
 de nature numérique (mesurables)

 Qualitatives
 décriventdes qualités
 De nature symbolique (non mesurables)

Dr. A. Kacem Echi

40

20
18/09/2025

6. Comment représenter les données ?


Types de variables
41

Dr. A. Kacem Echi

41

42

Evaluation des
compétences
Chapitre 1:

Introduction au DM

Dr. A. Kacem Echi

42

21
18/09/2025

Evaluation de compétences
43
 Pouvez-vous distinguer les variables ? celles qualitatives et quantitatives
discrètes ou continues?

Dr. A. Kacem Echi

43

6. Comment représenter les données ?


La notion d’espace euclidien
44
 Supposons un échantillon décrit
par 2 variables quantitatives.
 Peu importe ce qu'elles
représentent, nous les appellerons
donc simplement x et y.
 Sur ce graphique de dispersion,
on représente les individus par
des points ayant chacun 2
coordonnées : une abscisse et
une ordonnée.
 On dit donc ici que les données
sont représentées dans un espace
à 2D, car pour placer les points,
on a sélectionné 2 des variables
qui décrivent les individus.
 En quelque sorte, on a associé la
notion de variable à celle de
dimension.

Dr. A. Kacem Echi

44

22
18/09/2025

6. Comment représenter les données ?


Point/Vecteur
45

 Dans ce graphique de dispersion un point A (un individu) est représenté


par un vecteur à deux coordonnées (abscisse x et ordonnée y), on le note :

 En général, si un individu X est décrit par n variables, alors on peut le


représenter par un vecteur à n dimensions.

où x1 , x2 … xn sont appelées les composantes du vecteur X.

Dr. A. Kacem Echi

45

6. Comment représenter les données ?


Espace vectoriel / euclidien
46

 Nous travaillons dans un


espace vectoriel
 avec un nombre fini de
dimensions (2, 4, 100, 1
000 ou beaucoup plus), où
chaque individu est
représenté par un vecteur,
 ce vecteur ayant autant de
dimensions que l’espace
vectoriel en question.

Dr. A. Kacem Echi

46

23
18/09/2025

47

Evaluation des
compétences
Chapitre 1:

Introduction au DM

Dr. A. Kacem Echi

47

Evaluation des compétences


48

 Pour représenter les 3 individus donnés (en ligne) de l'échantillon


donné sur cette image, la solution la plus logique (dans le cadre de ce
cours) sera une représentation par :

Dr. A. Kacem Echi

48

24
18/09/2025

6. Comment représenter les données ?


Espace vectoriel / euclidien
49

 Si on rajoute la contrainte que chaque composante d’un


vecteur doit être un nombre réel, et que l’on associe à cet
espace vectoriel un produit scalaire, alors on dit que l’on
travaille dans un espace euclidien.
 Un produit scalaire est une opération algébrique entre 2
vecteurs. Dans notre cas, cette opération associe à 2
vecteurs un nombre réel.
 On va souvent utiliser le produit scalaire pour calculer des distances, des
longueurs, des angles.

Dr. A. Kacem Echi

49

6. Comment représenter les données ?


La notion de distance
50
 Si je vous demande la distance
entre 2 points A et B sur un
graphique à 2 dimensions
comme celui ci-dessous,
qu’allez-vous faire ?
 chercher une règle graduée pour
mesurer,
 calculer la distance à partir des
coordonnées des 2 points.
 Mais, dans les 2 cas, vous
obtiendrez tous le même résultat
(ici, 2 , soit environ 1.41).
 Ce que vous avez mesuré
instinctivement s’appelle la
distance euclidienne.

Dr. A. Kacem Echi

50

25
18/09/2025

6. Comment représenter les données ?


Distance euclidienne/ Manhattan
51
 Quand dans une ville, vous demandez à quelle distance se trouve un
bâtiment donné, on vous répondra soit avec une distance « à vol
d’oiseau», soit avec une distance en suivant les rues (car vous ne pouvez
pas voler, je pense).
 En mathématiques, c’est un peu le même principe : il y a plusieurs types
de distances. Pour reprendre l’exemple de la ville, sachez qu’il existe par
exemple la distance de Manhattan.

Dr. A. Kacem Echi

51

6. Comment représenter les données ?


Distance de Manhattan
52

 La distance de Manhattan (appelée aussi taxi-distance) est la distance


entre deux points parcourus par un taxi lorsqu'il se déplace dans une
ville où les rues sont agencées selon un réseau ou quadrillage.
 Un taxi-chemin est le trajet fait par un taxi lorsqu'il se déplace d'un
nœud du réseau à un autre en utilisant les déplacements horizontaux et
verticaux du réseau.

Dr. A. Kacem Echi

52

26
18/09/2025

6. Comment représenter les données ?


Distance de Manhattan
53

 Sur le graphique précédent, on calcule la distance de Manhattan en se


déplaçant d’abord parallèlement à l’axe des abscisses (on trouve donc
1), puis en se déplaçant parallèlement à l’axe des ordonnées (on trouve
encore 1), ce qui nous donne une distance de 2.

Dr. A. Kacem Echi

53

54

Evaluation des
compétences
Chapitre 1:

Introduction au DM

Dr. A. Kacem Echi

54

27
18/09/2025

Evaluation des compétences


55
 Quelle est la distance
euclidienne entre A et B ?

Dr. A. Kacem Echi

55

Evaluation des compétences


56
 Quelle est la distance de
Manhattan entre A et B ?

Dr. A. Kacem Echi

56

28
18/09/2025

Evaluation des compétences


57
 Calculer la distance euclidienne
et de Manhattan entre ces deux
espèces animales.

 Distance euclidienne :
(3−−5.1)2+(3.5−−5.2)2

 Distance de Manhattan :
|3--5.1|+|3.5--5.2|

Dr. A. Kacem Echi

57

6. Comment représenter les données ?


La notion de nuage de points
58
 Lorsque l’on représente les individus d’un échantillon par des points
dans un espace euclidien, l’ensemble de ces points est appelé nuage de
points.
 En statistiques, on décrit des nuages de points : quelle forme ont-ils ?
sont-ils étalés, resserrés, denses, gros, petits ? quelle est leur position ?
 Un nuage étalé dans l’espace traduira par exemple des individus très différents les uns des
autres.
 Peut-être y a-t-il des amas dans un nuage: des zones plus denses que d’autres. Dans ce cas,
cela signifie qu’il y a des groupes d’individus similaires entre eux, et plutôt différents des
autres groupes.

Dr. A. Kacem Echi

58

29
18/09/2025

6. Comment représenter les données ?


La notion d’inertie
59
 Comme nous étudions la dispersion d’un nuage (étalé ou resserré), nous
avons besoin d’une notion qui définit ce concept : l’inertie.
 L’inertie est similaire à celle que rencontrent les physiciens lorsqu’ils étudient le
mouvement des objets : un objet avec une forte inertie est un objet difficile à
mettre en mouvement, ou à faire entrer en rotation.
 Si vous avez deux objets de même masse, mais pas de même taille, l’objet qui
sera plus grand (donc plus étalé dans l’espace) sera plus difficile à faire tourner
autour de son centre de gravité.

 Plus le nuage sera dispersé (étalé), plus son inertie sera grande.
Dr. A. Kacem Echi

59

6. Comment représenter les données ?


L’inertie totale de nuage de points
60

Dr. A. Kacem Echi

60

30
18/09/2025

6. Comment représenter les données ?


L’inertie totale de nuage de points
61

 L’inertie du nuage de points Ni est aussi la somme des variances sur toutes les p
dimensions
 Rappel : la variance est un indicateur de dispersion.
Dr. A. Kacem Echi

61

62

Evaluation des
compétences
Chapitre 1:

Introduction au DM

Dr. A. Kacem Echi

62

31
18/09/2025

Evaluation des compétences


63
Soient M1 (1, 0), M2 (0, 1), M3(3, 1),
M4(4, 2) et M5(4, 3) 5 points du
plan.
1. Calculer le centre de gravité.
2. Calculer l’inertie totale du
nuage des points.

Dr. A. Kacem Echi

63

Evaluation des compétences


64
Centre de gravité et inertie totale du nuage:
 1 + 0 + 3 + 4 + 4 0 + 1 + 1 + 3 + 2  12 7
G = , =( , )
 5 5  5 5
1
I = (d 2 ( M 1 , G ) + d 2 ( M 2 , G ) 2 + d 2 ( M 3 , G ) 2 + d 2 ( M 4 , G ) 2 + d 2 ( M 5 , G ) 2 )
2

d2 (M1,G)2= (1-12/5)2+(0-7/5)2=3.92
d2 (M2,G)2= (0-12/5)2+(1-7/5)2=5.92
d2 (M3,G)2= (3-12/5)2+(1-7/5)2=0.52
d2 (M4,G)2= (4-12/5)2+(2-7/5)2=2.92
d2 (M5,G)2= (4-12/5)2+(3-7/5)2=5.12
I=(3.92+5,92+0,52+2,92+5,12)/5=3.68

Dr. A. Kacem Echi

64

32
18/09/2025

6. Comment représenter les données ?


Variable quantitative
65

 Une variable quantitative est décrite par les valeurs qu’elle


prend pour les individus.
 Afin de synthétiser l’information donnée par une variable
quantitative, les deux indicateurs les plus utilisés sont la
moyenne et la variance.

Dr. A. Kacem Echi

65

6. Comment représenter les données ?


Variable quantitative
66

Dr. A. Kacem Echi

66

33
18/09/2025

67

Evaluation des
compétences
Chapitre 1:

Introduction au DM

Dr. A. Kacem Echi

67

Evaluation des compétences


68

 Calculer la moyenne et la variance de la série statistique


suivante:

Dr. A. Kacem Echi

68

34
18/09/2025

6. Comment représenter les données ?


Mesure de liaison entre 2 variables quantitatives
69

 Une variable prenant valeurs peut être représenté dans un vecteur n,
appelé espace des variables.
 Dans cet espace, le produit scalaire usuel entre deux vecteurs X et Y, de
coordonnées respectives :

Dr. A. Kacem Echi

69

6. Comment représenter les données ?


Mesure de liaison entre 2 variables quantitatives
70
 Dans l’espace n le cosinus de l’angle formé entre deux variables centrées
est égale au coefficient de corrélation entre ces deux variables.

 Si r(x,y)=1 alors,
 les deux vecteurs sont colinéaires: les valeurs prises par yi et xi sont
proportionnelles
 il existe une relation linéaire exacte entre deux variables.
 L’absence de corrélation se traduit par une valeur nulle pour le coefficient
de corrélation linéaire et donc par un angle droit entre x et y.

Dr. A. Kacem Echi

70

35
18/09/2025

6. Comment représenter les données?


Mesure de liaison entre 2 variables quantitatives
71

Le coefficient de corrélation entre 2 variables quantitatives x


et y est défini par :

Dr. A. Kacem Echi

71

6. Comment représenter les données?


Mesure de liaison entre 2 variables quantitatives
72

 Il y a en effet deux formules de calcul de la covariance, l'une pour les


populations de taille de taille N, l'autre pour les échantillons aléatoires
de taille n. La première de ces formules est :

Dr. A. Kacem Echi

72

36
18/09/2025

73

Evaluation des
compétences
Chapitre 1:

Introduction au DM

Dr. A. Kacem Echi

73

Evaluation des compétences


74

 On veut mesurer la liaison entre les variables X et Y. pour cela on vous


demande de calculer la corrélation entre elles à la main :
 Calculer les moyennes de X et de Y

 Déduire la covariance de X et de Y

 Que peut-on conclure ?

Dr. A. Kacem Echi

74

37
18/09/2025

Evaluation des compétences


75

Dr. A. Kacem Echi

75

Evaluation des compétences


76

Dr. A. Kacem Echi

76

38
18/09/2025

Evaluation des compétences


77

Dr. A. Kacem Echi

77

Initiation au langage R
78

CHAPITRE 2

1. Qu’est-ce que le logiciel R ?


2. Comment installer R et l’utiliser ?
3. Se familiariser avec les différents types d’objets.
4. Les vecteurs
5. Les matrices
6. Les listes
7. Les dataframes
Avec évaluation des compétences et TPs
Dr. A. Kacem Echi

78

39
18/09/2025

1. Qu’est-ce que le logiciel R?


79

 R est un logiciel de statistiques interactif. Il est dédié à l’analyse


statistique et à la visualisation de données.
 Sachant qu’environ 80% du temps de l’analyse est dédié à la
préparation des données, R permet :
 la manipulation de données ;
 la réalisation des opérations mathématiques classiques : cos, sin, etc., les
nombres complexes, les données discrètes, l’algèbre linéaire ;
 l’application de techniques statistiques comme la régression, les techniques
multivariées, etc. ;
 la création de représentations graphiques (histogrammes, diagrammes en
bâton...).

Dr. A. Kacem Echi

79

2. Comment installer R et l’utiliser?


80

1) Télécharger le logiciel R à cette adresse: https://www.r-project.org/


2) Ouvrer une session de travail sur R : cliquer sur l’icône R du bureau de
façon à ouvrir une fenêtre.
 Les données de travail et les commandes utilisées seront alors enregistrées à
l’endroit où R a été installé.
 Il est souhaitable de modifier le répertoire de travail en allant dans fichier puis
changer le répertoire courant.
 La console de R attend une instruction, cela est indiqué par ">" en début de ligne.
Chaque instruction doit être validée par Entrée pour être exécutée.
3) Faire les premiers pas et écrire une instruction:
 Pour exécuter le code du script, on sélectionne la ligne et l’on appuie sur Run ou
l’on utilise le raccourci clavier Ctrl + Entrée.
 Si l’instruction est correcte, R l’exécute et redonne la main, ">", si l’instruction
est incomplète, R retourne le signe +, il faut alors compléter l’instruction ou
sortir.
4) Quitter la session :
 Par défaut, R conserve en mémoire les objets créés (variables, tableaux de
résultats, etc.). À l’issue de la session, ces objets peuvent être sauvegardés dans
une image de la session nommée .RData, grâce à la commande save.image() ou
en quittant la session, avec la fonction quit.
Dr. A. Kacem Echi

80

40
18/09/2025

2. Comment installer R et l’utiliser?


81

Dr. A. Kacem Echi

81

2. Comment installer R et l’utiliser?


82

 Obtenir de l’aide sur une fonction :


 Par exemple, pour la fonction « mean » , vous pouvez obtenir de l’aide dans
la console ainsi :
> help(mean)
> x <- c(0:10, 50)
>x
[1] 0 1 2 3 4 5 6 7 8 9 10 50
> xm <- mean(x)
> xm
[1] 8.75

Dr. A. Kacem Echi

82

41
18/09/2025

2. Comment installer R et l’utiliser?


83

 Installer de nouveaux packages :


 Un package est simplement un ensemble de programmes R qui permet
d’augmenter les fonctionnalités de R.
 Certains d’entre eux sont considérés comme indispensables (MASS, rpart,
etc.) et sont fournis avec R. Les autres constituent des avancées récentes en
statistiques et peuvent être téléchargés librement sur le réseau CRAN.
 Pour installer un package, vous pouvez utiliser l’onglet Package de
RStudio, ou la fonction install.packages("nom_du_package") .
 Afin d’utiliser un package installé, il faut ensuite le charger pour la session
de travail avec la fonction library(nom_du_package).
 Certains packages sont en constante évolution, avec de nouvelles versions
régulièrement disponibles. Il est donc intéressant de les mettre à jour de
temps en temps en utilisant la fonction update.packages().
 Une fois l’environnement de travail installé, on verra les différents
types d'objet que vous allez manipuler au quotidien.

Dr. A. Kacem Echi

83

3. Se familiariser avec les différents types d'objets


84

 Il existe de nombreux objets permettant de représenter au mieux la


réalité (vecteurs, matrices, etc.).
 R possède de nombreuses fonctions et opérateurs qui facilitent la
manipulation de ces derniers.
 Nous allons voir comment créer et manipuler ces différents objets.

Dr. A. Kacem Echi

84

42
18/09/2025

3. Se familiariser avec les différents types d'objets


Comment créer et manipuler des objets ?
85

 Créer des objets via une opération d’affectation = ou <-.


>x=8 #ou bien
>x<-8
>x
8
 Pour afficher le contenu d’un objet via la commande print :
>print(x) #ou plus simplement :
>x
8
 Pour manipuler les types d’objets : Lors de vos analyses statistiques, vous
allez être confronté à de nombreuses variables de natures diverses.
 Si par exemple votre analyse porte sur des données météorologiques, vous
pourriez avoir :
• des variables numériques (température, pression atmosphérique, etc.) ;
• des variables textuelles (station météo, ville, etc.) ;
• des variables indicatrices (présence ou non de pluie, etc.) ;
• et bien d’autres...
Dr. A. Kacem Echi

85

3. Se familiariser avec les différents types d'objets


Comment créer et manipuler des objets ?
86

 R permet de représenter toutes ces variables via différents types, ou


modes d’objets:
 null - représentant le vide, lorsqu’il n’y a rien : NULL
 logical - booléen, permettant des opérations logiques. Il n’a que deux
valeurs, vrai ou faux, qui se notent : TRUE ou FALSE (T ou F marchent
également).
 numeric - correspond à toute valeur numérique (entier, décimal et réel) : 1,
2.3222, pi, 1e-10
 complex - permettant de représenter des nombres complexes : 2+0i, 2i
 character - chaîne de caractères, permettant de stocker du texte :
'bonjour', "K "
 Il est possible d’utiliser des doubles (") ou simples (') quotes pour définir des
chaînes de caractères en R.

Dr. A. Kacem Echi

86

43
18/09/2025

3. Se familiariser avec les différents types d'objets


Comment créer et manipuler des objets ?
87
➢ rien = NULL
➢ temperature = 23.5
➢ pluie = TRUE
➢ tempete = F
➢ station = 'Paris’
➢ ville = "Corbeil-Essonnes »
 Pour connaître le mode d’un objet x de R, il suffit d’exécuter la commande
mode :
➢ mode(x)
 Il est aussi possible de tester l’appartenance d’un objet x à un mode
particulier via une fonction construite généralement avec is. suivi du nom du
type correspondant en R.
 Il existe ainsi une fonction pour chaque type. Le résultat est un booléen qui prend les valeurs
TRUE ou FALSE :
➢ is.null(x)
➢ is.logical(x)
➢ is.numeric(x)
➢ is.complex(x)
➢ is.character(x)
Dr. A. Kacem Echi

87

3. Se familiariser avec les différents types d'objets


Comment créer et manipuler des objets ?
88
 Il est possible de forcer la conversion d’un type à un autre, de façon
explicite avec as. suivi du nom du type correspondant en R :
De En Fonction à utiliser Résultat de la conversion

logique numérique as.numeric FALSE -> 0


TRUE -> 1
logique caractère as.character FALSE -> "FALSE"
TRUE -> "TRUE"
caractère numérique as.numeric "1", "2", ... -> 1, 2, ...
"A", "B", ... -> NA, NA, ...

caractère logique as.logical "FALSE", "F" -> FALSE


"TRUE", "T" -> TRUE
autres caractères -> NA

numérique logique as.logical 0 -> FALSE


autres nombres -> TRUE
numérique caractère as.character 1, 2, ... -> "1", "2", ...

Dr. A. Kacem Echi

88

44
18/09/2025

3. Se familiariser avec les différents types d'objets


Comment créer et manipuler des objets ?
89

 Les types un peu particuliers :


 Lors d’analyses statistiques, on peut avoir des valeurs manquantes. Elles
peuvent être dues à différentes raisons : manque d’information, donnée non
collectée, erreur dans le programme de récupération des données, erreur de
conversion de votre part, etc.
 Ces données ne sont pas disponibles pour l’utilisateur et R les note NA pour
« Not Available ».
 Pour savoir où se trouvent les valeurs manquantes d’un objet x, il faut poser
la question is.na :
>is.na(x)
# Dans le cas d’un vecteur, cela renvoie un vecteur logique de même longueur
que x avec TRUE si l’élément correspondant de x est NA, et FALSE sinon.

Dr. A. Kacem Echi

89

3. Se familiariser avec les différents types d'objets


Comment créer et manipuler des objets ?
90

 De façon similaire, il existe deux valeurs supplémentaires un peu


particulières :
 Inf : pour infini. Celle-ci représente des valeurs numériques trop
importantes, qui ne peuvent pas être stockées en mémoire. Par exemple :
exp(1e10) ou 2/0
 NaN : pour « Not a Number ». C’est généralement le résultat d’un calcul
mathématiquement impossible, comme log(-2).

Dr. A. Kacem Echi

90

45
18/09/2025

4. Les vecteurs
Comment créer et utiliser des vecteurs ?
91

 Le vecteur est un tableau d’une ligne (ou une colonne) pouvant


stocker plusieurs valeurs appelées composantes, coordonnées ou
éléments.
 C’est un objet monotype : tous les éléments d’un vecteur sont donc du
même type.
 Tout comme chaque objet, on peut obtenir l’attribut longueur
(correspondant au nombre d’éléments contenus dans un vecteur) via la
fonction length.

Dr. A. Kacem Echi

91

4. Les vecteurs
Les vecteurs numériques
92
 Les vecteurs numériques permettent de représenter des variables
quantitatives : relevés météorologiques, notes d’une classe, taille de
différentes fleurs, etc.
 Il existe différentes méthodes pour construire un vecteur, en fonction de
vos besoins :
 Construction par l’opérateur séquence :
 Créer un vecteur allant de la première valeur à la deuxième, par pas de 1.
>1:6
[1] 1 2 3 4 5 6
 Construction par la fonction seq
 Créer un vecteur contenant l’ensemble des valeurs de a à b, soit répartis également si
l’on utilise l’argument length, soit selon un pas donné via l’argument by.
>seq(1,6,by=0.5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0
>seq(1,6,length=5)
# [1] 1.00 2.25 3.50 4.75 6.00
Dr. A. Kacem Echi

92

46
18/09/2025

4. Les vecteurs
Les vecteurs numériques
93

 Construction par la fonction collecteur c


 Construire un vecteur en citant explicitement l’ensemble des valeurs que l’on stocke à
l’intérieur.
x <- c(1, 4, 10) # vecteur de numériques à 3 éléments
x
[1] 1 4 10

y <- seq(1,10,by=2) # vecteur à 7 éléments


y
[1] 1 3 5 7 9

z <- c(x,y)
z
[1] 1 4 10 1 3 5 7 9

Dr. A. Kacem Echi

93

4. Les vecteurs
Les vecteurs numériques
94

 Construction par la fonction rep


 qui va répéter un objet un nombre de fois fixé.
>rep(1,4)
[1] 1 1 1 1
>rep(c(1,2),each=3)
[1] 1 1 1 2 2 2

Dr. A. Kacem Echi

94

47
18/09/2025

4. Les vecteurs
Les vecteurs de caractères
95

 Les vecteurs de caractères représentent toutes les séries d’informations


textuelles comme : les noms de stations météo, les noms des élèves, les
espèces de fleurs, etc. : des variables qualitatives.
 Il est possible de créer des vecteurs de caractères de la même façon que des
vecteurs numériques, en utilisant les fonctions c ou rep.
>x <- c("bonjour","hello","hej")
>x
[1] "bonjour" "hello" "hej"
>x <- rep(c("rouge","jaune","bleu"),times=2)
>x
[1] "rouge" "jaune" "bleu" "rouge" "jaune" "bleu"
>rep(c("rouge","jaune","bleu"),each=2)
[1] "rouge" "rouge" "jaune" "jaune" "bleu" "bleu"
>rep(c("rouge","jaune","bleu"),times=c(1,4,2))
[1] "rouge" "jaune" "jaune" "jaune" "jaune" "bleu" "bleu"
Dr. A. Kacem Echi

95

4. Les vecteurs
Les vecteurs de caractères
96
 Il est également possible de créer un vecteur numérique pour ensuite le
convertir en un vecteur de chaînes de caractères de même longueur, via
la fonction toString.
 Création par concaténation : manipuler différents objets R et de les
concaténer (c’est-à-dire les mettre bout à bout) ou d’en extraire une
partie.
 Pour la concaténation, on utilise la fonction paste :
>nom <- paste(rep("ind",10),1:10,sep=".")
[1] "ind.1" "ind.2" "ind.3" "ind.4" "ind.5" "ind.6" "ind.7" "ind.8"
[9] "ind.9" "ind.10”
 Pour l’extraction, on utilise la fonction substr :
>substr("freerider",5,9)
[1] "rider"
#Cela extrait de "freerider" les caractères en position 5 à 9 ce qui donne "rider".

Dr. A. Kacem Echi

96

48
18/09/2025

4. Les vecteurs
Les vecteurs logiques
97
 Les vecteurs logiques peuvent représenter des vecteurs binaires (pluie
ou beau temps, présence ou non d’une maladie, etc.), mais peuvent aussi
être le résultat d’une fonction appliquée à un autre vecteur (comme avec
la fonction is.na vue précédemment).
 Les vecteurs de booléens sont en général générés grâce à des opérateurs
logiques : > , >= , < , <= , == , != , etc.
 Ils peuvent aussi être générés par les fonctions seq, rep et c. Ils
permettent des sélections complexes ou des opérations de conditions.
>1>0
TRUE
# Cette commande retourne un vecteur logique de longueur 1 qui est TRUE, puisque 1 est plus grand
que 0.
> x <- c(-1,0,2)
> test <- x>1
> test
[1] FALSE FALSE TRUE
# Nous créons un objet test qui est le vecteur de logiques (FALSE,FALSE,TRUE),

Dr. A. Kacem Echi

97

5. Les matrices
98

 Les matrices sont des tableaux de valeurs, à double entrée.


 Une matrice est donc définie par son nombre de lignes et de colonnes.
 Ce sont des objets monotypes, c’est-à-dire de même type pour tous ses
éléments.
 Chaque valeur de la matrice peut être repérée par son numéro de ligne
et son numéro de colonne.
 Les deux attributs intrinsèques d’un objet R sont :
 la longueur length, qui correspond ici au nombre total d’éléments de la
matrice, et
 le mode mode qui correspond ici au mode des éléments de cette matrice.
 Les matrices possèdent également l’attribut de dimension dim, qui
retourne le nombre de lignes et le nombre de colonnes.

Dr. A. Kacem Echi

98

49
18/09/2025

5. Les matrices
Comment créer une matrice?
99
 Principales façons de créer une matrice:
 La plus utilisée est la fonction matrix qui prend en arguments le vecteur d’éléments et
les dimensions - nombre de lignes ou de colonnes - de la matrice.
 Par défaut, R range les valeurs dans une matrice par colonne. Pour ranger les éléments
par ligne, on utilise l’argument byrow :
> x <- matrix(c(1:6),nrow=2,ncol=3,byrow=TRUE)
>x
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
>y <- matrix(1:2,ncol=1)
>y
[,1]
[1,] 1
[2,] 2
>z <- matrix(3:1,ncol=3)
>z
[,1] [,2] [,3]
[1,] 3 2 1

Dr. A. Kacem Echi

99

5. Les matrices
Comment créer une matrice?
100
 Lorsque la longueur du vecteur est différente du nombre d’éléments de la
matrice, R remplit toute la matrice.
 Si le vecteur est trop grand, il prend les premiers éléments,
 si le vecteur est trop petit, R le répète :
>m <- matrix(1:4,nrow=3,ncol=3)
>m
[,1] [,2] [,3]
[1,] 1 4 3
[2,] 2 1 4
[3,] 3 2 1
 Il est possible de remplir une matrice d’un élément unique sans avoir à créer
le vecteur des éléments :
>un <- matrix(1,nrow=2,ncol=4)
>un
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] 1 1 1 1
Dr. A. Kacem Echi

100

50
18/09/2025

5. Les matrices
Comment créer une matrice?
101

 Un vecteur n’est pas considéré par R comme une matrice. Il est


cependant possible de transformer un vecteur en une matrice
unicolonne avec la fonction as.matrix :
>x <- seq(1,10,by=2)
>x
[1] 1 3 5 7 9
>as.matrix(x)
[,1]
[1,] 1
[2,] 3
[3,] 5
[4,] 7
[5,] 9

Dr. A. Kacem Echi

101

5. Les matrices
Comment créer une matrice?
102

 Il est bien évidemment possible de créer une matrice de caractères :


>matrix(c("A","B","C","A"),ncol=2)
[,1] [,2]
[1,] "A" "C"
[2,] "B" "A"

Dr. A. Kacem Echi

102

51
18/09/2025

5. Les matrices
Opérations sur les matrices
103
>m <- matrix(1:4,ncol=2)
>m
[,1] [,2]
[1,] 1 3
[2,] 2 4
>n <- matrix(3:6,ncol=2,byrow=T)
>n
[,1] [,2]
[1,] 3 4
[2,] 5 6
 On peut additionner deux matrices de même dimension :
>m+n
[,1] [,2]
[1,] 4 7
[2,] 7 10
Dr. A. Kacem Echi

103

5. Les matrices
Opérations sur les matrices
104

 Calculer le produit entre deux matrices, lorsque le nombre de lignes de


la première est égal au nombre de colonnes de la deuxième.
>m*n # produit élément par élément
[,1] [,2]
[1,] 3 12
[2,] 10 24
 Appliquer toute une série d’opérations mathématiques, qui vont
s’effectuer élément par élément :
>sin(m) # sinus élément par élément
>exp(m) # exponentielle élément par élément
>m^4 # puissance quatrième élément par élément

Dr. A. Kacem Echi

104

52
18/09/2025

5. Les matrices
Autres fonctions utiles
105

 Dimensions :
 dim(X), nrow(X), ncol(X) donnent respectivement la dimension, le
nombre de lignes et de colonnes de X.

>X <- matrix(1:6,ncol=3)


>X
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
>ncol(X)
[1] 3
>nrow(X)
[1] 2
>dim(X)
[1] 2 3
Dr. A. Kacem Echi

105

5. Les matrices
Autres fonctions utiles
106
 Concaténation : par colonne avec la fonction cbind, par ligne avec la fonction
rbind.
>cbind(c(1,2),c(3,4))
[,1] [,2]
[1,] 1 3
[2,] 2 4
 La fonction apply permet d’appliquer une fonction choisie aux lignes
(MARGIN=1) ou aux colonnes (MARGIN=2) de la matrice. Par exemple :
>X
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
>apply(X,MARGIN=2,sum) # sommes par colonne
[1] 3 7 11
>apply(X,1,mean) # moyennes par ligne
[1] 3 4

Dr. A. Kacem Echi

106

53
18/09/2025

6. Les listes
107

 Lors d’analyses statistiques, on peut être confronté à la gestion de


plusieurs données de types différents et potentiellement
de longueurs différentes.
 Une liste est un ensemble ordonné d’objets qui n’ont pas toujours le
même mode ou la même longueur.
 Les différents objets sont appelés des composantes et peuvent être
associés à un nom spécifique (un peu comme une variable).
 Les listes ont les deux attributs des vecteurs (length et mode) et
l’attribut supplémentaire names.

Dr. A. Kacem Echi

107

6. Les listes
Comment créer une liste ?
108

 La fonction de base pour créer une liste est la fonction list :


>maliste <- list(c("A","B","C","A"),matrix(1:4,2,2))
>maliste
[[1]]
[1] "A" "B" "C" "A"
[[2]]
[,1] [,2]
[1,] 1 3
[2,] 2 4
>length(maliste)
[1] 2
>mode(maliste)
[1] "list"
>is.list(maliste)
[1] TRUE

Dr. A. Kacem Echi

108

54
18/09/2025

6. Les listes
Comment créer une liste ?
109
 On peut nommer les composantes de la liste, c’est-à-dire associer un nom à
chaque objet de la liste pour pouvoir y accéder plus facilement via
l’opérateur $. Ceci est faisable via la fonction names :
>names(maliste) # pas de nom actuellement, la fonction retourne un NULL
NULL
>names(maliste) <- c("vec","mat")
>names(maliste)
[1] "vec" "mat«

Dr. A. Kacem Echi

109

6. Les listes
Comment créer une liste ?
110
 Il est également possible de créer une liste en partant d’une liste vide.
>li <- list()
>li
list()
>li[[1]] <- 1:4
>li
[[1]]
[1] 1 2 3 4
>li$nouv <- matrix(1:4,nrow=2)
>li
[[1]]
[1] 1 2 3 4
$nouv
[,1] [,2]
[1,] 1 3
[2,] 2 4
>names(li)
[1] "" "nouv«
#Comme la première composante n’a pas de nom, on retrouve [[1]] dans l’affichage de la liste puis la
composante nouv

Dr. A. Kacem Echi

110

55
18/09/2025

7. Les dataframes
Comment créer111les dataframes?
 Les dataframes sont des listes particulières dont les composantes
sont de même longueur, mais les modes peuvent être différents.
 C’est d’ailleurs l’objet privilégié en analyse statistique : en effet, un
tableau de données est constitué de variables quantitatives et/ou
qualitatives mesurées sur les mêmes individus.
 Les principales manières de créer un dataframe consistent à utiliser les
fonctions :
 data.frame qui permet de concaténer des vecteurs de même taille et
éventuellement de modes différents ;
 read.table qui permet d’importer un tableau de données provenant d’un
fichier externe (csv, txt, etc.)
 as.data.frame pour la conversion explicite d’un objet à deux dimensions
(comme une matrice).

Dr. A. Kacem Echi

111

7. Les dataframes
Comment créer les dataframes?
112
 Considérons les deux vecteurs x et y suivants :
>x <- c("A","B","C","A")
>y <- 1:4
 On peut utiliser ces derniers pour créer un dataframe assemblant ces deux
vecteurs :
>mondf <- data.frame(x,y)
>mondf
x y
1 A 1
2 B 2
3 C 3
4 A 4
>length(mondf)
[1] 2
>attributes(mondf)
$names
[1] "x" "y"
$row.names
[1] 1 2 3 4
Dr. A. Kacem Echi

112

56
18/09/2025

6. Les dataframes
Comment visualiser les dataframes?
113

 La fonction view permet de visualiser un dataframe :


>View(mondf)

Dr. A. Kacem Echi

113

57

Vous aimerez peut-être aussi