Apprentissage Logiciel I (R) Mr. BEZOUI
Apprentissage Logiciel I (R) Mr. BEZOUI
Apprentissage Logiciel I (R) Mr. BEZOUI
R et sa documentation
Les bases du logiciel R
Apprentissage Langage R
Master Mathématique Financière 1
Partie I
USHTB
1 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
1 Prntation du logiciel R
2 R et sa documentation
2 / 29
Origines?
Prntation du logiciel R
Pourquoi utiliser R?
R et sa documentation
R et les statistiques
Les bases du logiciel R
R et les graphiques
Présentation du logiciel R
3 / 29
Origines?
Prntation du logiciel R
Pourquoi utiliser R?
R et sa documentation
R et les statistiques
Les bases du logiciel R
R et les graphiques
Origines?
4 / 29
Origines?
Prntation du logiciel R
Pourquoi utiliser R?
R et sa documentation
R et les statistiques
Les bases du logiciel R
R et les graphiques
Origines?
Le logiciel R est un logiciel de statistique créé par Ross Ihaka & Robert Gentleman. Il est
à la fois un langage informatique et un environnement de travail: les commandes sont
exécutées grâce à des instructions codées dans un langage relativement simple, les
résultats sont affichés sous forme de texte et les graphiques sont visualisés directement
dans une fenêtre qui leur est propre. C’est un clone du logiciel S-plus qui est fondé sur
le langage de programmation orienté objet S, développé par AT&T Bell Laboratories
en 1984. Ce logiciel sert à manipuler des données, à tracer des graphiques et à faire
des analyses statistiques sur ces données.
5 / 29
Origines?
Prntation du logiciel R
Pourquoi utiliser R?
R et sa documentation
R et les statistiques
Les bases du logiciel R
R et les graphiques
Pourquoi utiliser R?
6 / 29
Origines?
Prntation du logiciel R
Pourquoi utiliser R?
R et sa documentation
R et les statistiques
Les bases du logiciel R
R et les graphiques
Pourquoi utiliser R?
7 / 29
Origines?
Prntation du logiciel R
Pourquoi utiliser R?
R et sa documentation
R et les statistiques
Les bases du logiciel R
R et les graphiques
R et les statistiques
8 / 29
Origines?
Prntation du logiciel R
Pourquoi utiliser R?
R et sa documentation
R et les statistiques
Les bases du logiciel R
R et les graphiques
R et les statistiques
9 / 29
Origines?
Prntation du logiciel R
Pourquoi utiliser R?
R et sa documentation
R et les statistiques
Les bases du logiciel R
R et les graphiques
R et les graphiques
10 / 29
Origines?
Prntation du logiciel R
Pourquoi utiliser R?
R et sa documentation
R et les statistiques
Les bases du logiciel R
R et les graphiques
R et les graphiques
Une des grandes forces de R réside dans ses capacités, bien supeneures à celles des
autres logiciels courants du marché, à combiner un langage de programmation avec
la possibilité de réaliser des graphiques de qualité. Ces dernières possèdent de très
nombreux paramètres permettant par exemple d’ajouter des titres, des légendes, des
couleurs, etc. Mais il est également possible d’effectuer des graphiques plus sophistiqués
permettant de représenter des données complexes telles que des courbes de surface
ou de niveau, des volumes affichés avec un effet 3D, des courbes de densité, et bien
d’autres choses encore.
11 / 29
Origines?
Prntation du logiciel R
Pourquoi utiliser R?
R et sa documentation
R et les statistiques
Les bases du logiciel R
R et les graphiques
R et les graphiques
12 / 29
Prntation du logiciel R La commande help()
R et sa documentation Quelques commandes complntaires
Les bases du logiciel R Aide accessible sur l’Internet
R et sa documentation
13 / 29
Prntation du logiciel R La commande help()
R et sa documentation Quelques commandes complntaires
Les bases du logiciel R Aide accessible sur l’Internet
La commande help()
14 / 29
Prntation du logiciel R La commande help()
R et sa documentation Quelques commandes complntaires
Les bases du logiciel R Aide accessible sur l’Internet
La commande help()
R contient une aide en ligne (en anglais) très complète et très bien structurée sur
toutes les fonctions que vous pouvez utiliser ainsi que sur les différents symboles du
langage. Cette aide est accessible au moyen de plusieurs commandes dont la principale
est help(). Elle s’utilise en mode ligne de commande.
Tapez par exemple:
> help(help)
> ?sum
> ?mean
15 / 29
Prntation du logiciel R La commande help()
R et sa documentation Quelques commandes complntaires
Les bases du logiciel R Aide accessible sur l’Internet
La commande help()
Il peut arriver que cet alias ne fonctionne pas, et il est alors nécessaire d’utiliser la
fonction help() avec des guillemets.
16 / 29
Prntation du logiciel R La commande help()
R et sa documentation Quelques commandes complntaires
Les bases du logiciel R Aide accessible sur l’Internet
17 / 29
Prntation du logiciel R La commande help()
R et sa documentation Quelques commandes complntaires
Les bases du logiciel R Aide accessible sur l’Internet
18 / 29
Prntation du logiciel R La commande help()
R et sa documentation Quelques commandes complntaires
Les bases du logiciel R Aide accessible sur l’Internet
19 / 29
Prntation du logiciel R La commande help()
R et sa documentation Quelques commandes complntaires
Les bases du logiciel R Aide accessible sur l’Internet
20 / 29
Prntation du logiciel R La commande help()
R et sa documentation Quelques commandes complntaires
Les bases du logiciel R Aide accessible sur l’Internet
21 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
22 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
23 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
[1] 137.5
> sin(2*pi/3)
[1] 0.8660254
[l] 1 2 3 4 5
24 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Utilisation de fonctions
> log(1)
[1] 0
> log(exp(1),base=10)
[1] 0.4342945
> factorial(10)
[l] 3628800
25 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
26 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Comme la plupart des langages informatiques, R dispose des types de données classiques.
Selon la forme des données saisies, R sait d’ailleurs reconnaître automatiquement le
type de ces données. Une des grandes forces de R réside aussi dans la possibilité
d’organiser les données de façon structurée.
27 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Il y a deux types numériques: les entiers (integer) et les réels (real ou double).
> a <- 1
> b <- 3.4
> c <-as.integer(a)
> typeof(c)
[1] "integer"
> mode(c)
[1] "numeric"
28 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
> z = 1+2i
> typeof(z)
[1] "complex"
[l] TRUE
> Conj(z)
[1] 1-2i
29 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
> Re(z)
[1] 1
> Im(z)
[1] 2
> Mod(z)
[1] 2.236068
> Arg(z)
[1] 1.107149
30 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Le type logical, résultat d ’une condition logique, peut prendre les valeurs TRUE ou
FALSE. Voici quelques instructions pour créer des valeurs logiques:
> a > b
[1] FALSE
[l] TRUE
31 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
[1] 2
32 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Une donnée manquante ou non définie est indiquée par l’instruction NA (pour Non
Available = non disponible). Il ne s’agit donc pas d’un type de données à proprement
parler. Voici quelques exemples faisant intervenir l’instruction NA:
> mean(x)
[1] NA
33 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
[1] 6.5
Cette notion est très importante lors de la lecture de fichiers de données statistiques
et sera développée par la suite.
34 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
> 0/0
[1] NaN
Notez également que l’instruction sui vante ne renvoie pas NaN mais Inf
(l’infini):
> 3/0
[1] Inf
35 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Toute information mise entre guillemets (simple ’ ou double ") correspond à une
chaîne de caractères.
mode(a)
[1] "character"
is.character(a)
[1] TRUE
36 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
37 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
38 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Cette structure de données est la plus simple. Elle représente une suite de données de
même type. La fonction permettant de créer ce type de structure (c’est-à-dire les
vecteurs) est la fonction c() (pour collection). D’autres fonctions comme seq() ou
bien les deux points : permettent aussi de créer des vecteurs. Notez que lors de la
création d’un vecteur, il est possible de mélanger des données de plusieurs types
différents.
39 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
> c(1,1,7,-2,1)
[1] 1 1 7 -2 1
> c(1,1,7,-2,1,TRUE,1,"R")
> seq(from=0,to=4,by=1)
[1] 0 1 2 3 4
[1] 0 1 2 3 4
40 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Ces deux notions généralisent la notion de vecteur puisqu’elles représentent des suites
à double indice pour les matrices et à multiples indices pour les tableaux (array). Ici
aussi les éléments doivent avoir le même type.
permet de créer une matrice comportant quatre lignes (row signifie ligne) et
trois colonnes remplies par lignes successives (byrow=TRUE) avec les éléments
du vecteur 1:12.
41 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
De la même manière, il est possible de créer une matrice remplie par colonnes
successives (byrow=FALSE).
42 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
43 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
, , 1
[,1] [,2]
[1,] 1 3
[2,] 2 4
, , 2
[,1] [,2]
[1,] 5 7
[2,] 6 8
, , 3
[,1] [,2]
[1,] 9 11
[2,] 10 12
44 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
La structure du langage R la plus souple et à la fois la plus riche est celle de la liste.
Contrairement aux structures précédentes, les listes permettent de regrouper dans une
m ême structure des données de types différents.
45 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
> A
[[1]]
[1] TRUE
[[2]]
[1] -1 0 1 2 3
[[3]]
[,1] [,2]
[1,] 1 3
[2,] 2 4
[[4]]
[1] "Master MF"
46 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
47 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
> DATA
> is.data.frame(DATA)
[1] TRUE
48 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
49 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Pour les variables ordinales, il est plutôt conseillé d’utiliser la fonction ordered().
50 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
51 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Manipulation de données
52 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Arithmétique vectorielle
Le logiciel R présente l’avantage de pouvoir opérer sur des vecteurs ou des matrices.
Ainsi, l’appel suivant
[1] 5 9 12 7 4
53 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Arithmétique vectorielle
54 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Le recyclage
Un point important à noter à ce stade est la façon dont R se comporte lorsque les
deux vecteurs fournis à l’une des fonctions ci-dessus ne sont pas de la même olngueur.
R va alors compléter le vecteur le plus court en réutilisant les valeurs de ce vecteur.
L’exemple suivant devrait permettre de bien comprendre ce fonctionnement:
[1] 2 4 6 8 10 7 9 11 13 15
55 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Le recyclage
Voilà un autre exemple de recyclage utilisé lors de la création d’une matrice. Le vecteur
1 : 4 est ainsi réutilisée n boucle pour remplir la matrice qui est déclarée de taille 3 × 3.
56 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Fonctions basiques
[1] 9
[1] 0 1 1 2 3 4 6 7 8
[1] 8 7 6 4 3 2 1 1 0
57 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Fonctions basiques
[1] 0 1 8 4 7 2 6 3 1
[1] 9 1 8 4 2 6 3 5 7
[1] 1 3 6 2 7 4 8 0
58 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
59 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
[,1] [,2]
[1,] 1 2
[2,] 2 7
[,1] [,2]
[1,] 1 0
[2,] 0 1
60 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Nous allons nous servir de ces objets pour illustrer les différentes opérations possibles
sur les matrices.
> lambda+A # L'addition d'un scalaire
[,1] [,2]
[1,] 4 7
[2,] 5 6
[,1] [,2]
[1,] 3 7
[2,] 5 11
61 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
[,1] [,2]
[1,] 4 10
[2,] 6 8
[,1] [,2]
[1,] 2 3
[2,] 5 4
[,1] [,2]
[1,] 2 10
[2,] 6 28
62 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
[,1] [,2]
[1,] 12 39
[2,] 11 34
[,1] [,2]
[1,] 2.0 2.5000000
[2,] 1.5 0.5714286
[,1] [,2]
[1,] 1.333333 0.3333333
[2,] 4.333333 -0.6666667
63 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
[,1] [,2]
[1,] 2.3333333 -0.6666667
[2,] -0.6666667 0.3333333
[,1] [,2]
[1,] 8 25
[2,] 13 38
[,1] [,2]
[1,] 8 25
[2,] 13 38
64 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Produit extérieur
65 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Produit extérieur
La fonction outer() permet des opération plus général es que le produit de termes.
Ainsi, l’appel de la commande outer(x,y,FUN=f) sur les vecteurs x = (x1 , . . . , xn )T ,
y = (y1 , . . . , yn )T via la fonction f (x, y) produit la matrice suivante:
f (x1 , y1 ) ... f (x1 , yn )
.. ..
. f (xi , yj ) .
f (xn , y1 ) ... f (xn , yn )
66 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Produit de Kronecker
> kronecker(A,B)
67 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Matrices triangulaires
> upper.tri(M)
Matrices triangulaires
69 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Matrice centrées-réduites
[,1] [,2]
[1,] -0.5 0.5
[2,] 0.5 -0.5
attr(,"scaled:center")
[1] 2.5 4.5
70 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Matrice centrées-réduites
[,1] [,2]
[1,] 2.828427 7.071068
[2,] 4.242641 5.656854
attr(,"scaled:scale")
[1] 0.7071068 0.7071068
[,1] [,2]
[1,] -0.7071068 0.7071068
[2,] 0.7071068 -0.7071068
attr(,"scaled:center")
[1] 2.5 4.5
attr(,"scaled:scale")
[1] 0.7071068 0.7071068
71 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
[1] -7
[1] 6
[1] 7.582401
72 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Norme matricielle
qP
n
• Norme Euclidienne (Frobenius): kAkF = i,j=1
|aij |2
Pm
• 1-Norme: kAk1 = maxj=1,...,n i=1
|aij |
P n
• ∞-Norme: kAk∞ = maxi=1,...,m j=1
|aij |
• M -Norme: kAkM = maxi,j |aij |
p
• Norme spectrale: kAk2 = max1,...,n |µi |, ou µi les valeurs propres de la
matrice AT A
73 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
On peut obtenir les valeurs propres et les vecteurs propres d’une matrice au moyen de
la fonction eigen().
> eigen(A)
$values
[1] 7 -1
$vectors
[,1] [,2]
[1,] -0.7071068 -0.8574929
[2,] -0.7071068 0.5144958
74 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
[,1] [,2]
[1,] 2 4
[2,] 3 5
75 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
$d
[1] 7.285383 0.960828
$u
[,1] [,2]
[1,] -0.7337222 -0.6794496
[2,] -0.6794496 0.7337222
$v
[,1] [,2]
[1,] -0.4812092 0.8766058
[2,] -0.8766058 -0.4812092
76 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
[,1] [,2]
[1,] 2 4
[2,] 3 5
77 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Décomposition de Cholesky
[,1] [,2]
[1,] 1 2.000000
[2,] 0 1.732051
78 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Décomposition de Cholesky
[,1] [,2]
[1,] 1 0.000000
[2,] 2 1.732051
[1] TRUE
79 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Décomposition de Cholesky
Notez également que vous pouvez utiliser la fonction chol2inv() pour calculer
l’inverse B−1 d’une matrice carrée symétrique définie positive B, à partir de sa
décomposition de Cholesky.
> chol2inv(U)
[,1] [,2]
[1,] 2.3333333 -0.6666667
[2,] -0.6666667 0.3333333
[1] TRUE
80 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
• x = backsolve(U, b) =⇒ Ux = b
• x = forwardsolve(L, b) =⇒ Lx = b
81 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Décomposition QR
[,1] [,2]
[1,] -0.5547002 -0.8320503
[2,] -0.8320503 0.5547002
82 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Décomposition QR
[,1] [,2]
[1,] -3.605551 -6.3790523
[2,] 0.000000 -0.5547002
> all.equal(A,Q%*%R)
[1] TRUE
83 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
x y
[1,] 1 5
[2,] 2 6
[3,] 3 7
[4,] 4 8
> rbind(x,y)
Fusion de tables
Toutefois, cette fonction n’est pas optimale, comme nous allons le voir sur l’exemple
suivant. Essayons de réunir (combiner) en colonnes les deux tables suivantes.
85 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Fusion de tables
> X1
Id SEXE Poids
1 1 H 75
2 2 F 68
3 3 F 48
4 4 H 72
> X2
Id SEXE Taille
1 1 H 182
2 2 F 165
3 3 F 160
4 4 H 178
86 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Fusion de tables
> cbind(X1,X2)
Cela fonctionne, mais il est gênant que les colonnes Id et SEXE soient dupliquées.
Une fonction très utile dans ce contexte est la fonction merge().
87 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Fusion de tables
> merge(X1,X2)
Maintenant, supposons que les individus ne soient pas classés de la même manière
dans les deux tables.
88 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Fusion de tables
> X
> Y
89 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Fusion de tables
> merge(X,Y,by=c("SEXE","Taille","Poids"),all=TRUE)
90 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
La fonction apply()
Une fonction très utilisée est la fonction apply() qui applique une fonction donnée
(fournie comme valeur du paramètre FUN) aux lignes (MARGIN=1) ou bien aux
colonnes (MARGIN=2) d’une matrice ou d’un data.frame.
Taille Poids
1 182 75
2 165 68
3 160 48
4 178 72
91 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
La fonction apply()
Taille Poids
171.25 65.75
Lorsque les opérations à effectuer consistent à sommer ou à moyenner les lignes ou les
colonnes, on peut aussi utiliser respectivement: rowSums(), colSums(),
rowMeans(), colMeans().
92 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
La fonction apply()
Voyons comment il est possible de calculer la somme des carrés de chacune des
colonnes d’une data.frame.
Taille Poids
117633 17737
Taille Poids
0.06094198 0.18518320
93 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
La fonction sweep()
La fonction sweep() est très utilisée. Elle permet de retirer d’une table (dans un sens
spécifié par la valeur d’appel du paramètre FUN), à chacune des lignes
(MARGIN=1) ou à chacune des colonnes (MARGIN=2), une statistique donnée
(par la valeur d’appel du paramètre STATS).
Taille Poids
1 172 65
2 145 48
3 130 18
4 138 32
94 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
La fonction stack()
La fonction stack() permet d’empiler dans un seul vecteur les valeurs de certaines
colonnes d’un data.frame.
> stack(X)
values ind
1 182 Taille
2 165 Taille
3 160 Taille
4 178 Taille
5 75 Poids
6 68 Poids
7 48 Poids
8 72 Poids
95 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
La fonction aggregate()
> aggregate(X[,-1],by=list(SEXE=X[,1]),FUN=mean)
La fonction transform()
Elle permet d’opérer des transformations sur les colonnes d’un data.frame.
L’instruction suivante permet par exemple d’obtenir la taille en mètres à partir de la
taille en centimètres, et de rajouter dans le data.frame une colonne contenant l’IMC.
97 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
$a
[1] 5.5
$beta
[1] 4.535125
$logic
[1] 0.5
98 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
> lapply(x,quantile)
$a
0% 25% 50% 75% 100%
1.00 3.25 5.50 7.75 10.00
$beta
0% 25% 50% 75% 100%
0.04978707 0.25160736 1.00000000 5.05366896 20.08553692
$logic
0% 25% 50% 75% 100%
0.0 0.0 0.5 1.0 1.0
99 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
> sapply(x,quantile)
a beta logic
0% 1.00 0.04978707 0.0
25% 3.25 0.25160736 0.0
50% 5.50 1.00000000 0.5
75% 7.75 5.05366896 1.0
100% 10.00 20.08553692 1.0
100 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
La fonction do.call()
> do.call(what="cbind",args=lapply(x,quantile))
a beta logic
0% 1.00 0.04978707 0.0
25% 3.25 0.25160736 0.0
50% 5.50 1.00000000 0.5
75% 7.75 5.05366896 1.0
100% 10.00 20.08553692 1.0
> do.call(what="rbind",args=lapply(x,quantile))
101 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Voir Table 3.
> help("&")
102 / 29
Prntation du logiciel R
Les concepts de base, l’organisation des donn
R et sa documentation
Les donn dans R
Les bases du logiciel R
Opérations ensemblistes
Voir Table 4.
> help(union)
103 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Importation-exportation de données
104 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
105 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Soit vous disposez déjà d’un fichier texte au format ASCII qui contient vos données ,
soit vous pouvez les entrer vous-même dans un fichier à l’aide d’un éditeur de texte
comme Wordpad sous Microsoft Windows ou bien Emacs sous Linux. Il existe trois
fonctions R principales à utiliser pour importer des données depuis un fichier texte,
présentées dans le suivant.
• read.table(): À privilégier pour des jeux de données organisés sous la forme de
tableaux, comme cela est souvent le cas en statistique.
• read.ftable(): Permet de lire des tableaux de contingence.
• scan(): Beaucoup plus flexible et puissante.
106 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonction read.table()
> attach(donnees)
107 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonction read.csv: Pour lire des données séparées par des virgules "," avec le "."
pour séparateur décimal.
> read.csv(file.choose())
La fonction read.csv2: Pour lire des données séparées par des points-virgules ";" avec
la "," pour séparateur décimal.
> read.csv2(file.choose())
108 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Il existe quelques packages permettant de lire directement des fichiers *.xls ou *.xlsx
depuis R . On peut notamment citer la fonction read.xls() du package gdata qui
fonctionne très bien dès lors qu’une version fonctionnelle de PERL (logiciel gratuit,
disponible par exemple via l’installation du fichier
http://cran.at.r-project.org/bin/windows/Rtools/Rtools31.exe) est
présente sur votre ordinateur.
> install.packages(gdata)
> library(gdata)
> help(read.xls)
> example(read.xls)
109 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Le tableau suivant donne les packages et les fonctions R à utiliser pour importer
des données depuis quelques logiciels commerciaux usuels.
110 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
111 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
ou l’instruction:
> sink("donnees.txt")
> data
> sink()
[1] "C:/Users/arsalane/Documents"
112 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
113 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
114 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
115 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
> windows()
> win.graph()
> plot.new()
116 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Si vous voulez tracer plusieurs graphiques sur la même fenêtre, R vous offre la
possibilité de découper cette fenêtre en autant de cases que nécessaire.
• La fonction par():
Une première possibilité consiste à utiliser la fonction par() avec le paramètre mfrow
ou mfcol. Ainsi l’exemple ci-dessous découpe la fenêtre graphique en deux lignes et
trois colonnes. À chaque appel d’une fonction de tracé, les petites cases graphiques
ainsi créées seront remplies successivement ligne par ligne (l’utilisation de mfcol
aurait conduit à un remplissage colonne par colonne) comme on peut le visualiser sur
la figure suivante:
117 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
> par(mfcol=c(2,3))
118 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
• La fonction layout():
La fonction layout() permet d’obtenir un découpage plus évolué que l’utilisation de la
fonction par(). Montrons sur un exemple comment ce découpage est spécifié de façon
naturelle au moyen du paramètre mat, lorsque l’on souhaite par exemple tracer cinq
graphiques isolés les uns des autres.
119 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
2 3
120 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
121 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonction plot() est la fonction générique pour tracer des graphiques. Elle prend
comme paramètre d’entrée les coordonnées des points à tracer.
Titre principal
4.0
●
3.5
3.0
●
Titre pour les y
2.5
2.0
●
1.5
1.0
122 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Titre principal
4.0
●
3.5
3.0
●
2.5
2.0
●
1.5
1.0
0.4
0.2
0.0
f
−0.2
−0.4
−3 −2 −1 0 1 2 3
124 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Les fonctions segments() et lines() permettent de joindre des points par des
segments de ligne qui sont ajoutés à un graphique préexistant.
1.0
0.5
0.0
−0.5
−1.0
126 / 29
Figure: La fonction abline().
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions arrows()
Cette fonction permet de tracer des flèches reliant des paires de points. Elle comprend
un paramètre length permettant d’indiquer la taille de la pointe de la flèche.
●
●
0.8
●
●
●
●
0.6
y
●
0.4
●
●
●
0.2
0.0
127 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions polygon()
Comme son nom l’indique, cette fonction permet de tracer des polygones et permet
aussi de remplir l’intérieur d’un polygone avec une couleur préspécifiée. Tapez la
commande suivante dans la console de R :
> example(polygon)
128 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions polygon()
> plot.new()
> polygon(locator(10,"p"))
129 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions curve()
Cette fonction permet de tracer une courbe dans un repère cartésien, sur un intervalle
dont les bornes sont spécifiées par les paramètres from et to.
> curve(x^3-3*x,from=-2,to=2)
2
1
x^3 − 3 * x
0
−1
−2
−2 −1 0 1 2
130 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions box()
Cette fonction permet d’ajouter une boîte autour du graphique courant. Le paramètre
bty permet de gérer le type de boîte ajouté, le paramètre lty spécifie le type de ligne
utilisé pour tracer la boîte. Notez que la fonction plot() ajoute par défaut une boîte
au graphique qu’elle trace, sauf si on lui fournit le paramètre axes=FALSE.
131 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions box()
runif(10)
Index
132 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
133 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions colors()
Cette fonction renvoie le nom des 657 couleurs que R connaît. Si vous voulez
connaître les variantes de la couleur orange, vous pouvez utiliser l’intruction suivante:
> colors()[grep("orange",colors())]
134 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions colors()
Notez que vous pouvez utiliser la fonction rgb() pour obtenir le codage à partir de la
décomposition en rouge, vert et bleu d’une couleur.
[1] "#1ACC4C"
> col2rgb("#1ACC4C")
[,1]
red 26
green 204
blue 76
135 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions colors()
1.0
0.5
sin(x)
0.0
−0.5
−1.0
−10 −5 0 5 10
La fonctions colors()
Si votre carte graphique le permet, R peut donc gérer jusqu’à 2563 couleurs, soit un
peu plus de 16 millions de couleurs. L’exemple ci-dessous, utilisant la fonction
rainbow(), permet de s’en faire une petite idée.
La fonctions image()
Cette fonction crée et affiche une grille de rectangles en niveaux de gris ou de couleurs.
Ces rectangles sont aussi appelés des pixels (picture elements). Elle peut donc être
utilisée pour afficher des données 3D ou des données spatiales, c’est-à-dire des images.
138 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions image()
> couleurs <- c("orange","orangered","red","lightblue","blue",
+ "white","lightgrey","grey","darkgrey","yellow",
+ "green","purple")
> image(X,col=couleurs)
> text(rep(c(0,0.5,1),4),rep(c(0,0.3,0.7,1),each=3),1:12,cex=2)
10 11 12
1.0
0.8
7 8 9
0.6
0.4
4 5 6
0.2
1 2 3
0.0
La fonctions text()
Cette fonction permet d’ajouter du texte sur un graphique. Elle permet aussi, ce qui
est très intéressant, d’y ajouter des formules mathématiques. Il faut donner les
coordonnées en x et en y du centre de la chaîne de caractères à afficher, et bien
entendu la chaîne elle-même. Si l’on veut écrire une expression mathématique, il faut
utiliser la fonction expression().
> plot(1:10,1:10)
> text(3,6,"du texte")
> text(4,9,expression(hat(beta)== (X^t * X)^-1 * X^t * Y),cex=2)
> demo(plotmath) # pour plus de détail
140 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions text()
10
●
^
β = (XtX)−1XtY ●
8 ●
du texte ●
6
1:10
●
4
●
2
2 4 6 8 10
1:10
141 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions mtext()
Cette fonction permet d’ajouter du texte dans les marges de la fenêtre graphique. Elle
permet également d’y ajouter des formules mathématiques. Elle comprend un
paramètre side (valant 1=bas, 2=gauche, 3=haut ou 4=droite) qui spécifie dans
quelle marge ajouter le texte.
> plot(1:10,1:10)
> mtext("bas" , side=1)
> mtext("gauche",side=2)
> mtext("haut", side=3)
> mtext(expression(x^2+3*y+hat(beta)),side=4)
142 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions mtext()
haut
10
●
8 ●
x2 + 3y + β
^
gauche
●
6
1:10
●
4
●
2
bas
2 4 6 8 10
1:10
143 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions title()
Cette fonction permet d’ajouter des titres à votre graphique: un titre principal en haut
de la figure avec le paramètre main, un sous-titre en bas de la figure avec le
paramètre sub, un titre pour l’axe des x avec le paramètre xlab, et un titre pour l’axe
des y avec le paramètre ylab. Notez que ces paramètres peuvent aussi être spécifiés
directement lors de l’appel de fonctions graphiques comme plot().
> plot.new( )
> box()
> title(main="Titre principal",sub="Sous-titre",
+ xlab ="Titre des x",ylab="Titre des y")
144 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions title()
Titre principal
Titre des y
Titre des x
Sous−titre
145 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions legend()
Cette fonction est utilisée pour ajouter une légende à un graphique existant.
> plot(1:4,1:4,col=1:4,type="b")
> legend(x=3,y=2.5,legend=c("a","b","c","d"),col=1:4,lty=1)
> help(legend) # pour plus de détail
146 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions legend()
4.0
●
3.5
3.0
●
1:4
2.5
a
b
2.0
● c
d
1.5
1.0
1:4
147 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Graphiques avancés
148 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions persp()
Cette fonction est utilisée pour tracer en perspective d’une surface 3D.
149 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
La fonctions persp()
1
z= sin( x2 + y2 )
2
0.4
0.2
f(x,y)
0.0
10
−0.2
−0.4 5
−10
0
Y
−5
0 −5
X
5
10 −10
150 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Package rgl
> install.packages("rgl")
> library(rgl)
> demo(rgl)
> example(rgl)
151 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Package lattice
Nous donnons un exemple qui montre que les graphiques dans le package lattice
peuvent être considérés comme des objets (au sens de la programmation objet), ce qui
plaira aux lecteurs avertis. Imaginons par exemple que vous ayez tracé le graphique
résultant des instructions suivantes, et que vous constatiez votre erreur dans le titre.
> install.packages("lattice")
> library(lattice)
> xyplot(y~x,type="l",main="Courbe de cosinus")
152 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Package scatterplot3d
> install.packages("scatterplot3d")
> library(scatterplot3d)
> vignette("s3d") # documentation du package
> z <- seq(-10, 10, 0.01)
> x <- cos(z)
> y <- sin(z)
> scatterplot3d(x, y, z, highlight.3d=TRUE,
+ col.axis="blue",col.grid="lightblue",
+ main="scatterplot3d", pch=20)
153 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R
Package scatterplot3d
scatterplot3d
●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●
●●
●●
●●
●●
●●
●●
●
●●
●●
●●
●●
●
●
●●
●●
●●
●●
●●
●●
●●
● ●●
●●
●
●●
●●
●
●●
●●
●
●●
●●
●●
●●
●●
●●
● ●●
●
●●
●
●●
●
●●
●
●●
●●
●●
●●
●● ●
●●
●
●●
●
●●
●
●●
●●
●●
●
●●
● ●
●●
●
●●
●
●
●
●
●●
●●
●●
●
●● ●
●●
●
●●
●●
●
●●
●● ●●
●●
●●
●
●●
●
●●
● ●
●
●
●●
●
●●
●
●●
● ●
●
●
●
●
●●
●
●
●●
● ●
●
●
●
●●
●
● ●
●
●
●●
● ●
●
●●
●
●● ●
●
●●
● ●
●
●
●
● ●
●
● ●
●
●
● ●
●
●
●●
●
●●
●●
●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●● ●
●●
●
●
10
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●● ●●
●●●
●●
●●
●●
●●
●●
●
●●
●●
●● ●
●
●
●●
●
●●
●●
●●
●●
●●
●●
●● ●
●●
●●
●
●●
●
●●
●●
● ●
●
●●
●
●
●
●●
●●
●●
●●
●●
● ●●
●
●●
●
●
●●
●
●
●●
●
●●
●●
●●
●●
●
● ●●
●
●● ●
●●
●
●●
●
●
●●
●●
●●
●
●●
●●
● ●●
●
●●
● ●
●
●●
●
●●
●
●
●●
●●
●
●● ●●
●
●● ●●
●
●
●
●●
●●
●
●●
● ●
●●
●
●● ●
●●
●
●
●●
●●
●
●● ●
●●
●
● ●
●
●●
●●
●
●
●●
●
● ●
●●
●●
● ●
●
●
●
●
●●
●
●●
● ●●
●●
●● ●
●
●
●●
●
●
● ●
●●
●●
●● ●
●
●
●●
● ●●
●
●●
● ●
●
●
●
●● ●
●●
●●
●● ●
●
●●
●
● ●●
●●
●●
● ●
●
●
● ●●
●●
●●
●● ●
●
●
●
● ●●
●●
●●
●● ●
●
●
● ●
●●
●●
●●
●● ●●
●
●● ●
●●
●●
●●
●●
● ●
●
5
●
●●
●
●● ●●
●●
●●
●●
●●
●●
● ●●
●
●
●●
●●
●
●●
●
●● ●
●●
●●
●●
●
●●
●●
●●
●●● ●
●
●
●●
●
●
●●
●
●●
●
●●
●
●●
●
●●
●
●●
●
●●
●
●●
●●
●
●●
●●
●
●●
●●
●●
●
●●
●●
●●
●
●●
●●
●●
●●
● ●●
●
●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
● ●
●
●●
●
●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
● ●
●
●●
●●
●●
●●
●●
●
●●
●●
●●
●
●● ●●
●
●●
●
●●
●●
●●
●●
●●
●●
●● ●●
●
●●
●●
●
●●
●
●●
● ●
●
●●
●
●
●●
●●
●●
●●
●●
● ●
●
●●
●
●●
●
●
●●
●
●
●
●●
●
●●
●●
●●
● ●
●●
●●
● ●
●●
●
●●
●
●●
●●
●
●●
●●
●●
● ●●
●
●● ●
●
●●
●
●
●●
●●
●●
●
●●
●● ●
●●
●●
● ●●
●●
●
●●
●
●●
●●
● ●
●●
●● ●
●●
●
●
●●
●
●●
●
● ●●
●●
●
● ●
●●
●
●
●
●●
●
●●
●
● ●
●●
●
●● ●●
●
●
●
●●
●
●● ●
●●
●●
● ●
●
●
●●
●
● ●
●●
●●
●
● ●
●
●
●●
●
● ●
●●
●●
● ●
●
●
●
●
● ●●
●●
●●
● ●
●
● ●
●● ●
0
●● ●●
●●
●●
● ●
●
z
●
● ●●
●●
●●
●● ●●
●
●
● ●
●●
●●
●●
●● ●
●
●
● ●
●●
●●
●●
●●
● ●
●
●
● ●
●
●
● ●●
●●
●●
●● ●
● 1.0
y
●●
●
●●
●●
● ●●
●●
●●
●●
●●
●●
●● ●●
●●
●●
●
●●
●
●
●●
●
●
●●
●
●●
● ●
●●
●●
●
●●
●●
●●
●●
●●
●●
●●
●● ●●
●
●●
●
●●
●
●●
●
●●
●
●●
●●
●
●●
●●
●
●●
●●
●
●●
●●
●●
●
●●
● ●
●
●●
●
●●
●
●
●
●●
●
●
●●
●●
●
●●
●
●
●●
●
●
●●
●
●●
●●
●
●●
●●
●●
●
●●
●●
●●
●●
●
●●
●
●●
●●
●●
●
●●
●
●●
●●
●
●●
0.5
●
●
●●
●
●●
●● ●
●●
●●
●
●
●
●●
●
● ●●
●
●
−5
●
●
●●
●
●●
●
● ●●
●●
●●
●●
●
●●
●
●● ●
●●
●●
●
●●
● ●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
0.0
●
● ●●
●●
●●
●●
●
●
● ●
●●
●●
●●
●●
●
● ●
●●
●●
●●
●●
●
●●
●
●● ●●
●●
●●
●●
●●
●
●
●
●● ●
●●
●●
●●
●●
●
●●
●●
●
●●
●
●
●●
●
●●
●
●
●●
●
●●
●
●●
●
●●
●
●●
●●
●
●●
●
●●
●●
●
●●
●●
●●
●
●●
●●
●●
●
●●
●●
●●
●●
●●
●●
●
●●
●●
●●
●●
●●
●●
●●
●
−0.5
−10
−1.0
−1.0 −0.5 0.0 0.5 1.0
154 / 29
I
Appendix
155 / 29
Installation du logiciel R et des packages R
156 / 29
Installation du logiciel R et des packages R
install.packages()
157 / 29