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.

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 :

library(nom-du-package)

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.

colnames(df) <- c("Var1", "Var2", .., "VarM") # M variables dans df

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).

data$VarQuali <- as.factor(data$VarQuali) # Pour une variable qualitative nommée VarQuali

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.

df <- na.omit(df)

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.

df <- data.frame("Var1" = ..,
                 "Var2" = .., 
                 "Var3" = ..)  

# A gauche de l'égalité le nom de chaque variable et à droite un vecteur.
# /!\ Les vecteurs à droite doivent tous être de même taille.

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.