Apprentissage Logiciel I (R) Mr. BEZOUI

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 157

Prntation du logiciel R

R et sa documentation
Les bases du logiciel R

Apprentissage Langage R
Master Mathématique Financière 1
Partie I

A.C Guidoum M. Bezoui

USHTB

December 14, 2015

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

3 Les bases du logiciel R

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?

Tout d’abord R est un logiciel gratuit et à code source ouvert (opensource). Il


fonctionne sous UNIX (et Linux), Windows et Macintosh. C’est donc un logiciel
multi-plates-formes. Tout le monde peut d’ailleurs contribuer à son amélioration en y
intégrant de nouvelles fonctionnalités ou méthodes d’analyse non encore implémentées.
Cela en fait donc un logiciel en rapide et constante évolution.
C’est aussi un outil très puissant et très complet, particulièrement bien adapté pour la
mise en oeuvre informatique de méthodes statistiques. Il est plus difficile d’accès que
certains autres logiciels du marché (comme SPSS ou Minitab par exemple), car il n’est
pas conçu pour être utilisé à l’aide de "clics" de souris dans des menus. L’avantage en
est toutefois double:
• L’approche est pédagogique puisqu’il faut maîtriser les méthodes statistiques
pour parvenir à les mettre en oeuvre.
• L’outil est très efficace lorsque l’on domine le langage R puisque l’on devient
alors capable de créer ses propres outils, ce qui permet ainsi d’opérer des analyses
très sophistiquées sur les données.

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

R est un logiciel dans lequel de nombreuses techniques statistiques modernes et


classiques ont été implémentées. Les méthodes les plus courantes permettant de
réaliser une analyse statistique telles que:
• statistique descriptive; tests d’hypothèses; analyse de la variance; méthodes de
régression linéaire (simple et multiple); ect. . .
sont enchâssées directement dans le coeur du système. Notez également que la plupart
des méthodes avancées de statistique sont aussi disponibles au travers de modules
externes appelés packages. Ceux-ci sont faciles à installer directement à partir d’un
menu du logiciel. Ils sont tous regroupés sur le site internet du Comprehensive R
Archive Network (CRAN) (http://cran.r-project.org) sur lequel vous pouvez les
consulter.

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

Vous pouvez obtenir une démonstration des possibilités graphiques de R en tapant


successivement les commande suivantes:
demo(graphics)
demo(persp)
demo(image)
example(plot)

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)

La commande help() possède un alias qui est le point d’interrogation: ?

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

> ?function # Ne fonctionne pas


> help(function) # Renvoie une erreur
> help("function") # Appel correct

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

Quelques commandes complémentaires

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

Quelques commandes complémentaires

En plus de la commande principale help(), il existe quelques autres fonctions complé-


mentaires qui peuvent se révéler utiles lorsque l’on cherche de l’aide sur une commande
donnée. Nous les présentons ci-dessous:
• help.start(): cette fonction ouvre un navigateur avec plusieurs liens vers des
manuels au format HTML, de l’aide sur toutes les fonctions présentes dans tous
les packages de R .
• help.search() ou ??(): cette fonction est à utiliser lorsque l’on ne connaît pas le
nom d’une commande.
• apropos(): cette instruction renvoie une liste de toutes les fonctions dont le nom
contient le paramètre d’appel.
• library(help=package): cette commande permet de lister toutes les fonctions
présentes dans la librairie package.
• find("fonction") permet de savoir à quelle librairie appartient la fonction
"fonction".
• vignette(): les vignettes sont des petits fichiers au format PDF à visée
pédagogique qui expliquent certaines notions plus en détail.

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

Quelques commandes complémentaires

Voici trois autres fonctions qui pourront également se révéler utiles:


• data(): cette commande renvoie la liste de tous les jeux de données (datasets)
présents dans R .
• example(): cette instruction donne des exemples sur l’utilisation d’une fonction.
Ainsi, example(mean) exécute les instructions présentes dans la section
Examples du fichier d’aide obtenu quand on tape help(mean).
• demo(): cette instruction est similaire à la précédente, mais n’est accessible que
pour un nombre limité de fonctions. Lorsqu’elle est disponible, elle présente un
éventail des possibilités offertes par une fonction. Essayez par exemple
demo(graphies).

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

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

Aide accessible sur l’Internet

Le site web officiel de R (http://www.r-projeet.org/) contient une quantité con-


sidérable d’informations sur ce logiciel. Nous vous conseillons de passer un peu de
temps à l’explorer. Il existe deux moteurs de recherche principaux sur R :
• http://search.r-project.org/nmz.html (La commande RSiteSearch()
permet de faire une requête sur ce site directement depuis R .)
• http://www.rseek.org/

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

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

Les concepts de base, l’organisation des données

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

R est une calculatrice

R, comme beaucoup d’autres langages de ce type, remplace aisément les fonctionnalités


d’une calculatrice (très sophistiquée !). Il permet aussi, et c’est une grande force , de
faire des calculs sur des vecteurs. Voici déjà quelques exemples très simples.
> 11*12.5 # Attention, le séparateur décimal doit être un point ( . )

[1] 137.5

> sin(2*pi/3)

[1] 0.8660254

> c(1,2,3,4,5) # Crée un vecteur contenant les cinq premiers entiers.

[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

Le logiciel R contient de nombreuses autres fonctions dans sa version de base, et


on peut en ajouter des milliers d’autres (en installant des packages, ou même en les
réalisant soi-même).

> 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

Les données dans 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

Les données dans 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.

Les fonctions mode() et typeof(), permettent de gérer le type des données.

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

Type numérique (numeric)

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

Type complexe (complex)

On fabrique un nombre complexe à l’aide de la lettre i. On utilise les fonctions Re()


pour la partie réelle, lm() pour la partie imaginaire, Mod() pour le module, Arg()
pour l’argument et Conj() pour conjugué.

> z = 1+2i
> typeof(z)

[1] "complex"

> is.complex(z) # Permet de savoir si un objet est du type complexe.

[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

Type complexe (complex)

> 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

Type booléen ou logique (logical)

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

> x <- TRUE


> is.logical(x)

[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

Type booléen ou logique (logical)

Lorsque cela se révèle nécessaire, ce type de données est naturellement converti en


type numérique sans qu ’il y ait à le spécifier : TRUE vaut 1 et FALSE vaut 0. Cela
est illustré par l’exemple suivant:

> TRUE + T + FALSE*F + T*FALSE + F

[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

Données manquantes (NA)

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:

> x <- c(3,NA,6,8,9)


> is.na(x)

[1] FALSE TRUE FALSE FALSE FALSE

> 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

Données manquantes (NA)

> mean(x, na.rm=TRUE) # Le paramètre na.rm signifie enlever


# les NA (NA.remove).

[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

Données manquantes (NA)

Ne pas confondre NA avec le mot réservé NaN signifiant Not a Number:

> 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

Type chaînes de caractères (character)

Toute information mise entre guillemets (simple ’ ou double ") correspond à une
chaîne de caractères.

> a <- "R pour Master MF"


> a

[1] "R pour Master MF"

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

Les différents types de données en R

Type des données Type sous R


réel (entier ou non) numeric
complexe complex
logique (vrai/ faux) logical
manquant logical
texte (chaîne) character
Table: Les différents types de données en 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

Structure des données

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

Les vecteurs (vector)

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

Les vecteurs (vector)

> c(1,1,7,-2,1)

[1] 1 1 7 -2 1

> c(1,1,7,-2,1,TRUE,1,"R")

[1] "1" "1" "7" "-2" "1" "TRUE" "1" "R"

> seq(from=0,to=4,by=1)

[1] 0 1 2 3 4

> vec <- 0: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

Les matrices (matrix) et les tableaux (arrays)

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.

> X <- matrix(1:12,nrow=4,ncol=3,byrow=TRUE)


> X

[,1] [,2] [,3]


[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12

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

Les matrices (matrix) et les tableaux (arrays)

De la même manière, il est possible de créer une matrice remplie par colonnes
successives (byrow=FALSE).

> Y <- matrix(1:12,nrow=4,ncol=3,byrow=FALSE)


> Y

[,1] [,2] [,3]


[1,] 1 5 9
[2,] 2 6 10
[3,] 3 7 11
[4,] 4 8 12

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

Les matrices (matrix) et les tableaux (arrays)

La fonction array permet de créer des matrices multidimensionnelles à plus de deux


dimensions comme cela est illustré (pour un array ayant trois dimensions).

> X <- array(1:12,dim=c(2,2,3))


> X

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

Les matrices (matrix) et les tableaux (arrays)

, , 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

Les listes (list)

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.

> A <- list(TRUE,-1:3,matrix(1:4,nrow=2),"Master MF")

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

Les listes (list)

> 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

Le tableau individus × variables (data.frame)

Le tableau individus × variables est la structure par excellence en statistique. Cette


notion est exprimée dans R par le data.frame. Conceptuellement, c’est une matrice
dont les lignes correspondent aux individus et les colonnes aux variables (ou caractères)
mesurées sur ces derniers. Chaque colonne représente une variable particulière dont
tous les éléments sont du même type. Les colonnes de la matrice-données peuvent
être nommées. Voici un exemple de création d’un data.frame :

> DATA <- data.frame(Sexe=c("H","F","H","F","H","F"),


Taille=c(1.83,1.76,1.82,1.60,1.90,1.66),
Poids=c(67,58,66,48,75,55),
row.names=c("R", "L", "P", "D", "B", "C"))

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

Le tableau individus × variables (data.frame)

> DATA

Sexe Taille Poids


R H 1.83 67
L F 1.76 58
P H 1.82 66
D F 1.60 48
B H 1.90 75
C F 1.66 55

> 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

Les facteurs (factor) et les variables ordinales (ordered)

R permet d’organiser les chaînes de caractères de façon plus astucieuse au moyen de


la fonction factor(), est donc celle à utiliser pour stocker des variables qualitatives.

> x <- factor(c("bleu","vert","bleu","rouge","bleu"))


> x

[1] bleu vert bleu rouge bleu


Levels: bleu rouge vert

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

Les facteurs (factor) et les variables ordinales (ordered)

Pour les variables ordinales, il est plutôt conseillé d’utiliser la fonction ordered().

> x <- ordered(c("Petit", "Grand", "Moyen", "Grand", "Moyen",


"Petit", "Petit"), levels=c("Petit", "Moyen",
"Grand"))
> x

[1] Petit Grand Moyen Grand Moyen Petit Petit


Levels: Petit < Moyen < Grand

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

Les différentes structures de données en R

Structure des données Instruction R


vecteur c()
matrice matrix()
tableau multidimensionnel array()
liste list()
tableau individus×variables data.frame()
facteur factor(), ordered()
Table: Les différentes structures de données en 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

> x <- c(1,2,4,6,3)


> y <- c(4,7,8,1,1)
> x+y

[1] 5 9 12 7 4

R opère de la même façon pour de très nombreuses fonctions telles que: +, *, - , /,


exp, log, sin, cos, tan, sqrt...ect

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

Ainsi, l’instruction suivante calcule l’exponentielle de tous les éléments de la matrice


M:
> M <- matrix(1:9,nrow=3)
> exp(M)

[,1] [,2] [,3]


[1,] 2.718282 54.59815 1096.633
[2,] 7.389056 148.41316 2980.958
[3,] 20.085537 403.42879 8103.084

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:

> x <- c(1,2,3,4,5,6,7,8,9,10)


> y <- c(1,2,3,4,5)
> x + y

[1] 2 4 6 8 10 7 9 11 13 15

R a donc complété le vecteur y ainsi: c(1,2,3,4,5,1,2,3,4,5) en se resservant de ses


propres valeurs de façon circulaire.

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.

> M <- matrix(1:4,ncol=3,nrow=3)


> M

[,1] [,2] [,3]


[1,] 1 4 3
[2,] 2 1 4
[3,] 3 2 1
Warning message:
In matrix(1:4, ncol = 3, nrow = 3) :
data length [4] is not a sub-multiple or multiple of the
number of rows [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

Voyons maintenant quelques fonctions basiques de manipulation de données qui sont


très souvent utilisées et qu’il est donc indispensable de connaître.
> length(c(1,3,6,2,7,4,8,1,0)) # renvoie la longueur d'un vecteur

[1] 9

> sort(c(1,3,6,2,7,4,8,1,0)) # permet d'ordonner les éléments


# d'un vecteur (croissantes)

[1] 0 1 1 2 3 4 6 7 8

> sort(c(1,3,6,2,7,4,8,1,0),decreasing=TRUE) # (décroissantes)

[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

> rev(c(1,3,6,2,7,4,8,1,0)) # réarrange les éléments d'un


# vecteur en sens inverse

[1] 0 1 8 4 7 2 6 3 1

> order(c(1,3,6,2,7,4,8,1,0)) # renvoie le vecteur des rangs


# de classement des éléments

[1] 9 1 8 4 2 6 3 5 7

> unique(c(l,3,6,2,7,4,8,l,0)) # enlève les doublons d'un vecteur

[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

Opérations sur les matrices

Nous allons décrire ici plusieurs fonctions R spécialisées permettant d’obtenir de


l’information sur une matrice ou encore de manipuler ses lignes et ses colonnes.
• dim(): dimension de la matrice.
• nrow(): nombre de lignes.
• ncol(): nombre de colonnes.
• dimnames(): noms des lignes et des colonnes (sous la forme d’une liste).
• names(), colnames(): noms des colonnes.
• rownames(): noms des lignes.

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

Opérations sur les matrices

> lambda <- 2 # Création du scalaire


> A <- matrix(c(2,3,5,4),nrow=2,ncol=2) # Matrice réelle.

> B <- matrix(c(1,2,2,7),nrow=2,ncol=2) # Matrice symétrique.


> B

[,1] [,2]
[1,] 1 2
[2,] 2 7

> I2 <- diag(1,2) # Matrice identité d'ordre 2.


> I2

[,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

Opérations sur les matrices

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

> A+B # L'addition (terme à terme)

[,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

Opérations sur les matrices


> lambda*A # La multiplication par un scalaire

[,1] [,2]
[1,] 4 10
[2,] 6 8

> t(A) # La transposition

[,1] [,2]
[1,] 2 3
[2,] 5 4

> A*B # La multiplication terme à terme

[,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

Opérations sur les matrices

> A%*%B # La multiplication matricielle

[,1] [,2]
[1,] 12 39
[2,] 11 34

> A/B # La division terme à terme

[,1] [,2]
[1,] 2.0 2.5000000
[2,] 1.5 0.5714286

> A%*%solve(B) # La division matricielle

[,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

Opérations sur les matrices


> solve(B) # L'inversion matricielle

[,1] [,2]
[1,] 2.3333333 -0.6666667
[2,] -0.6666667 0.3333333

> crossprod(A,B) # Le produit avec transposition

[,1] [,2]
[1,] 8 25
[2,] 13 38

> t(A)%*%B # Le produit avec transposition

[,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

Le produit extérieur des vecteurs colonnes x et y est la matrice xy T d’élément général


x i yj

> x <- c(1,2,3,4)


> y <- c(4,5,6,7)
> outer(x,y,FUN="*")

[,1] [,2] [,3] [,4]


[1,] 4 5 6 7
[2,] 8 10 12 14
[3,] 12 15 18 21
[4,] 16 20 24 28

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

Si A est une matrice m × n et B une matrice p × q, alors le produit de Kronecker de


la matrice A par la matrice B est la matrice (mp × nq):
 
a11 B ... a1n B
 .. ..
A⊗B =

. aij B . 
am1 B ... amm B

> kronecker(A,B)

[,1] [,2] [,3] [,4]


[1,] 2 4 5 10
[2,] 4 14 10 35
[3,] 3 6 4 8
[4,] 6 21 8 28

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

Il est parfois utile de récupérer les sous-matrices triangulaire inférieure et supérieure


d’une matrice. Cela est possible au moyen des fonctions lower.tri et upper.tri.

> M <- matrix(1:9,nrow=3)


> lower.tri(M)

[,1] [,2] [,3]


[1,] FALSE FALSE FALSE
[2,] TRUE FALSE FALSE
[3,] TRUE TRUE FALSE

> upper.tri(M)

[,1] [,2] [,3]


[1,] FALSE TRUE TRUE
[2,] FALSE FALSE TRUE
[3,] FALSE FALSE FALSE
68 / 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

> M[lower.tri(M)] <- 0


> M

[,1] [,2] [,3]


[1,] 1 4 7
[2,] 0 5 8
[3,] 0 0 9

> M[upper.tri(M)] <- 0


> M

[,1] [,2] [,3]


[1,] 1 0 0
[2,] 2 5 0
[3,] 3 6 9

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

La fonction scale() permet de centrer et/ou de réduire une matrice. Le centrage


consiste à retrancher à chacune des colonnes de la matrice la moyenne de cette
colonne. La réduction consiste à diviser chacune des colonnes de la matrice par son
écart type.

> scale(A,center=TRUE,scale=FALSE) # centrée

[,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

> scale(A,center=FALSE,scale=apply(A,2,sd)) # réduite

[,1] [,2]
[1,] 2.828427 7.071068
[2,] 4.242641 5.656854
attr(,"scaled:scale")
[1] 0.7071068 0.7071068

> scale(A,center=TRUE,scale=apply(A,2,sd)) # centrée-réduite

[,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

Déterminant, trace, nombre de conditionnement

> det(A) # le déterminant d'une matrice.

[1] -7

Il n’existe pas de fonction R permettant de calculer directement la trace d’une matrice,


mais il est très facile de la calculer ainsi:
> sum(diag(A))

[1] 6

> kappa(A,exact=TRUE) # Le nombre de conditionnement

[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

> A <- matrix(0:8,nrow=3)


> norm(A,type="F") # norme euclidienne
> norm(A,type="O") # 1-norme
> norm(A,type="I") # Infty norme
> norm(A,type="M") # M-norme
> norm(A,type="2") # 2-norme (spectral)
> sqrt(max(abs(eigen(t(A)%*%A)$values)))

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

Calcul des valeurs propres et vecteurs propres

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

Décomposition en valeurs singulières

On cherche à écrire C = UDV ∗ où D est la matrice diagonale des valeurs singulières


de C. U (respectivement V) est la matrice des vecteurs singuliers à gauche
(respectivement à droite) de C. Pour cela, il faut utiliser la fonction svd().

> C <- matrix(2:5,nrow=2)


> C

[,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écomposition en valeurs singulières

> res <- svd(C)


> res

$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

Décomposition en valeurs singulières

> U <- res$u # U


> D <- diag(res$d) # D
> V <- res$v # V
> V <- t(Conj(V)) # V*
> C = U%*%D%*%V
> C

[,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

Pour une matrice réelle symétrique définie positive B, on cherche à écrire


B = U T U = LLT , où U (respectivement L) est une matrice triangulaire supérieure
(respectivement inférieure). Pour obtenir cette décomposition, il faut utiliser la
fonction chol().

> B <- matrix(c(1,2,2,7),nrow=2,ncol=2)


> U <- chol(B)
> U

[,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

> L <- t(U)


> L

[,1] [,2]
[1,] 1 0.000000
[2,] 2 1.732051

> all.equal(B, t(U)%*%U, L%*%t(U))

[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

> all.equal(solve(B), chol2inv(U))

[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

Exemple: Système Ax = b (Cholesky)

La solution d’un système d’équations linéaires Ax = LLT x = U T Ux = b, où U


(respectivement L) est une matrice triangulaire supérieure (respectivement inférieure):

• x = backsolve(U, b) =⇒ Ux = b
• x = forwardsolve(L, b) =⇒ Lx = b

> b <- c(1,3)


> y <- forwardsolve(L, b) # L y = b
> x <- backsolve(t(L),y) # t(L) x = y
> x

[1] 0.3333333 0.3333333

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

On cherche à écrire A = QR, où Q est une matrice orthogonale (QT Q = QQT = I)


et R est une matrice triangulaire supérieure.

> res <- qr(A)


> Q <- qr.Q(res)
> Q

[,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

> R <- qr.R(res)


> R

[,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

Opérations sur les data.frames: Fusion de tables


Il est souvent très utile de pouvoir combiner (fusionner) plusieurs matrices ou
data.frames. Les fonctions de base permettant d’obtenir ce résultat sont cbind()
pour la fusion des colonnes et rbind() pour la fusion des lignes.
> x <- 1:4
> y <- 5:8
> cbind(x,y)

x y
[1,] 1 5
[2,] 2 6
[3,] 3 7
[4,] 4 8

> rbind(x,y)

[,1] [,2] [,3] [,4]


x 1 2 3 4
y 5 6 7 8
84 / 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

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.

> X1 <- data.frame(Id=1:4, SEXE=c("H", "F", "F", "H"),


+ Poids=c(75,68,48,72))
> X2 <- data.frame(Id=1:4, SEXE=c("H", "F", "F", "H"),
+ Taille=c(182,165,160,178))

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)

Id SEXE Poids Id SEXE Taille


1 1 H 75 1 H 182
2 2 F 68 2 F 165
3 3 F 48 3 F 160
4 4 H 72 4 H 178

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)

Id SEXE Poids Taille


1 1 H 75 182
2 2 F 68 165
3 3 F 48 160
4 4 H 72 178

Maintenant, supposons que les individus ne soient pas classés de la même manière
dans les deux tables.

> X <- data.frame(SEXE=c("F","H","H","F"),Taille=c(165,182,178,160),


+ Poids=c(50,65,67,55),Revenu=c(80,90,60,50))
> Y <- data.frame(SEXE=c("F","H","H","F"),Taille=c(165,182,178,160),
+ Poids=c(55,65,67,85),Salaire=c(70,90,40,40),row.names=4:7)

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

SEXE Taille Poids Revenu


1 F 165 50 80
2 H 182 65 90
3 H 178 67 60
4 F 160 55 50

> Y

SEXE Taille Poids Salaire


4 F 165 55 70
5 H 182 65 90
6 H 178 67 40
7 F 160 85 40

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)

SEXE Taille Poids Revenu Salaire


1 F 160 55 50 NA
2 F 160 85 NA 40
3 F 165 50 80 NA
4 F 165 55 NA 70
5 H 178 67 60 40
6 H 182 65 90 90

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.

> X <- data.frame(Taille=c(182,165,160,178),Poids=c(75,68,48,72))


> X

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

> apply(X,MARGIN=1, FUN=sum)

[1] 257 233 208 250

> apply(X,MARGIN=2, FUN=mean)

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.

> apply(X,MARGIN=2, FUN= function(x) sum(x^2))

Taille Poids
117633 17737

> apply(X,MARGIN=2, FUN= function(x) sd(x)/mean(x))

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

> # Retranche 10 à la ligne 1, 20 à la ligne 2


> # 30 à la ligne 3, 40 à la ligne 4
> sweep(X,MARGIN=1,STATS=c(10,20,30,40),FUN="-")

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

La fonction aggregate() permet de découper un data.frame en sous populations


suivant un facteur (spécifié par le paramètre by) et d’appliquer une fonction donnée
sur chacune de ces sous-populations.

> X <- data.frame(SEXE=c("F","H","H","F"),Taille=c(165,182,178,160),


+ Poids=c(50,65,67,55),Revenu=c(80,90,60,50))

SEXE Taille Poids Revenu


1 F 165 50 80
2 H 182 65 90
3 H 178 67 60
4 F 160 55 50

> aggregate(X[,-1],by=list(SEXE=X[,1]),FUN=mean)

SEXE Taille Poids Revenu


1 F 162.5 52.5 65
2 H 180.0 66.0 75
96 / 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 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.

> X <- transform(X,Taille=Taille/100,IMC=Poids/(Taille/100)^2)


> X

SEXE Taille Poids Revenu IMC


1 F 1.65 50 80 18.36547
2 H 1.82 65 90 19.62323
3 H 1.78 67 60 21.14632
4 F 1.60 55 50 21.48437

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

Opérations sur les listes: La fonction lapply() et sapply()

Les fonctions lapply() et sapply() sont similaires à la fonction apply(), mais


appliquent une fonction à chacun des éléments d’une liste. La première renvoie le
résultat sous la forme d’une liste, la seconde sous la forme d’un vecteur dans la
mesure du possible.

> x <- list(a = 1:10, beta = exp(-3:3), logic = c(TRUE,FALSE,FALSE,TRUE)


> lapply(x,mean) # Moyenne de chaque élément de la liste.

$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

La fonction lapply() et sapply()

> 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

La fonction lapply() et sapply()

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

0% 25% 50% 75% 100%


a 1.00000000 3.2500000 5.5 7.750000 10.00000
beta 0.04978707 0.2516074 1.0 5.053669 20.08554
logic 0.00000000 0.0000000 0.5 1.000000 1.00000

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

Opérations logiques et relationnelles

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

Importer des données

105 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Importer des données depuis un fichier texte ASCII (*.txt)

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

> donnees <- read.table(file=file.choose(),header=T,sep=";",


+ dec=".", row.names=1)

• file=chemin/vers/fichier: Emplacement et nom du fichier à lire.


• header=TRUE: Valeur logique indiquant si le fichier contient le nom des
variables sur la première ligne.
• sep=";": Les valeurs sur chaque ligne sont séparées par ce caractère ";".
• dec=".": Séparateur décimal pour les nombres ("." ou ",").
• row.names=1: La première colonne du fichier contient le nom des
individus. Si ce n’est pas le cas, il suffit d’omettre ce paramètre.

La fonction attach() permet d’avoir accès aux variables (colonnes) du data.frame


directement en tapant leur nom tel qu’ il t écrit sur la première ligne du fichier.

> attach(donnees)

107 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Importer des données depuis un fichier comma separated values (*.csv)

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

Importer des données depuis un fichier Excel (*.xls) et (*.xlsx)

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

Importer des données depuis SPSS, Minitab, SAS ou Matlab

Le tableau suivant donne les packages et les fonctions R à utiliser pour importer
des données depuis quelques logiciels commerciaux usuels.

Logiciel Package Fonction R Extension du fichier Format du résultat


SPSS foreign read.spss() *.sav list
Minitab foreign read.mtp() *.mtp list
SAS foreign read.xport() *.xpt data.frame
Matlab R.matlab readMat() *.mat list
Table: Packages et fonctions R d’importation de données depuis quelques logiciels
usuels.

110 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Exporter des données

111 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Exporter des données vers un fichier texte ASCII (*.txt)

Il faut utiliser la fonction write.table(). Si vous avez dans R un data.frame nommé


data qui contient les données que vous voulez sauvegarder dans un fichier texte,
utilisez l’instruction:

> data <- data.frame(Poids=c(80.5,90.2,75.34),Taille=c(182,190,160))


> write.table(data,file = "donnees.txt", sep = ""
 ,dec=",",
+ row.names=FALSE)

ou l’instruction:

> sink("donnees.txt")
> data
> sink()

> getwd() # Obtenir le répertoire de travail

[1] "C:/Users/arsalane/Documents"
112 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Exporter des données vers un fichier Excel (*.cvs)

Tapez par exemple dans la console de R :

> data <- data.frame(Poids=c(80.5,90.2,75.34),Taille=c(182,190,160))


> write.table(data,file="donnees.csv",sep=";",dec=",",
+ row.names=FALSE)

113 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Techniques pour tracer des courbes et des graphiques

114 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Les fenêtres graphiques

115 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Les fenêtres graphiques

Pour ouvrir une fenêtre graphique, il faut utiliser la commande windows() ou


win.graph().

> windows()
> win.graph()
> plot.new()

Sous Linux, il faut utiliser la commande X11() à la place de windows(), et sous


Macintosh, il faut utiliser la commande quartz().

116 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Découpage de la fenêtre graphique

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

Découpage de la fenêtre graphique

> par(mfcol=c(2,3))

Figure: La fonction par(mfcol=c(2,3))

118 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Découpage de la fenêtre graphique

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

> mat <- matrix(c(2,3,0,1,0,0,0,4,0,0,0,5),4,3,byrow=TRUE)


> mat

[,1] [,2] [,3]


[1,] 2 3 0
[2,] 1 0 0
[3,] 0 4 0
[4,] 0 0 5

119 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Découpage de la fenêtre graphique


> layout(mat)
> layout.show(5) # afficher la figure sous R

2 3

Figure: La fonction layout(mat)

120 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Les fonctions de tracé de bas niveau

121 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Les fonctions plot() et points()

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.

> plot(1:4,c(2,3,4,1),type="b",main="Titre principal",


+sub="Sous-titre",xlab="Titre pour les x",ylab="Titre pour les y")

Titre principal
4.0

3.5
3.0


Titre pour les y

2.5
2.0


1.5
1.0

1.0 1.5 2.0 2.5 3.0 3.5 4.0

Titre pour les x


Sous−titre

Figure: La fonction plot()

122 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Les fonctions plot() et points()


> points(1:4,c(4,2,1,3),type="l",col="red")

Titre principal

4.0

3.5
3.0

Titre pour les y

2.5
2.0

1.5
1.0

1.0 1.5 2.0 2.5 3.0 3.5 4.0

Titre pour les x


Sous−titre

Figure: La fonction points()

> # Pour plus de détails voir:


> help(plot)
> help(points)
123 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Les fonctions plot() et points()

> f <- function(x) sin(x)cos(x)


> plot(f,xlim=c(-3,3))

0.4
0.2
0.0
f

−0.2
−0.4

−3 −2 −1 0 1 2 3

Figure: Le graphe de f (x) = sin(x) cos(x).

124 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Les fonctions segments(), lines() et abline()

Les fonctions segments() et lines() permettent de joindre des points par des
segments de ligne qui sont ajoutés à un graphique préexistant.

> plot(0, 0, type="n")


> segments(x0=0,y0=0,x1=1,y1=1,col="blue")
> lines(x=c(1,0),y=c(0,1),col="red")

1.0
0.5
0.0
−0.5
−1.0

−1.0 −0.5 0.0 0.5 1.0

Figure: Les fonctions segments() et lines().


125 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Les fonctions segments(), lines() et abline()

La fonction abline() permet soit de tracer une droite d’équation y = a + bx (spécifiée


par les paramètres a et b), soit de tracer une ligne horizontale (paramètre h) ou
verticale (paramètre v).

> plot(0, 0, type="n")


> abline(h=0,v=0,col="red")
> abline(a=0.5,b=1,col="blue")
1.0
0.5
0.0
−0.5
−1.0

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

> x <- runif(12); y <- runif(12)


> i <- order(x,y); x <- x[i]; y <- y[i]
> plot(x,y)
> s <- seq(length(x)-1)
> arrows(x[s], y[s], x[s+1], y[s+1], length=0.1,col="red")
1.0



0.8




0.6
y


0.4



0.2
0.0

0.2 0.3 0.4 0.5 0.6 0.7 0.8

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)

La commande polygon(locator(10,"l")) permet de tracer un polygone à dix côtés en


cliquant dans la fenêtre graphique aux endroits qui seront les sommets du polygone.

128 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

La fonctions polygon()

> plot.new()
> polygon(locator(10,"p"))

Figure: La fonction polygon().

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

Figure: La fonction curve().

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.

> plot(runif(10), type="h", axes = FALSE)


> box(lty = 2)

131 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

La fonctions box()

runif(10)

Index

Figure: La fonction box().

132 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

Gestion des couleurs, titres et legendes

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())]

[1] "darkorange" "darkorange1" "darkorange2" "darkorange3"


[5] "darkorange4" "orange" "orange1" "orange2"
[9] "orange3" "orange4" "orangered" "orangered1"
[13] "orangered2" "orangered3" "orangered4"

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.

> rgb(red=26,green=204,blue=76,maxColorValue = 255)

[1] "#1ACC4C"

La fonction co12rgb() effectue l’opération inverse:

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

Il est même possible d’obtenir de la transparence à l’aide du paramètre alpha de la


fonction rgb():

> curve(sin(x),lwd=30,col= rgb(0.8,0.5,0.2),xlim=c(-10,10))


> curve(cos(x),lwd=30,col= rgb(0.l,0.8,0.3,alpha=0.2),add=T)

1.0
0.5
sin(x)

0.0
−0.5
−1.0

−10 −5 0 5 10

Figure: Le paramètre alpha de la fonction rgb(). 136 / 29


Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

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.

> pie(rep(1,1000),labels ="",col=rainbow(1000),border=NA)

Figure: Un exemple utilisant la fonction rainbow(). 137 / 29


Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

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.

> X < matrix(1:12,nrow=3)


> X

[,1] [,2] [,3] [,4]


[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12

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

−0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2

Figure: La fonction image().


139 / 29
Prntation du logiciel R
R et sa documentation
Les bases du logiciel R

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

Figure: La fonction text().

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

Figure: La fonction mtext().

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

Figure: La fonction title().

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.0 1.5 2.0 2.5 3.0 3.5 4.0

1:4

Figure: La fonction legend().

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.

> x <- seq(-10, 10, length= 30)


> y <- x
> f <- function(x,y) 0.5*sin(sqrt(x^2+y^2))
> z <- outer(x, y, f)
> sin.exp <- expression(z == frac(1,2)~sin(sqrt(x^2 + y^2)))
> persp(x, y, z, theta = 30, phi = 30, expand = 0.5,
+ col = "lightblue",ltheta = 120, shade = 0.75,
+ ticktype = "detailed",xlab = "X", ylab = "Y",
+ zlab = "f(x,y)")
> title(main = sin.exp)
> demo(persp) # pour plus de détail

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

Ce package permet d’obtenir de jolis graphiques en 3D qu’il est possible de faire


bouger à l’aide de la souris. Tapez par exemple les commandes suivantes pour en
avoir un bref aperçu:

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

L’instruction suivante permet alors de modifier le titre sans retracer la courbe!

> update(trellis.last.object(),main="Courbe de sinus")

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

Commencez par télécharger le logiciel R (fichier R-x-win32.exe ou x est le numéro


de la dernière version disponible) à l’aide de votre navigateur web usuel à l’adresse
suivante: http://cran.r-project.org/bin/windows/base/ Enregistrez ensuite ce
fichier exécutable sur le Bureau de Windows puis double–cliquez sur le fichier R-x-
win32.exe.
Le logiciel s’installe alors et vous n’avez plus qu’à suivre les instructions qui s’affichent
et à conserver les options proposées par défaut.

156 / 29
Installation du logiciel R et des packages R

De nombreux modules (packages ou librairies) supplémentaires sont disponibles sur le


site internet: http://cran.at.r-project.org/web/packages/ ou bien encore ici:
http://cran.r-project.org/bin/windows/contrib/, dans le dossier correspon-
dant au numéro x de votre version de R.
L’installation depuis la ligne de commande:

install.packages()

157 / 29

Vous aimerez peut-être aussi