ANALYSE DES DONNÉES & AIDE À LA
DÉCISION
Initiation au langage/ logiciel R
Mme DIAKITE Rokiatou DIARRA
TechnoLAB-ISTA
Année universitaire 2022-2023
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la
1
Décision
Installation et configuration
Prise en main avec R
• Plan
Installation et configuration
Prise en main avec R
2/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration
Prise en main avec R
• La base R
Installation
• Allez sur le site officiel de R www.r-project.org puis cliquez sur le menu download pour aller à la page de choix de
miroir de téléchargement cran (lien direct cran.r-project.org/mirrors.html)..
• Choisissez le miroir de téléchargement le plus près (Espagne, Portugal ou France). Un miroir des miroirs de la
France est via le lien direct cran.biotools.fr.
• Choisissez l’OS et procéder au téléchargement.
• Lancez le fichier d’installation et suivez les instructions
Lancement de session
On clique sur l’icône R et la session se lance en console :
La console R attend une instruction à interpréter et exécuter.
3/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration
Prise en main avec R
• L’IDE Rstudio • L’environnement de Rstudio
• Allez sur le site officiel de
Rstudio www.rstudio.com
• A partir du lien de
téléchargement, choisissez l’OS
et procéder au téléchargement.
• Lancez le fichier d’installation
et suivez les instructions.
4/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration
Prise en main avec R
• L’environnement de Rstudio
Astuces :
• Dans l’éditeur de texte : CTRL + ENTREE sur une ligne sélectionnée exécute la ligne.
L’appui sur Run fait la même chose.
• Lorsqu’une instruction est exécuté, R retourne > si l’exécution est finie sinon retourne + en attente de la suite de
l’instruction.
• Dans la console : la commande save.image() ou quit permet d’enregistrer la session en cours (variables, fonctions, ...).
• Installation de nouveaux packages
Un package est un ensemble de programmes R qui permet d’augmenter les fonctionnalités de R. En cas de besoin
d’un package spécifique, on utilise l’onglet Package de Rstudio ou la fonction install.packages("nom_du_package")
dans la console.
Pour utiliser un package, on la charge dans la session de travail via la fonction library(nom_u_package).
Certains packages évoluent vite, il est nécessaire de faire leur mise à jour.
La fonction update.packages() effectue la mise à jour des packages en nécessitant.
5/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Plan
Installation et configuration
Prise en main avec R
• Calculs avec R
• Les objets R
6/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• R comme une super calculatrice R permet de faire les opérations de calcul élémentaire.
Somme (+, -), produit (*) et division (/) R possède en mémoire la valeur de quelques constantes
>3+4 mathématiques, comme la constante π qui est appelée par la
commande pi.
[1] 7
> 2.5 + 3/4 > pi
[1] 3.25 [1] 3.141593
> 2*4 R permet de faire des calculs plus élaborés. Il utilise pour cela
[1] 8 des fonctions.
> 2.3+9-5.1
> sqrt(2) # racine carrée > round(pi,2) # pi arrondi à 2
[1] 6.2
[1] 1.414214 # chiffres après la virgule
> 3*2-5*(2-4)/6.03 [1] 3.14
> log(2) # logarithme népérien
[1] 7.658375
[1] 0.6931472
> 3^2
[1] 9 NB : en fonction de l’opération et des opérandes, R trouve le type du résultat et sa
représentation en mémoire.
7/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les variables
Identificateur (nom de variable)
Mêmes observations que ailleurs (nom constitué de lettres minuscules/ majuscules, chiffres, symbole souligné).
En particulier, un nom :
ne doit pas commencer par un chiffre ;
est sensible à la casse (c-à-d a différent de A) ;
ne doit pas être un mot clé (réservé à R).
• Notion d’objet en R
R utilise des objets sous forme matricielle.
Ces objets peuvent être des variables basiques (nombres, caractères), des variables avancés
(vecteurs, facteurs, listes, matrices, data frames), des fonctions, des packages, etc ...
8/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les scripts
Afin de sauvegarder son travail ou de faire des rapports, il est utile de créer des scripts. Il s’agit d’un fichier texte
contenant une succession de commandes R.
Dans l’onglet File de RStudio, choisir New File puis R Script. Enregistrer votre fichier à l’emplacement de votre choix.
Pour tout travail, je vous conseille de taper directement vos commandes dans le script, puis de les exécuter dans la
console en utilisant la fonction Run.
Il est possible d’insérer des commentaires dans vos scripts en les faisant précéder du caractère #.
# ceci est un commentaire.
Lorsque vous souhaitez commenter plusieurs lignes du code R, la manière classique de le faire consiste à placer
un caractère # en début de chaque ligne, car R ne prend en charge les commentaires sur plusieurs lignes
Dans RStudio, vous pouvez faire cela en utilisant la combinaison de touches Ctrl+Shift+C dans Windows
9/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les variables de base Type, affectation et accès
Il existe 3 grandes classes de données:
Vecteurs simples: Ce sont des simples listes ordonnées de valeurs simples
Données composites (listes, data frames, etc.)
Données "spéciales" pour programmeurs
Il existe 6 types de valeurs simples: "logical", "integer", "double", "complex", "character", "raw"
Comment savoir le type d'une donnée ?
Utilisez la fonction typeof
seront enregistrés des character
typeof (var)
Pour chaque type, R définit aussi une classe. Un type représente l'organisation des données et la
classe ce qu'on peut faire avec.
Pour identifier le type de structures de données, il faut plutôt utiliser class () à la place de typeof(),
car la classe nous renseigne sur les méthodes de manipulation de l’objet
10/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les variables de base
Type, affectation et accès Quelques types particuliers :
Le type est défini automatiquement depuis l’affectation.
• NA : indique que la donnée n’est pas disponible
La fonction mode(var) aussi retourne le type (ou mode) de
"Note Available".
la variable passée en paramètre.
La fonction is.na(x) montre là où se trouvent les
L’affectation peut se faire via les opérateurs =, <- et ->.
valeurs manquantes d’un objet x.
> var1 = NULL sera enregistré un NULL (rien). • Inf : indique une valeur numérique très importante
> nbr1 <- 10 seront enregistrés des variables (1/0 ou exp(1e10) par exemple
> nbr2 <- 10.5 de type numeric. • NaN : indique le résultat d’un calcul
> var2 = TRUE sera enregistré un logical. mathématiquement impossible (log(-2) par
> ’J\’aime R!’ -> str1 exemple).
> "J’aime R!" -> str2 seront enregistrés des character
La fonction is.mode(var) permet de tester si la variable est du mode.
Par exemple is.NULL(var1) retournera TRUE. 11/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les vecteurs
Les vecteurs sont l’un des objets de base de R et correspondent à une liste de valeurs.
Leurs propriétés fondamentales sont :
• les vecteurs sont unidimensionnels
• toutes les valeurs d’un vecteur sont d’un seul et même type ;
• les vecteurs ont une longueur qui correspond au nombre de valeurs contenues dans le vecteur.
Création de vecteurs numériques.
> vec1 = 1:5 > vec3 = seq(1, 5, length=10) > vec5 = rep(1, 4)
> vec2 = seq(1, 5, by=0.5) > vec4 = c(0, vec1) > vec6 = rep(c(1, e), each=3)
Quel rôle joue chacune des manières de définir un vecteur ?
Création de vecteurs de caractères
Mêmes règles de définition que les trois lignes précédentes.
12/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les vecteurs
On accède via un indice ou ensemble d’indices. La numérotation des indices commence par 1.
> vec2[2]
[1] 1.5
> vec2[c(1,3)]
[1] 1 2
> vec2[3:5]
[1] 2 2.5 3
> vec2[-2]
[1] 1 2 2.5 3 3.5 4 4.5 5
13/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les facteurs
Ils permettent de manipuler des données qualitatives (numériques ou caractères).
En plus de stocker les éléments comme un vecteur classique, ils stockent également l’ensemble des modalités possibles
dit levels.
Les facteurs sont de 2 types (comme les variables qualitatives) :
non ordonnés, par exemple mâle et femelle, appelés factor ;
ordonnés, par exemple grand, moyen, petit, appelés ordered.
Création de facteurs qualitatifs
• directement par la fonction factor : • par conversion d’un vecteur :
> y <-c("M","F","F","M","F") > X <-c(rep(10,3),rep(12,2),rep(13,4)) > z <-c(1:5,5:1)
> yf<-factor(y) > Xqual<-factor(X) > z.f<-as.factor(z)
> yf Xqual > z.f
[1] M F FM F [1] 10 10 10 12 12 13 13 13 13 [1] 1 2 3 4 5 5 4 3 2 1
Levels: F M Levels: 10 12 13 Levels: 1 2 3 4 5
14/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les facteurs
Création de facteurs ordonnés
> niveau<-ordered(c("P", "P", "B","B", "AB", "AB", "AB","B"),
levels=c("P","AB","B"))
> niveau
[1] P PB BAB ABABB
Levels: P < AB < B
Interroger les attributs Renommer les labels
> attributes(yf) > levels(yf) > levels(yf) <-c( "Femme", "Homme" )
$levels [1] "F" "M" > yf
[1] "F" "M" > nlevels(yf) [1] Homme Femme FemmeHomme Femme
$class [1] 2 Levels: Femme Homme
[1] "factor"
15/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les facteurs
Convertir facteur en numérique
# conversion avec recodage des modalités
> as.numeric(Xqual)
[1] 1 1 1 2 2 3 3 3 3
# conversion sans recodage des modalités (2 étapes à faire )
> provisoire <-as.character(Xqual)
> provisoire
[1]"10" "10" "10" "12" "12" "13" "13" "13" "13 "
> as.numeric(provisoire)
[1] 10 10 10 12 12 13 13 13 13
16/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les matrices Elles permettent de stocker des données monotypes à double entrées
(matrice n lignes et m colonnes).
> x <-matrix(c(1:6),nrow=2,ncol=3, byrow=TRUE) > m <-matrix(1:4,nrow=3,ncol=3)
>x >m
[,1] [,2] [,3] [,1] [,2] [,3]
[1,] 1 2 3 [1,] 1 4 3
[2,] 4 5 6 [2,] 2 1 4
> y <-matrix(1:2,ncol=1) [3,] 3 2 1
>y > un <-matrix(1,nrow=2,ncol=4)
[,1] un
[1,] 1 [,1] [,2] [,3] [,4]
[2,] 2 [1,] 1 1 1 1
> z <-matrix(3:1,ncol=3) [2,] 1 1 1 1
>z
[,1] [,2] [,3]
[1,] 3 2 1
17/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les matrices
Récupération des dimensions Concaténation
> ncol(x) > cbind(c(1,2),c(3,4)) > rbind(c(1,2),c(3,4))
[1] 3 [,1] [,2] [,1] [,2]
> nrow(x) [1,] 1 3 [1,] 1 2
[1] 2 [2,] 2 4 [2,] 3 4
> dim(x)
[1] 2 3 Appliquer des opérations sur les matrices
> length(x) > apply(x, 1, sum) # somme par ligne > apply(x, 1, mean) # moyenne par ligne
[1] 6 [1] 6 15 [1] 2 5
> apply(x, 2, sum) # somme par colonne > apply(x, 2, mean) # moyenne par colonne
[1] 5 7 9 [1] 2.5 3.5 4.5
18/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les matrices
On accède via un indice ou ensemble d’indices. La numérotation des indices commence par 1.
> x[1] > x[2,,drop=F] > x[1,2]
[1] 1 [,1] [,2] [,3] [1] 2
[1,] 4 5 6
> x[2] > x[1, c(1,3)]
[1] 4 > x[,2] [1] 1 3
[1] 2 5
> x[1,] > x[1:2, -1]
[1] 1 2 3 > x[,2,drop=F] [,1] [,2]
[,1] [1,] 2 3
> x[2,] [1,] 2 [2,] 5 6
[1] 4 5 6 [2,] 5
19/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les data frames
Ils permettent de stocker des éléments de même longueur avec de divers modes.
C’est l’objet privilégié en analyse statistique : en effet, un tableau de données est constitué de variables quantitatives
et/ou qualitatives mesurées sur les mêmes individus.
Trois méthodes permettent de créer un data frame:
data.frame qui permet de concaténer des vecteurs de même taille et éventuellement de modes différents ;
read.table qui permet d’importer un tableau de données provenant d’un fichier externe (csv, txt, etc.) ;
as.data.frame pour la conversion explicite d’un objet à deux dimensions (comme une matrice).
20/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les data frames
Créer un data frame Quelques fonctions pour les attributs Convertir un data frame en matrice
> x <-c("A", "B", "C", "A") > length(mondf) > mond= data.matrix(mondf)
> y <-1:4 [1] 2 > mond
> mondf<-data.frame(x,y) > attributes(mondf) [,1] [,2]
> mondf $names [1,] A 1
x y [1] "x" "y" [2,] B 2
1 A1 $row.names [3,] C 3
2B2 [1] 1 2 3 4 [4,] A 4
3C3 $class
4A4 [1] "data.frame".
21/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les data frames
Visualiser un dataframe (résumé)
View(mondf)
22/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les data frames
Visualiser un data frame (résumé)
View(mondf)
23/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les data frames
On lit un fichier de données via la fonction read.table:
> dt1 <-read.table("data1.txt", sep=";", row.names=1, header=TRUE)
> dt1
age sexe taille poids
Raoul 21 M 172 80
Fred 22 M 185 85
Dominique 20 F 179 75
Rachel 22 F 165 69
• sep: indique le caractère de séparation ( ; ou " " ou "\t").
• header: indique si la première ligne contient les noms des colonnes.
• dec: indique le séparateur décimale (. ou ,).
• row.names: indique si une colonne contient le nom des lignes.
24/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les data frames
Remarque : on a supposé que le fichier se trouve dans l’espace de travail. Sinon, il faut :
• soit redéfinir le répertoire courant via la fonction
setwd("chemin")
• soit définir directement le chemin brut d’accès au fichier
read.table("chemin/nomFichier", ...)
Le chemin s’écrit avec le caractère /sous R et non\,surtout sous Windows.
25/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les data frames
Parfois, on peut avoir des données manquantes lors de l’importation.
Dans ce cas, R les remplace par NA.
> dt2 <-read.table("data2.csv",sep=";",header=TRUE,dec=",", row.names=1)
> dim(dt2)
[1] 112 ,13
> dt2[1:3, ]
maxO3 T9 T12 T15 Ne9 Ne12 Ne15 Vx9 Vx12 Vx15 maxO3v vent pluie
601 87 15.6 18.5 18.4 4 4 8 0.6946 -1.7101 -0.6946 84 Nord Sec
602 82 17.0 18.4 17.7 5 5 7 -4.3301 -4.0000 -3.0000 87 Nord Sec
603 92 15.3 17.6 19.5 2 5 4 2.9544 1.8794 0.5209 82 Est Sec
Studio permet des importations de tous les types de fichier sen utilisant l’onglet Import Dataset, situé dans le coin
supérieur droit.
26/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Installation et configuration Calculs avec R
Prise en main avec R Les objets R
• Les data frames
La fonction summary permet de donner un résumé sur chaque variable (colonne) d’un data frame. C’est un moyen de
vérifier le type après importation.
Lorsque c’est quantitatif, on a des statistiques (moyenne, écart-type, quartiles). Sinon, on a le nombre d’occurrence.
> summary(dt2)
maxO3 T9 T12 T15 Ne9 Ne12
Min. : 42.00 Min. :11.30 Min. :14.00 Min. :14.90 Min. :0.000 Min. :0.000
1st Qu.: 70.75 1st Qu.:16.20 1st Qu.:18.60 1st Qu.:19.27 1st Qu.:3.000 1st Qu.:4.000
Median: 81.50 Median:17.80 Median:20.55 Median:22.05 Median:6.000 Median:5.000
Mean : 90.30 Mean :18.36 Mean :21.53 Mean :22.63 Mean :4.929 Mean :5.018
3rd Qu.:106.00 3rd Qu.:19.93 3rd Qu.:23.55 3rd Qu.:25.40 3rd Qu.:7.000 3rd Qu.:7.000
Max. :166.00 Max. :27.00 Max. :33.50 Max. :35.50 Max. :8.000 Max. :8.000
Ne15 Vx9 Vx12 Vx15 maxO3v vent
Min. :0.00 Min. :-7.8785 Min. :-7.878 Min. :-9.000 Min. : 42.00 Est :10
1st Qu.:3.00 1st Qu.:-3.2765 1st Qu.:-3.565 1st Qu.:-3.939 1st Qu.: 71.00 Nord :31
Median:5.00 Median:-0.8660 Median:-1.879 Median:-1.550 Median: 82.50 Ouest:50
Mean :4.83 Mean :-1.2143 Mean :-1.611 Mean :-1.691 Mean : 90.57 Sud:21
3rd Qu.:7.00 3rd Qu.: 0.6946 3rd Qu.: 0.000 3rd Qu.: 0.000 3rd Qu.:106.00
Max. :8.00 Max. : 5.1962 Max. : 6.578 Max. : 5.000 Max. :166.00
pluie
Pluie:43
Sec :69
27
/28
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
Initiation au langage/ logiciel R
Mme DIAKITE Rokiatou DIARRA/ Analyse des Données & Aide à la Décision
28/28