Analyses statistiques avec R
Manuel destiné aux étudiants du cours LBIRA2110 Biométrie mais en général à d’autres utilisateurs d’outils statistiques en science expérimentale
1 Introduction
Durant votre cursus du cours LBIRA2110, nous vous offrons la chance de vous former au logiciel et langage de programmation R.
R c’est LE logiciel libre référence dans le domaine de l’analyse statistique de données. Programmer en R nécessite R-Studio qui est une interface utilisateur facilitant l’utilisation du langage R.
1.1 Installation
L’installation de R et R-studio n’est pas très compliquée mais requiert de suivre à la lettre plusieurs étapes. Le lien suivant vous mènera vers un support où l’installation est détaillée:
~> Installation détaillée de R et R-Studio
En suivant scrupuleusement ces étapes vous ne devriez avoir aucun soucis!
1.2 Bases du language R
R est un langage de programmation à part entière. Avant de vouloir réaliser des analyses statistiques il faut apprendre les bases. Pour vous familiariser avec le langage à l’UCLouvain, la société DataCamp vous donne l’occasion de suivre une série de cours en ligne gratuitement. Data Camp est une plateforme de cours de R et Python en ligne développée par une équipe Belge de la région de Leuven.
Dans le cadre du cours de biométrie, nous vous proposerons de suivre pour commencer le cours Introduction to R composé de 6 modules. Utilisez bien le lien fourni par votre titulaire du cours Biométrie pour vous inscrire afin de bénéficier d’un accès gratuit aux cours Data Camp. Veillez à bien utiliser votre adresse UCLouvain pour cette inscription.
Voici le lien d’autoinscription si vous suivez le cours de biométrie : DataCamp
ATTENTION vous devez impérativement vous inscrire avec votre adresse UCLouvain
De nombreux autres modules existent et nous vous encourageons à les découvrir. Citons par exemple :
En complément à Data Camp, les liens suivant vous aideront dans votre apprentissage.
- Apprendre les bases ~> Exploration de données avec R par A. El Ghouch
- Cheatsheet R ~> Cheatsheet
1.3 Packages
R contient de base une multitude de fonctions. Mais étant un langage de programmation communautaire, il dispose également d’une multitude d’extensions créées par des utilisateurs. Ces extensions sont appelées packages.
Un package contient bon nombre de fonctions et/ou de jeux de données à utiliser pour réaliser les analyses souhaitées.
- Apprendre à gérer des packages ~> Bookdown
Dans le cadre de ce cours nous utiliserons essentiellement les packages ci-dessous:
PACKAGE | |
---|---|
readxl | Importer des données depuis des fichiers Excel |
rmarkdown | Convertir directement vos codes et sorties en rapports depuis Rstudio |
pander | Rendre les sorties R plus esthétiques dans les rapports Rmarkdown |
dplyr | Manipuler des données |
car - Hmisc - EnvStats - epitools | Diverses fonctions pour l’inférence, la modélisation et l’analyse de données |
emmeans | Estimations et inférence sur des contrastes en modélisation |
visreg | Visualiser une régression |
sjPlot | Collection de fonctions pour visualiser des données |
FactoMineR | Réaliser une analyse en composantes principales |
factoextra | Analyser des données multivariées et visualiser les résultats |
Le plus simple est d’installer tous les packages en une fois sur votre ordinateur en début d’année via le menu [Tools -> Install] Packages.
Un fois un package installé, vous devez toujours le charger quand vous l’utilisez dans un code/script donné via la fonction :
1.4 Importer des données
Lorsqu’on dispose de données, il faut tout d’abord les importer dans R pour ensuite les analyser. En fonction du type de fichier dans lequel sont stockées les données, la fonction à utiliser est différente.
Pour importer des données ..
# Depuis un fichier de type .txt
data <- read.table(file = "path/file.txt", header = TRUE / FALSE, sep = .. , dec = .. )
# Depuis un fichier de type .csv
data <- read.csv(file = "path/file.csv", header = TRUE / FALSE, sep = .. , dec = .. )
# Depuis un fichier de type .xlsx
data <- readxl::read_xlsx(path = "path/file.xlsx", sheet = .. , col_names = TRUE / FALSE)
Quelques remarques
- Si les observations sont séparées par TAB, utiliser
sep="\t"
- Si il y a une observation par case dans un fichier .csv, utiliser
sep=";"
L’objet data
résultant de cette lecture est un objet de type dataframe.
1.5 Dataframe
Le dataframe est une structure centrale de R. C’est comme son nom l’indique un tableau de données pour lequel les colonnes correspondent à une variable et les lignes à un individu.
- Apprendre plus sur les dataframes ~> Dataframe
1.5.1 Préparer un dataframe
Supposons que nous disposions d’un dataframe df
. Avant de commencer une quelconque analyse il faut le préparer.
Noms des variables S’ils ne sont pas valides (ex: un nom de variable en 2 mots ou contenant des caractères spéciaux) ou bien simplement s’ils ne sont pas très clairs il est possible de renommer soi-même les variables.
Encodage des variables qualitatives Celles-ci doivent être encodées commes des facteurs. Un niveau correspond à une modalité. Par défaut les variables qualitatives sont encodées comme des chaines de caractères (ou bien comme des nombres si les modalités sont représentées par des chiffres).
Données manquantes La façon la plus simple de gérer cela est d’omettre chaque ligne de df où des données sont manquantes. La plus part des fonctions ne gèrent pas les données manquantes. C’est un moyen efficace pour éviter les erreurs mais qui peut bien-sûr vous faire perdre beaucoup d’information.
1.5.2 Manipulation
Pour manipuler les données contenues dans un dataframe, des fonctions de base existent ainsi que le package dplyr
pour ceux qui veulent aller plus loin. Ce package contient quelques fonctions très intuitives pour la manipulation d’un dataframe.
# Filtrer les individus
subset(df, subset=condition)
dplyr::filter(df, ..)
# Sélectioner des variables
df$X
subset(df, select=...)
dplyr::select(df, ..)
# Ajouter une nouvelle variable
cbind(df,...)
dplyr::mutate(df, ..)
# Transformer une variable existante
transform(df,...)
dplyr::transmute(df, ..)
1.5.3 Création
Une autre façon que l’importation pour créer un dataframe est tout simplement de le créer à la main.
1.6 Rmarkdown
Rmarkdown est une extension de R permettant de construire directement des rapports HTML, PDF ou Word depuis R incluant le code utilisé ainsi que les résultats obtenus.
- Apprendre Rmarkdown ~> Rmarkdown
- Cheatsheet Rmd ~> CheatSheet