Vous êtes invités à annoter le contenu de ce cours. Les annotations peuvent être des corrections typographiques, des propositions ou des questions. Pour ajouter des annotations, choisissez le text que vous voulez commenter et cliquez sur . Pour accéder aux annotations crées par d'autres personnes, cliquez sur le coin supérieur de la page .

TP Statistique descriptive avec R

Qu’est-ce que c’est que ?

C’est un langage de programmation et un logiciel gratuit et libre. Il est surtout utilisé pour le développement de programmes statistiques et des analyses de données. Il gagne en popularité depuis quelques années avec l’émergence de la data science et du fait qu’il est gratuit et ouvert (open-source). est née d’un projet de recherche mené par deux chercheurs, Ross Ihaka et Robert Gentleman à l’université d’Auckland (Nouvelle-Zélande) en 1993. En 1997 est mis en place le Comprehension R Archive Network (CRAN) qui centralise les contributions au projet.

Depuis le projet connaît une croissance soutenue, grâce à des contributions de la part de milliers de personnes à travers le monde.

RStudio

  • C’est une IDE (Integrated Development Environment) ou Environnement Intégré de Développement.

  • Il sert d’interface entre et l’utilisateur, offre à celui diverses commodités d’utilisation

  • Une introduction au RStudio est présentée dans l’annexe A.
  • Vous trouverez une bonne introduction à sur ce lien .

1ère partie: Données quantitatives discrètes

Le nombre d’arbres plantés sur les parcelles d’un lotissement a été compté. Les données obtenues sont les suivantes:

\[1,2,4,1,6,3,2,1,2,0,1,2,2,1,3,0,3,2,1,2,2,3,2,3.\]

1. Quelle est la nature de variable étudiée?

2. Rentrer ces données sous la forme d’un vecteur nommé arbres et affichez ce vecteur.

3. Trier les valeurs de ce vecteur par ordre croissant.

4. Donner la taille de l’échantillon (c’est-à-dire le nombre de composantes de ce vecteur) en la notant n et affichez sa valeur.

Effectifs et fréquence

5. Montrer la séquence des modalités et la séquence des effectifs correspondants.

6. Montrer le tableau de fréquences et de pourcentages.

7. Calculer et afficher les effectifs cumulés et les fréquences cumulées.

Mesures de tendance centrale

8. Calculer le nombre moyen d’arbres par parcelle.

9. Calculer le nombre maximum et le nombre minimum d’arbres sur une parcelle.

10. Calculer le nombre médian d’arbres par parcelle.

11. Utiliser la fonction summary() pour obtenir un tableau récapitulatif des indicateurs.

Indicateurs de dispersion

12. Calculer la variance du nombre d’arbres plantés sur les parcelles.

13. Calculer maintenant l’écart-type et vérifier que l’écart-type est la racine carrée de la variance.

14. Calculer la variance vous-même. La variance obtenue est elle la même que la précédente?

Le logiciel utilise \(n-1\) pour le dénomiateur dans la définition de la variance, c’est-à-dire \(\frac{1}{n-1} \sum_{i=1}^n (x_i - \overline{x})^2\) (d’écart-type noté \(\sigma_{n-1}\) ou \(s\). Cette quantité est souvent préférée dans les applications numériques pour des questions d’estimation).

Représentations graphiques

15. La fontion plot() affiche par défaut un nuage de points avec en abscisse le numéro de l’observation (ici de 1 à 24) et en ordonnée le nombre d’arbres. Tester cette fonction. Modifier le titre de la figure, les noms des axes, la couleur et la forme des points affichés.

16. Afficher la courbe des fréquence cumulées. (Indication: Utiliser la fonction ecdf()).

17. Tracer un diagramme en bâtons par la fonction barplot() à partir du tableau des effectifs ou des fréquences.

2ème partie : Analyse descriptive

Données utilisées

Une enquête a été réalisée sur 237 étudiants. Les données sont les suivantes:

  • Sex: The sex of the student. (Factor with levels “Male” and “Female.”)
  • Wr.Hnd: span (distance from tip of thumb to tip of little finger of spread hand) of writing hand, in centimetres.
  • NW.Hnd: span of non-writing hand.
  • W.Hnd: writing hand of student. (Factor, with levels “Left” and “Right.”)
  • Fold: “Fold your arms! Which is on top” (Factor, with levels “R on L,” “L on R,” “Neither.”)
  • Pulse: pulse rate of student (beats per minute).
  • Clap: ‘Clap your hands! Which hand is on top?’ (Factor, with levels “Right,” “Left,” “Neither.”)
  • Exer: how often the student exercises. (Factor, with levels “Freq” (frequently), “Some,” “None.”)
  • Smoke: how much the student smokes. (Factor, levels “Heavy,” “Regul” (regularly), “Occas” (occasionally), “Never.”)
  • Height: height of the student in centimetres.
  • M.I: whether the student expressed height in imperial (feet/inches) or metric (centimetres/metres) units. (Factor, levels “Metric,” “Imperial.”)
  • Age: age of the student in years.

Définition du répertoire de travail

Vous avez la possibilité de définir un Répertoire de travail dans lequel vous allez stocker votre script R, vos données etc… Ceci est réalisé par la fonction setwd("..Chemin/de/votre/repertoire"). Cette fonction considère comme seul paramètre le chemin d’accès au répertoire que vous avez choisi. A tout moment, vous pouvez vérifier le répertoire de travail courant en executant l’instruction suivante:

getwd()

1. Définisser votre répertoire de travail.

Chargement des données

Il existe une multitude de fonctions qui permettent de charger un fichier de données. Télécharger le fichier de données en cliquant ici et enregistrer le dans votre répertoire. Ensuite utiliser la fonction read.csv() pour charger les données dans . Cette fonction prend comme principaux paramètres d’entrée le fichier à charger (file="data.txt"), le séparateur de colonnes dans le fichier initial (sep=) et la présence (ou non) des noms de colonnes dans le fichier (header=).

Ouvrez toujours le fichier de données dans un éditeur de texte pour connaitre le séparateur de colonnes et voir si les noms de colonnes sont présents.

2. Charger le fichier des données dans l’enquête dans un tableau nommé data. L’instruction de chargement du fichier est la suivante:

donnees = read.csv("enquete.csv", header = T , sep=",")

Le fichier de données est chargé dans l’environnement et est affecté à l’objet donnees. C’est cet objet, de type dataframe qui va faire l’objet de manipulations par la suite.

3. Afficher le nombre de d’observations (lignes) et le nombre de variables (colonnes).

4. Utiliser la fonction head() pour afficher les premières lignes (6 par défaut) de données chargées.

5. L’accès à une colonne d’un dataframe se fait par la notation $: nom_du_dataframe$nom_variable. Afficher les valeurs de la variable Age de vos données.

Analyse descriptive univariée

Indicateurs statistiques pour variables quantitatives

6. Calculer et afficher la moyenne et l’écart-type d’age des élèves qui ont participé à l’enquête.

7. Appliquer la fonction summary() sur la variable Age. Qu’est ce que cette fonction calcule et affiche?

Représentations graphiques pour variables quantitatives

8. Tracer l’histogramme de la variable Age. Ecrire un titre correspondante à votre figure, modifier les noms des axes et les couleurs des bâtons.

9. Afficher la boîte à moustache correspondante à la variable Age. Commenter ce qu’on observe sur cette figure.

Indicateurs statistiques et représentations graphiques pour variables qualitatives

10. Choisir une variable qualitative parmi les variables de cette enquête. Justifier votre choix. Calculer et afficher les effectifs et les fréquences de cette variable.

Pour voir les variables dans votre dataframe, vous pouvez utiliser la fonction names() pour afficher les noms des variables, ou str() (structure) pour voir toutes les colonnes, leur types, les quelques premières valeurs, etc.. Ou simplement dans Rstudio on peut voir la structure du dataframe dans la fenêtre “Environment.”

11. Afficher un diagramme circulaire (en utilisant la fonction pie()) pour la variable qualitative choisie.

Analyse descriptive bivariée

Indicateurs pour le croisement de deux variables qualitatives

Le tableau de contingence est un moyen particulier de représenter simultanément deux caractères observés sur une même population, s’ils sont discrets ou bien continus et regroupés en classes. 12. Un tableau de contingence des effectifs joints croisant deux variables qualitatives est réalisé par la fonction table(). Effectuer et afficher le croisement de deux variables (Sex) et (Smoke).

13. Utiliser la fonction addmargins() pour ajouter au tableau les effectifs marginaux.

Représentations graphiques pour le croisement de deux variables qualitatives

On peut représenter le croisement de deux variables qualitatives avec un diagramme en bâtons. Dans le cas de deux variables qualitatives, la fonction barplot() prend comme premier paramètre le tableau de contingence.

14. Afficher un diagramme en bâtons représentant la distribution du tabagisme (variable Smoke) en fontion du sexe des étudiants. La figure souhaitée est la suivante:

On remarque qu’il y a plus d’hommes que des femmes qui fument régulièrement. (selon l’enquête réalisée)

Il est plus convenable dans ce cas de représenter le croisement de ces deux variables qualitatives à l’aide d’un mosaicplot.

Indicateurs pour le croisement d’une variable qualitative et d’une variable quantitative

Disons qu’on souhaite calculer la moyenne de fréquence cardiaque chez les hommes ayant répondu au questionnaire de l’enquête. On a besoin de filtrer le dataframe de la façon suivante:

# On utilise la fontion subset pour créer un sous ensemble de nos données
# Remarquer qu'on utilise == pour comparer
pulse_hommes = subset(donnees, donnees$Sex=="Male")

15. Vérifier que le sous ensemble créé pulse_homme ne contient que des hommes.

16. Ensuite calculer les indicateurs statistiques de la fréquence cardiaque chez les hommes (vous pouvez utiliser la fonction summary()).

17. Faire la même chose mais pour les femmes.

Représentation graphique pour le croisement d’une variable qualitative et d’une variable quantitative

On peut réaliser une boîte à moustache des valeurs de la variable quantitative en fonction des modalités de la variables qualitative, pour cela on peut utliser la fonction boxplot(). Plus précisémeent, on utilise le paramètre formula qui permet de spécifier que nous voulons une boîte à moustache de la variable quantitative en fonction (caractère ~ ) de la variable qualitative.

18. Afficher sur une même figure la fréquence cardiaque en fontion du sexe. Interpréter la figure.

La figure souhaitée est la suivante:

19. Afficher sur une même figure la taille (variable Height) en fontion du sexe. Interpréter la figure.

Représentation graphique pour le croisement de deux variables quantitatives

Un nuage de points entre les deux variables quantitatives est réalisé par la fonction plot(). Le premier paramètre correspond à la variable en abscisse et le deuxième à la variable en ordonnées.

20. Afficher la fréquence cardiaque en fonction de l’age. Modifier les paramètres de la figure (titre, noms des axes, couleurs des points, tailles, formes, etc..)