Afin de faciliter notre travail en travaux dirigés, je vous partage un dossier OneDrive.

Il vous est demandé de synchroniser ce dossier OneDrive sur votre ordinateur personel.nnnn
Si vous travaillez sur un ordinateur de l’école, dans ce cas il est plus pratique de créer un raccourci du dossier partagé sur votre OneDrive ISTOM. La démarche à suivre est très bien expliquée sur cette vidéo.

R est un langage de programmation et un environnement statistique open-source, largement utilisé pour l’analyse de données, les statistiques et la science des données. Créé dans les années 1990 par Ross Ihaka et Robert Gentleman, il est particulièrement apprécié pour sa puissance dans le traitement des données, la modélisation statistique et la visualisation graphique. Grâce à une vaste communauté de développeurs, R bénéficie d’un large écosystème de packages (via CRAN) qui étendent ses fonctionnalités dans divers domaines, comme l’apprentissage automatique, la bioinformatique et l’économétrie.
RStudio est un environnement de développement intégré (IDE) conçu pour faciliter l’utilisation de R. Il offre une interface conviviale avec un éditeur de code avancé, une console interactive, des outils de visualisation et un gestionnaire de projets. Disponible en version gratuite et professionnelle, RStudio améliore l’expérience utilisateur grâce à des fonctionnalités telles que l’auto-complétion du code, l’intégration avec Git, la gestion des environnements et la possibilité de générer des rapports dynamiques avec R Markdown et Quarto.
Sur RStudio il est possible d’utiliser R Markdown et Quarto:
R Markdown est un format de document qui permet d’intégrer du code R dans un fichier texte et de générer des rapports dynamiques sous divers formats (HTML, PDF, Word, etc.). Il est très utilisé pour la documentation, les rapports d’analyse et les présentations interactives.
Quarto est une évolution de R Markdown, plus flexible et multi-langage, permettant d’intégrer du code non seulement en R, mais aussi en Python, Julia et d’autres langages. Il est conçu pour produire des documents scientifiques, des articles, des tableaux de bord et des sites web interactifs avec un meilleur support pour la reproductibilité des analyses.

Ensemble, R, RStudio, R Markdown et Quarto forment un écosystème puissant pour l’analyse de données, la visualisation et la communication scientifique, largement utilisé dans les milieux académiques et professionnels.
Afin d’installer R et RStudio il est nécessaire d’avoir :
Il est aujourd’hui possible de trouver des ordinateurs de qualité à moindre prix, en reconditionné, par exemple sur ce site https://www.backmarket.fr/fr-fr.
R : Rendez-vous sur le site officiel CRAN. pour télécharger et installer R.
install R for the first time puis lancez-le. Vous devez aussi installer Rtools via le lien sur le CRAN ou en utilisant les lignes de code suivantes dans R :install.packages("utils")
install.packages("installr")
installr::install.Rtools()
Rstudio est un IDE.
En programmation informatique, un IDE (environnement de développement) est un ensemble d’outils qui permet d’augmenter la productivité des programmeurs qui développent des logiciels. Source : Wikipédia
Dans cette partie vous allez apprendre à installer RStudio, l’environnement dans lequel vous allez coder en R.
RStudio : L’interface utilisateur graphique que vous allez utiliser pour travailler avec R. Téléchargez-le depuis RStudio. Choisissez bien l’installateur associé à votre système d’exploitation et suivez les consignes.
Dans cette partie nous allons apprendre à personnaliser RStudio de sorte à avoir un environnement de travail agréable à utiliser.
Lorsque que vous ouvrez RStudio pour la première fois, votre écran doit ressembler à ça.

Les versions de R et RStudio peuvent être legerement différentes, donc quelques différences sont possibles entre ce que vous avez sur votre ordinateur et ce que vous pouvez observer sur cette capture d’écran.
L’organisation de ces parties est complètement modulable à votre guise dans :
Tools > Global options
Nous allons débuter par personaliser le Pane Layout.
Tools > Global options > Pane Layout

Nous allons à présent ajuster l’apparence de RStudio suivant nos propres préférences. Le chemin pour ces modification est toujours le même :
Tools > Global options
Nous commençons par R General :
Tools > Global options > R General

Nous passons à Code/Editing :
Tools > Global options > Code > Editing

Sélectionnez Use native pipe operator
Nous passons à Code/Display :
Tools > Global options > Code > Display

Sélectionnez Use rainbow parentheses
Nous passons à Appearance :
Tools > Global options > Appearance

A vous de sélectionner les options qui vous conviennent le mieux !
Ne pas oublier de cliquer sur apply !
Afin de vérifier si vous avez la bonne version, vous pouvez rentrer dans la Console
sessionInfo()

Un projet centralise les éléments de travail et facilite la compréhension et la réutilisation du code. Un projet, c’est une manière de travailler qui va vous permettre d’écrire du code, mais pas que. En effet, un projet RStudio est globalement un dossier informatique dans lequel se trouvent des données, des scripts mais aussi de la documentation, des images et tout ce qu’il vous faut pour travailler. Lorsqu’on travaille sous forme de projet, il n’y a pas d’interaction involontaire entre les codes de différents projets.
Maintenir les packages R et Rstudio à jour.
Les packages peuvent être mis à jour dans l’onglet Packages puis en cliquant sur Update ou dans le menu
Tools > Check for Package Update. À faire au moins une fois par mois.
Lors de la création d’un projet, le dossier ne contient que le fichier .Rproj , c’est le projet. Il est très fortement conseillé de créer des sous-dossiers : - data_raw (qui regroupent toutes les données brutes) - data (qui regroupent les données retravaillées) - doc (de la documentation ou tout autre document utile) - img (les images utiles à notre projet)
Nous allons à présent créer notre premier projet. Il y a plusieurs chemin pour créer un projet, tous sont équivalents. Une possibilité est de cliquer sur Project en haut à droite de votre fenêtre RStudio.

Vous avec alors la possibilité de créer un projet à partir d’un dossier vide ou existant. Nous choisirons pour cette prmière fois de créer un projet à partir d’un dossier vide. Nous créons quatre sous dossiers : data_raw, data, doc et img.

On peut alors observer dans le cadran en bas à droite : - 1st_project.Rproj - data - data_raw - doc - img
Nous allons créer notre premier script R.
File > New File > R Script2 + 3
Dans la partie suivante nous allons voir les bases du language R.
Quarto, c’est la nouvelle génération de R markdown. De manière basique, vous pourrez générer des documents (qui intègrent ou pas du code R) dans les formats html, word ou pdf, mais avec plus de facilité pour gérer, par exemple, les images, les références croisées. Vous pourrez également réaliser des diapositives, des dashboards et des sites webs, des livres, comme R markdown mais nativement, c’est à dire sans faire appel à des packages complémentaires comme bookdown (livres), xaringan (slides), flexdasboard (dashboard).
Voici un rapide tour d’horizon de la syntaxe, pour plus d’informations :
*italique***gras*****gras et italique***~~raturé~~`code`# Titre de premier niveau## Titre de deuxième niveau### Titre de troisième niveauVous pouvez retrouver les principales syntaxes sur Markdown à cette page.
Nous allons créer notre premier script Quarto.
File > New File > Quarto Document
Rmarkdown. Pour cela il vous suffit d’aller dans le cadran en bas à droite et de cliquer sur Packages puis Install. Une boite de dialogue s’ouvre :
Cliquez sur Install, et enregistrez votre script. Le script Quarto apparrait alors dans le cadran en bas à droite dans la fenetre Files. Vous pouvez vous amuser avec ce script, lancer les morceaux de code R. Pour générer le document html cliquer sur la petite fleche bleue Render the current document, ou utilser le raccourci Ctrl + Shift + K.
Si vous souhaitez modifier la le format de sortie, par exemple récupérer un pdf à la place d’un html, il vous suffit d’crire pdf à la place de html dans le code : fenetre en haut à gauche puis Source.
Un ensemble d’exemple de ce qui est possible de faire avec Quarto.
Le système d’aide en ligne fourni avec R est accessible via la commande help(). Lorsque l’on connaît le nom de la commande R, par exemple, cmd, on peut taper help(cmd) ou ?cmd (sauf dans le cas de certains opérateurs). Sinon, on peut rechercher à partir de mots-clés en tapant help. search(). Une alternative pour la recherche par motif consiste à utiliser apropos(). Pour connaître toutes les commandes fournies par un package (e.g., pkg), il suffit de taper help(package=pkg).
Nous avons vu que R peut effectuer des opérations mathématiques. Par exemple :
2 + 3
ou encore
2 * 3
Pour récupérer du texte en sortie, il est nécesaire de l’écrire de cette façon :
"ISTOM, Ecole supérieure d'agro-développement international"
Sans les guillemets R retourne une erreur.
En revanche pour récupérer des nombres en sortie, il suffit simplement de rentrer ces nombres :
105
8
89
2576
978364
Afin d’ajouter des commentaires dans votre code (tres fortement conseillé), il suffit d’écrire :
# L'école la plus cool ;-)
"ISTOM, Ecole supérieure d'agro-développement international"
Il est très souvent utile de créer des variables. Cela se fait de la manière suivante
ecole <- "ISTOM"
adresse <- "4 Rue Joseph Lakanal, 49000 Angers"
date_creation <- 1908
De cette façon si ensuite vous rentrez
ecole
il vous sortira simplement ISTOM.
On peut également manipuler ces variables. Par exemple :
paste("L'",ecole,"a été créée en",date_creation)
ou encore
date_creation <- 1908
nombre_etudiant_promotion <- 60
(2025-date_creation)*nombre_etudiant_promotion
On peut attribuer la même valeur à plusieurs variables.
var1 <- "Angers"
var2 <- "Angers"
var3 <- "Angers"
var1
var2
var3
Il existe différents types de données sur R, on peut citer :
numeric (10.5, 55, 787)
integer (1L, 55L, 100L, où le “L” informe R que c’est un integer)
complex (9 + 3i)
character / string (“k”, “Les stat c’est cool”, “FALSE”, “11.5”)
logical / boolean - (TRUE or FALSE)
On peut vérifier le type de donnée d’une variable en utilisant la fonction class().
# numeric
x <- 10.5
class(x)
# integer
x <- 1000L
class(x)
# complex
x <- 9i + 3
class(x)
# character/string
x <- "R is exciting"
class(x)
# logical/boolean
x <- TRUE
class(x)
Il y a trois types de nombres : numeric, integer et complex. On peut convertir un nombre d’un type à un autre en utilsant les fonctions :
as.numeric()
as.integer()
as.complex()
Plusieurs fonctions utiles pour les character / string :
Connaitre la longueur d’une string : nchar(ecole)
Savoir si une string est contenue dans une autre string : grepl("I",ecole)
Regrouper deux strings : paste("Cette ecole a été créée en",date_creation)
En ce qui concerne les vraiables logical / boolean on a simplement :
10 > 9 # TRUE car 10 est plus grand que 9 !
10 == 9 # FALSE car 10 n'est pas egale à 9 !
10 < 9 # FALSE car 10 est plus grand que 9 !
Quelques outils d’arithmétques :
2 + 3 # Addition
2 - 3 # Subtraction
2 * 3 # Multiplication
2 / 3 # Division
2^3 # Exponent
Quelques outils de comparaison
3 == 3 # Check if equal
5 != 3 # Check if not equal
5 > 3 # Check if 5 is greater than 3
5 < 3 # Check if 5 is less than 3
5 >= 3 # Check if 5 is greater than or equal to 3
5 <= 3 # Check if 5 is less than or equal to 3
On peut ranger ces données dans différents objets :
x <- c(55, 1, 2, 3, 4)
x
length(x)
sort(x)
x[3]
x[c(1,3)]
x[c(-1)]
x[4] <- 100
x
-Listes : Une séquence d’éléments qui peuvent être différents.
ma_liste <- list("apple", "banana", "cherry")
ma_liste
ma_liste[1]
ma_liste[2] <- "pineapple"
length(ma_liste)
"apple" %in% ma_liste
append(ma_liste,"orange",after=3)
mat <- matrix(1:9, nrow = 3, ncol = 3)
mat
mat[1,2]
mat[1,]
mat[,2]
mat[c(1,2),]
mat[,c(1,2)]
mat_add_column <- cbind(mat,c(50,8,47))
mat_add_column
mat_add_row <- rbind(mat,c(50,8,47))
mat_add_row
mat_remove_line_column_one <- mat[-c(1), -c(1)] #Remove the first row and the first column
mat_remove_line_column_one
dim(mat)
df <- data.frame(
Age = c(25, 30, 35),
Sexe = c('Homme', 'Femme', 'Homme'))
df
summary(df)
df[1]
df[["Age"]]
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))
music_genre
levels(music_genre)
length(music_genre)
music_genre[3]
music_genre[3] <- "Pop"
music_genre
RStudio est l’environnement qui va vous permettre d’analyser vos données. Vous allez maintenant apprendre à charger des données dans RStudio, les modifier puis les ressortir de RStudio.
Nous allons apprendre à ouvrir un fichier CSV consacré que voustéléchargerez sur le site open data du gouvernement. Choisissez un jeu de donnée qui vous interesse. Vous enregistrer ce fichier dans le dossier data_raw de votre projet sous R. Ce fichier CSV est un fichier texte où les données sous formes de tables sont séparées par des virgules. C’est le format de table par excellence à privilégier car nativement pris en compte par R, sans limite de lignes, contrairement à Excel. Pour ma part j’ai choisi ce jeu de données.
data_raw de votre projet sous Rmixite_groupe_edf <- read.csv("data_raw/mixite-dans-le-groupe-edf.csv",sep = ";")
Pour éviter les erreurs : Lisez la page d’aide avant d’utiliser une fonction pour la première fois grâce à la fonction
help()ou l’onglet Help.
Ecrivez sous R
> help("read.csv")
Vous récupérez dans le cadran en bas à droite la documentation de la fonction read.csv.
Il est cependant fréquent que les données ne soit pas regroupées dans un fichier CSV, mais directement dans un fichier Excel.
Il est nécessaire de charger le package readxl. Deux possibilités s’offrent à nous, soit on procède comme précement pour le package rmarkdown, soit on écrit sur la ligne de code suivante :
install.packages("readxl")
Et maintenant nous allons charger les données d’un fichier excel récupérer sur ce site.
library(readxl)
salaire <- read_excel("data_raw/mrsd_2022Wages_Occ_Ind_List.xlsx")
Cela ne fonctionne malheuresement pas très bien. Il est nécessaire de péciser l’onglet sur lequel on va travailler et les celules qui nous intéressent.
library(readxl)
salaire <- read_excel("data_raw/mrsd_2022Wages_table4.xlsx", sheet = "T4", range = "B10:J352")
Enfin pour ajouter les titre de chacune des colonnes on écrit
library(readxl)
salaire <- read_excel("data_raw/mrsd_2022Wages_table4.xlsx", sheet = "T4", range = "B10:J352", col_names = {
c("SSOC 2020","Occupation","Number Covered","Basic Wage - 25th Percentile ($)", "Basic Wage - Median ($)","Basic Wage - 75th Percentile ($)","Gross Wage - 25th Percentile ($)", "Gross Wage - Median ($)","Gross Wage - 75th Percentile ($)")})
mixite_groupe_edf <- read.csv("data_raw/mixite-dans-le-groupe-edf.csv",sep = ";")
View(mixite_groupe_edf)
Afin de remplacer une valeur dans une cellule, il faut localiser cette cellule et lui donner sa valeur. Cela se fait de la manière suivante :
mixite_groupe_edf <- read.csv("data_raw/mixite-dans-le-groupe-edf.csv",sep = ";")
mixite_groupe_edf[38, 5] <- "Mars" # cellule à la 28eme ligne et 1ere colonne
De la même manière, vous allez pouvoir sélectionner toutes les lignes de plusieurs colonnes en ne mettant rien avant la virgule, et les colonnes d’intérêt listées après.
mixite_groupe_edf <- read.csv("data_raw/mixite-dans-le-groupe-edf.csv",sep = ";")
# avec le nom des colonnes
mixite_groupe_edf_fr <- mixite_groupe_edf[, c("tri", "annee", "perimetre_juridique", "perimetre_spatial", "indicateur", "valeur_de_l_indicateur", "unite", "methode_de_consolidation")]
# ou la position des colonnes
mixite_groupe_edf_fr <- mixite_groupe_edf[, c(1:3, 5, 7, 9, 10, 12)]
Vous remarquerez qu’un nouveau tableau a été créé, associé au nom mixite_groupe_edf_fr. Il est possible de réutiliser le même nom, ce qui permet de gagner en mémoire mais élimine les données de base.
Les modifications réalisées dans l’environnement de RStudio n’impactent pas les données en dehors tant qu’elles ne sont pas enregistrées.
Pour enregistrer une table sous format CSV, il suffit d’utiliser la fonction write.csv() :
mixite_groupe_edf <- read.csv("data_raw/mixite-dans-le-groupe-edf.csv",sep = ";")
mixite_groupe_edf_fr <- mixite_groupe_edf[, c(1:3, 5, 7, 9, 10, 12)]
write.csv(x = mixite_groupe_edf_fr, file = "data/presence_femme_edf.csv") .
Si vous souhaitez enregistrer votre fichier au format XLSX (Excel), il sufiit d’écrire : ```{r} install.packages(“writexl”) library(writexl) write_xlsx(x = mixite_groupe_edf_fr, path = “data/presence_femme_edf.xlsx”)
Pour créer une fonction on écrit :
my_function <- function() { # create a function with the name my_function
print("L'ISTOM c'est top!")
}
my_function()
On peut créer des fonctions avec des arguments :
ma_promo <- function(promo,groupe) {
paste("Promotion", promo, "groupe", groupe)
}
ma_promo(114,"A")
ma_promo(115,"B")
On a également :
ma_multiplication <- function(x) {
return (5 * x)
}
print(ma_multiplication(3))
print(ma_multiplication(5))
print(ma_multiplication(9))
Le mieux est d’illustrer ceci sur un exemple :
a <- 200
b <- 33
if (b > a) {
print("b is greater than a")
} else if (a == b) {
print("a and b are equal")
} else {
print("a is greater than b")
}
Sur un exemple :
x <- 41
if (x > 10) {
print("Above ten")
if (x > 20) {
print("and also above 20!")
} else {
print("but not above 20.")
}
} else {
print("below 10.")
}
Un exemple pour AND
a <- 200
b <- 33
c <- 500
if (a > b & c > a) {
print("Both conditions are true")
}
Un exemple pour OR
a <- 200
b <- 33
c <- 500
if (a > b | a > c) {
print("At least one of the conditions is true")
}
R a deux commandes pour les boucles : - while loops - for loops
i <- 1
while (i < 6) {
print(i)
i <- i + 1
}
un autre exemple
i <- 1
while (i < 6) {
print(i)
i <- i + 1
if (i == 4) {
break
}
}
Un dernier exemple pour illsutrer la fonction next
i <- 0
while (i < 6) {
i <- i + 1
if (i == 3) {
next
}
print(i)
}
Un exemple pour une boucle for
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
print(x)
}
ou encore
adj <- list("red", "big", "tasty")
fruits <- list("apple", "banana", "cherry")
for (x in adj) {
for (y in fruits) {
print(paste(x, y))
}
}