0% ont trouvé ce document utile (0 vote)
15 vues18 pages

Chapitre 4

Le chapitre 4 traite des analyses univariées, qui consistent à étudier des variables séparément à l'aide de techniques descriptives et probabilistes. Il décrit les étapes de lecture et d'importation des données d'un sondage virtuel, ainsi que les opérations élémentaires sur les dataframes en R. Enfin, il aborde la distribution des variables continues et discrètes, en illustrant des méthodes de visualisation comme les histogrammes et les diagrammes en secteurs.

Transféré par

doua.ben.abid
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)
15 vues18 pages

Chapitre 4

Le chapitre 4 traite des analyses univariées, qui consistent à étudier des variables séparément à l'aide de techniques descriptives et probabilistes. Il décrit les étapes de lecture et d'importation des données d'un sondage virtuel, ainsi que les opérations élémentaires sur les dataframes en R. Enfin, il aborde la distribution des variables continues et discrètes, en illustrant des méthodes de visualisation comme les histogrammes et les diagrammes en secteurs.

Transféré par

doua.ben.abid
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

ESCT/ISAMM 2e LBDAD

Chapitre 4 : Analyses univariées


Les analyses univariées consistent à étudier les variables séparément via des techniques
descriptives ou probabilistes.
Les objectifs de ces études sont :
 Décrire et résumer chaque variable ;
 Généraliser les informations à la population entière ;
 Tester des hypothèses faites a priori ;
 Comparer deux variables ou une variable sur plusieurs groupes.
Selon l’échelle utilisée, on peut classer les variables en quatre types :
 Variables qualitatives :
➢ Nominales ;
➢ Ordinales.
 Variables quantitatives :
➢ Discrètes ;
➢ Continues.

I. Lecture des données


Les données étudiées concernent les résultats d’un sondage virtuel réalisé dans une
entreprise européenne.

I.1) Définition du répertoire de travail


On commence tout d’abord par définir un répertoire de travail qui sera utilisé par R. Pour
cela, on se propose de créer un répertoire appelé « R » sur la racine du disque, ainsi, le
chemin de notre répertoire sera « C:\R ».
> setwd ("c:/R")

Statistiques Descriptives et inférentielles avec R 48


ESCT/ISAMM 2e LBDAD

> getwd()

[1] "c:/R"

I.2) Importation du fichier


Ensuite, il suffit d’importer le fichier texte appelé « sondage.csv » déjà placé dans le
répertoire de travail mentionné plus haut.
> data = read.csv ("sondage.csv",sep=";",dec=".",header=TRUE,
stringsAsFactors=TRUE)

Rappel :
 read.csv() permet d’importer des fichiers csv ;
 Puisque la première ligne du fichier contient les noms des variables, on utilise la
commande « header=TRUE » ;
 Le séparateur entre les données est un « ; » ;
 Le séparateur des décimales est « . » ;
 stringsAsFactors : Permet de convertir les chaînes de caractères en facteurs.

I.3) Opérations élémentaires sur la dataframe


Il est possible d’avoir une idée sur le contenu du tableau de données avec les commandes
suivantes :
> dim (data)

[1] 2000 20

→ On a 2000 individus et 20 observations.


La commande names() permet d’afficher les noms des colonnes du dataframe data :
> names (data)

[1] "Sport" "Pays" "Tourisme"


"Cinema"

Statistiques Descriptives et inférentielles avec R 49


ESCT/ISAMM 2e LBDAD

[5] "Sexe" "Musique" "ChassePeche"


"Fumer"

[9] "ReseauSocial" "Activité" "Satisfaction"


"Cuisine"

[13] "Age" "Poids" "NbFreresSoeurs"


"NbAnimaux"

[17] "NbEnfants" "Taille" "HeuresTV"


"Nblivres"

Il est possible d’avoir une idée plus approfondie sur la dataframe grâce à la commande str() :
> str (data)

'data.frame': 2000 obs. of 20 variables:

$ Sport : Factor w/ 11 levels


"Escrime","Football",..: 4 4 8 5 11 8 11 1 5 6 ...

$ Pays : Factor w/ 20 levels


"Allemagne","Autriche",..: 3 11 19 11 1 4 4 6 4 10 ...

$ Tourisme : Factor w/ 22 levels


"Australie","Bresil",..: 11 2 9 12 5 14 3 9 2 1 ...

$ Cinema : Factor w/ 3 levels


"Non","Occasionnellement",..: 2 1 3 2 1 3 2 3 3 3 ...

$ Sexe : Factor w/ 2 levels "Femme","Homme": 1 1 2


2 1 1 1 2 1 2 ...

$ Musique : Factor w/ 10 levels "Classique","Hard


Rock",..: 3 10 10 4 1 1 9 9 8 5 ...

$ ChassePeche : Factor w/ 2 levels "Non","Oui": 1 1 1 1 1


1 1 1 1 1 ...

Statistiques Descriptives et inférentielles avec R 50


ESCT/ISAMM 2e LBDAD

$ Fumer : Factor w/ 2 levels "Non","Oui": 2 2 1 2 2


1 1 1 2 2 ...

$ ReseauSocial : Factor w/ 8 levels "Aucun","Facebook",..:


3 5 2 3 1 7 3 2 5 2 ...

$ Activité : Factor w/ 10 levels "Administration",..: 1


9 8 5 10 8 7 7 4 4 ...

$ Satisfaction : Factor w/ 3 levels "Pas de réponse",..: 3


3 1 3 2 2 2 2 1 2 ...

$ Cuisine : Factor w/ 2 levels "Non","Oui": 2 1 1 2 1


1 2 2 1 1 ...

$ Age : int 31 48 38 38 45 37 37 29 35 30 ...

$ Poids : int 103 63 110 81 76 126 63 72 85 88 ...

$ NbFreresSoeurs: int 2 2 9 10 0 5 2 3 7 9 ...

$ NbAnimaux : int 3 3 0 3 6 1 7 0 4 4 ...

$ NbEnfants : int 7 1 1 4 4 5 2 4 1 4 ...

$ Taille : int 170 181 157 199 183 191 168 158 151
169 ...

$ HeuresTV : int 8 8 5 5 12 6 5 12 5 12 ...

$ Nblivres : int 4 4 12 10 15 2 17 12 14 23 ...

Le tableau suivant permet de décrire les variables observées :

OBSERVATION DESCRIPTION
Sport Le sport favori

Statistiques Descriptives et inférentielles avec R 51


ESCT/ISAMM 2e LBDAD

Pays Le pays d’origine de chaque personne


interrogée

Tourisme La destination touristique favorite

Cinema Passion pour aller au cinéma

Sexe Le sexe

Musique Le style de la musique préférée

ChassePeche Passion pour la chasse/pêche

Fumer Fumeur : oui/non

ReseauSocial Le réseau social favori

Activité Le secteur d’activité

Satisfaction Le degré de satisfaction au travail

Cuisine Passion pour cuisiner : oui/non

Age Age de la personne en question

Poids Le poids (Kg)

NbFreresSoeurs Le nombre des frères et des sœurs

NbAnimaux Nombre des animaux à la maison

NbEnfants Le nombre d’enfants

Taille La taille (en cm)

HeuresTV Nombre d’heures moyen passé devant la


télévision quotidiennement

Nblivres Nombre moyen de livres lues annuellement

Table 3: Description du dataframe utilisé


On constate ainsi la présence d’un mélange de variables quantitatives (représentées par int
en R) et des variables qualitatives (représentées par factor).

Statistiques Descriptives et inférentielles avec R 52


ESCT/ISAMM 2e LBDAD

La commande head() permet d’afficher un aperçu du dataframe :

Figure 12: Aperçu du contenu de la dataframe « data »

II. Manipulation du dataframe


On commencera par revoir les bases de la manipulation d’une dataframe :
 Afficher uniquement la colonne âge :
> data$Age

 Afficher le nombre d’enfants de la 8e personne :


> data[8,]$NbEnfants

 Afficher le pays d’origine de tous les employés :


> data$Pays

Statistiques Descriptives et inférentielles avec R 53


ESCT/ISAMM 2e LBDAD

III. Distribution d’une variable


Il est important d’avoir une idée sur la distribution des différentes variables. La commande
summary() :

Figure 13: Distribution des différentes variables du dataframe

Statistiques Descriptives et inférentielles avec R 54


ESCT/ISAMM 2e LBDAD

III.1) Variable continue


Il est souvent intéressant, avant de commencer une étude statistique, de tracer la
distribution des variables. Cela permet de regarder notamment si les valeurs sont groupées
autour de la moyenne ou très étalées, si elles se répartissent en plusieurs groupes, etc.
Plusieurs fonctions existent pour cela : ici on n’abordera que le tracé des histogrammes ainsi
que la densité.
Si la variable est continue, on peut tracer un histogramme, comme ceci :
> hist (data$Taille, col= "blue", border= "white",ylim = c(0,
250), labels=TRUE, xlab="Taille en cm", ylab= "Nombre
d'observations")

Statistiques Descriptives et inférentielles avec R 55


ESCT/ISAMM 2e LBDAD

On obtient le graphique suivant :

Figure 14: Histogramme des tailles de la population


étudiée

Il est possible d’ajouter aussi un estimateur de la densité si l’on spécifie l’argument


prob=TRUE dans la fonction hist().
Notons aussi qu’on changera la mesure en ordonnées (ylab) afin de pouvoir visualiser
correctement le graphique.
> hist (data$Taille, col= "blue", border= "white",ylim =
c(0,0.0250), labels=TRUE, xlab="Taille en cm", ylab= "Nombre
d'observations", prob=TRUE)

Statistiques Descriptives et inférentielles avec R 56


ESCT/ISAMM 2e LBDAD

> lines(density(data$Taille), lwd=3, col = "red" )

NB :
L’attribut lwd de la fonction lines() permet de spécifier la largeur de la ligne de traçage (la
ligne rouge).
On obtient donc :

Figure 15: La densité des tailles de la population


étudiée

Statistiques Descriptives et inférentielles avec R 57


ESCT/ISAMM 2e LBDAD

Remarque :
Une densité de probabilité peut être définie comme suit : (Source :
https://lewebpedagogique.com)

Figure 16: Définition de la densité de probabilité

Statistiques Descriptives et inférentielles avec R 58


ESCT/ISAMM 2e LBDAD

Un estimateur à noyau de la densité de la variable data$Taille peut être obtenu grâce à la


fonction density(). Sa représentation graphique s’obtient comme suit :
> plot (density(data$Taille), main="Estimateur à noyau",
xlab="Taille en cm")

Figure 17: Un estimateur à noyau de la densité de la


variable data$Taille

III.2) Variable discrète


Quand on veut étudier la répartition d’une variable discrète, on ne peut pas employer les
fonctions précédentes. On va utiliser une fonction prévue pour ce type de variables.
Le fait que la variable soit discrète crée une catégorisation naturelle : on va représenter le
nombre d’individus ayant chaque valeur (par exemple la taille), sans avoir besoin de
regrouper les classes, ou de définir à la main le nombre d’intervalles que l’on veut.
La fonction table() joue ce rôle : elle compte le nombre d’individus ayant chaque valeur. On
peut ensuite représenter ce nombre avec la fonction barplot().

Statistiques Descriptives et inférentielles avec R 59


ESCT/ISAMM 2e LBDAD

Exemple :
> table (data$ChassePeche)

Non Oui

1953 47

> barplot (table(data$ChassePeche))

Figure 18: Répartition de la variable discrète


"Passion pour la chasse ou la pêche"

Il est possible aussi de tracer des diagrammes en secteurs grâce à la fonction pie().

Statistiques Descriptives et inférentielles avec R 60


ESCT/ISAMM 2e LBDAD

Exemple :
Étude de la répartition des réseaux sociaux favoris utilisés :
> table (data$ReseauSocial)

Figure 19: Répartition des réseaux sociaux favoris

On utilisera les facteurs : il s’agit d’un vecteur particulier facilitant la manipulation des
données qualitatives.
En effet, en plus de stocker les différents éléments comme un vecteur classique, un facteur
stocke également l’ensemble des différentes modalités possibles dans un attribut.
Rappel :
Pour connaître les différentes modalités d’un facteur, la fonction levels() peut être utilisée.
Ainsi, on aura besoin d’une autre information : Le nombre des différents réseaux sociaux
mentionnés dans notre fichier.
La fonction levels() fournit cette information.
> q=(levels(factor(data$ReseauSocial)))

> q

[1] "Aucun" "Facebook" "Instagram" "Linkedin"


"Pinterest" "Quora"

[7] "Reddit" "Twitter"

On aura donc :
> pie (table (data$ReseauSocial), col = rainbow(length (q)))

L’option col permet de choisir la palette de couleurs (length (q) =8).

Statistiques Descriptives et inférentielles avec R 61


ESCT/ISAMM 2e LBDAD

Figure 20: Diagramme en secteurs de la


répartition des réseaux sociaux favoris

On peut aussi afficher le pourcentage relatif à chaque portion afin de rendre le diagramme
plus lisible. Ainsi, la variable r utilisée ci-dessous sera un vecteur contenant les valeurs
relatives au nombre d’utilisateurs de chaque réseau social :
> r = c (table (factor (data$ReseauSocial)))

La variable prc permet d’obtenir le pourcentage d’utilisateurs :


NB :
La fonction nrow() permet de renvoyer la taille de la population (nombre de lignes du
dataframe)
> prc= (r/nrow (data))*100

Statistiques Descriptives et inférentielles avec R 62


ESCT/ISAMM 2e LBDAD

> prc

Aucun Facebook Instagram Linkedin Pinterest Quora

11.15 10.90 11.35 10.80 12.05 11.15

Reddit Twitter

10.55 22.05

Ainsi, on aura :
> pie (table (data$ReseauSocial), col = rainbow(length (q)),
labels = paste(q,prc,"%"))

Figure 21: Diagramme en secteurs de la répartition en


pourcentages des réseaux sociaux favoris

Statistiques Descriptives et inférentielles avec R 63


ESCT/ISAMM 2e LBDAD

NB :
La fonction paste() permet de concaténer des variables.
Il est aussi possible d’obtenir des diagrammes en secteurs en 3D. On aura besoin d’une
information facultative, mais très importante : Les labels représentés ici par la variable d.
La fonction pie3D() permet d’avoir ce diagramme.
NB :
Il faut commencer, d’abord, par télécharger et installer la bibliothèque plotrix.
> library(plotrix)

> x=table (data$ReseauSocial)

> d=levels(factor (data$ReseauSocial))

> d

[1] "Aucun" "Facebook" "Instagram" "Linkedin"


"Pinterest" "Quora"

[7] "Reddit" "Twitter"

> pie3D(x,explode = 0.1, main = "Utilisation des réseaux


sociaux ", labels = paste(q,"-",prc,"%"))

Statistiques Descriptives et inférentielles avec R 64


ESCT/ISAMM 2e LBDAD

Figure 22: Version 3D du diagramme en secteurs de la


répartition de l'utilisation des réseaux sociaux

Statistiques Descriptives et inférentielles avec R 65

Vous aimerez peut-être aussi