Initiation à la modélisation à l’aide du logiciel R
Licence M1A
Faculté des Sciences et Techniques (FAST)
Université d’Abomey-Calavi (UAC)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 1 / 55
Qu’est ce que R ?
langage de programmation et logiciel d’analyse statistique et
graphique ;
logiciel gratuit disponible sur le site
http ://[Link]
avec
I les fichiers d’installation, de mise à jour, la documentation ;
I les librairies (ou packages) de base qui regroupent les fonctions
usuelles ;
I les librairies (ou packages) complémentaires.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 2 / 55
Au démarrage de R
> est le prompt qui attend les commandes et qui apparaît en début de
chaque ligne de commandes.
# permet d’insérer un commentaire ;
+ apparaît au début d’une ligne si la ligne de commande précédente est
incomplète ;
; permet de séparer plusieurs commandes écrites sur la même ligne ;
q() permet d’arrêter le logiciel.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 3 / 55
Au démarrage
Toutes les librairies ne sont pas chargées au démarrage ;
library() affiche la liste des librairies installées ;
library(lib) charge la librairie lib ; les fonctions de cette librairie peuvent
alors être utilisées ;
library(help = lib) afiche la liste des fonctions de la librairie lib.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 4 / 55
Aide sur une fonction R
help(FUN) ou ?FUN (sous windows) ? ?FUN (sous Linux) affiche l’aide
sur la fonction FUN
example(FUN) exécute les exemples généralement présentés à la fin du
fichier d’aide de la fonction FUN
demo() affiche la liste des démonstrations des fonctionnalités de R.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 5 / 55
Objets
Les objets de base sont
vecteurs
matrices
tableaux de données ([Link]) : matrices dont toutes les colonnes
ne sont pas nécessairement du même type
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 6 / 55
Objets
Les objets sont caractérisés par :
leur nom,
leur contenu
des attributs qui précisent le type de données représenté et les
traitements statistiques possibles.
ls() # affiche la liste des objets en mémoire.
rm(o) # supprime l’objet o.
rm(list=ls()) # supprime tous les objets en mémoire.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 7 / 55
Attributs des objets
Le mode : c’est le type des éléments contenus dans un objet ; les
quatre principaux sont :
I numérique
I caractère
I complexe
I logique (FALSE ou TRUE).
la longueur : c’est le nombre d’éléments de l’objet.
mode et length affichent respectivement le mode et la longueur d’un objet.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 8 / 55
Opérateurs et connecteurs
+ Addition
- Soustraction
Opérateurs arithmétiques
* Produit
/ Division
> Supérieur
< Inférieur
Opérateurs logiques >= Supérieur ou égal
<= Inférieur ou égal
== Egal
!= Différent
& Et
Connecteurs
| Ou
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 9 / 55
Opérations de base sur les nombres
2+3 # addition
2-3 # soustraction
2*3 # produit
2/3 # division
2ˆ3 # puissance
sqrt(2) # racine carrée
sqrt([Link](-1)) # racine carrée
sqrt(-1+2i) # racine carrée
abs(-1+2i) # module
exp(1) # constante d’Euler e
exp(2) # e2
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 10 / 55
Opérations de base
log(5) # ln(5)
log10(5) # ln(5)/ln(10)
1.e4 # 104
1.e-4 # 10−4
Inf # +∞
-Inf # −∞
Na # valeur manquante
NaN # valeurs indéfinies ; ex −∞ + ∞
x=1 # affectation
x<-1 # affectation
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 11 / 55
Fonctions trigonométriques
sin() # sinus
cos() # cosinus
tan() # tangente
acos() # arccosinus
asin() # arcsinus
atan() # arctangente
cosh() # cosinus hyperbolique
sinh() # sinus hyperbolique
tanh() # tangente hyperbolique
acosh() # argument cos hyperbolique
asinh() # argument sin hyperbolique
atanh() # argument tan hyperbolique
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 12 / 55
Opération de base
Re(z) # partie réelle de z
Im(z) # partie imaginaire de z
Mod(z) # module de z
Arg(z) # argument de z
factorial(n) # n!
choose(n,k) # Cnk
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 13 / 55
Opérations sur les vecteurs
√
v=c(1,sqrt(2),1/3,4,-3.235,5) # Création du vecteur (1, 2,1/3,4,-3,5)
v # Affichage du vecteur
v-1 # Soustraction
2*v # Multiplication par 2
v/2 # Division par 2
v[2] # Affichage de la 2ème coordonnée de v
floor(v) # Partie entière des composantes de v
round(v,1) ) # Arrondi à la 2ème décimale des compos
u=v[3 :5] # Création du vecteur u = (1, 4, 5)
w=v[c(1,3,6)] # Création du vecteur w = (1, 1, 5)
x=c(0,w,u) # Création du vecteur x = (0, 1, 1, 5, 1, 4,
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 14 / 55
Opérations sur les vecteurs
v [v < 4] # Affichage des coordonnées de v < 4
v [which(v >= 3)] # Affichage des coordonnées de v ≥3
u+w # Somme de u et w
u*w # Produit terme à terme
u/w # Division terme à terme
t(u) # Transposée de u
sum(u) # Somme des coordonnées de u
prod(u) # Produit des coordonnées de u
length(u) # Affichage de la dimension de u
unique(u) #Affichage des composantes qui ne se répètent pas d
duplicated(u) #Affichage des composantes qui se répètent dans u
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 15 / 55
Opérations sur les vecteurs
t(u)%*%w # Produit scalaire de t(u) et w
sort(v) ou sort(v,F) # Tri croissant des coordonnées de v
sort(v,T) # Tri décroissant des coordonnées de v
min(v) # Affichage du plus petit élément de v
max(v) # Affichage du plus grand élément de v
[Link](v) # Affichage de la position du minimum de v
[Link](v) # Affichage de la position du maximum de v
cumsum(v) # Sommes cumulées des éléments de v
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 16 / 55
Générer une séquence de données
rep(v,n) permet de répéter n fois les éléments d’un vecteur v ;
Exemple
rep(1, 10)
rep(c(2,3),4)
v=c(0,-1,2,1.25) ; rep(v,3)
seq(a,b,by=r) génère des termes d’une suite arithmétique de raison r,
où a est le 1er terme et le dernier est supérieur ou égal à b
Exemple
seq(10,1,-0.5)
seq(2,12,8)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 17 / 55
Générer une séquence régulière de données
a :b permet de générer des termes d’une suite arithmétique de raison
1, où le 1er terme est a et le dernier est inférieur ou égal à b ;
Exemple
1 :10
0.5 :11
b :a génère des termes d’une suite arithmétique de raison -1, où le 1er
terme est b et le dernier est supérieur ou égal à a.
Exemple
10 :0.5
8.3 :1.2
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 18 / 55
Matrices
Pour créer une matrice à n lignes et p colonnes :
matrix(data = x, nrow = n, ncol = p, byrow = FALSE)
où x est le vecteur contenant les éléments de la matrice qui seront rangés
par colonne.
Si byrow=TRUE dans la syntaxe, les éléments de la matrice seront rangés
par ligne.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 19 / 55
Opérations sur les matrices
x=1 :20
A=matrix(x,nrow=5,byrow=T) # Création de la matrice 5 × 4
# dont la 1ère ligne est (1,2,3,4)
B=matrix(a,nrow=5) # Création de la matrice 5 × 4
# dont la 1ère colonne est (1,2,3,4,5)
t(A) #Transposition de la matrice A
A[1,2] # Sélection de l’élément à l’intersection
# de la 1ère ligne et de la 3ème colonne de A
A[,3] # Sélection de la 3ème colonne de A
A[c(3,4),] # Sélection des 3ème et 4ème lignes de A
A[,c(3,4)] # Sélection des 3ème et 4ème colonnes de A
A[-2,] # Suppression de la 2ème ligne de A
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 20 / 55
Opérations sur les matrices
A[,-c(1,4)] # Suppression des 1ère et 4ème colonnes de A
A+1 # Addition de 1 à tous les termes de A
A*2 # Multiplication par 2 à tous les termes de A
A+1 :5 # Addition du vecteur 1 :5 à toutes les colonnes de A
A+B # Somme de A et B
A*B # Produit terme à terme de A et B
A[A>9] # Affichage des éléments de A supérieurs à 9
diag(1 :4) # Création d’une matrice diagonale de diagonale (1,2,3,4)
diag(A) # Affichage de la diagonale de la matrice A
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 21 / 55
Opérations sur les matrices
rbind(A,B) # Concaténation verticale des matrices A et B
cbind(x1,x4) # Concaténation horizontale des matrices A et B
colSums(A) # Calcul des sommes par colonne de A
rowSums(A) # Calcul des sommes par ligne de A
colMeans(A) # Calcul des moyennes par colonne de A
rowMeans(A) # Calcul des moyennes par ligne de A
C=A%*%t(B) # Produit matriciel de A par la transposée de B
det(C) # Calcul du déterminant de C
eigen(A) # Calcul des valeurs/vecteurs propres de A
solve(A) # Calcul de l’inverse de A
solve(A,b) # Calcul de la solution x de l’équation Ax=b
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 22 / 55
Statistique descriptive ; caractéristiques numériques
table(Nile) # Affichage du tableau des modalités de x avec l
range(Nile) # Affichage du maximum et du minimum de Nile
mean(Nile) # Calcul de la moyenne de Nile
var(Nile) # Calcul de la variance empirique
sd(Nile) # Calcul de l’écart-type Nile
median(Nile) # Calcul de la médiane empirique de Nile
quantile(Nile) # Calcul des quantiles empiriques de Nile
summary(Nile) # Résumé statistique de Nile
x=c(0.5,1,2.2) ; y=x-1
cov(x,y) #covariance entre x et y
corr(x,y) #coefficient de corrélation entre x et y
plot(ecdf(x)) # tracé de la fonction de répartition de x
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 23 / 55
Statistique descriptive : représentations graphiques
plot(x) # Tracé du nuage de points
pie(x) # Diagramme en secteurs
barplot(x) # Diagramme en barres
hist(Nile,nclass=10) # Histogramme de Nile constitué de 10 classes
boxplot(Nile) # Boîte à moustâche
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 24 / 55
Lancer de dés et tirage dans une urne
Un résultat du lancer d’un dé bien équilibré, n fois
sample(1 :6,n,replace=T)
Une urne contenant 10 boules dont 3 noires, 5 blanches et deux rouges
urne=c(rep("black",3),rep("white",5), rep("red",2))
I Un tirage de quatre boules sans remise dans cette urne
sample(urne,4,replace=F)
I Un tirage de quatre boules avec remise dans cette urne
sample(urne,4,replace=T)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 25 / 55
Echantillonnage
sample(v,n,rep=T) tire avec remise n éléments parmi les composantes
d’un vecteur v
sample(10 :15,8,rep=T)
sample(v,n,rep=F) tire sans remise de n éléments parmi les
composantes d’un vecteur v
sample(1 :20,8,rep=F)
sample(v) permute les composantes du vecteur v
sample(c(0.5,1,-0.2,3))
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 26 / 55
Echantillon d’une loi discrète finie
Pour générer un échantillon de taille n d’une v.a.r.d de loi de probabilité
{(xi , pi ), i = 1, · · · , k},
sample(x,n,replace=T,prob)
où x = (x1 , x2 , · · · , xk )
prob = (p1 , p2 , · · · , pk )
Si replace=F, c’est un tirage sans remise et l’échantillon n’est pas iid ;
Si prob n’est pas spécifié, il y a équiprobabilité ;
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 27 / 55
Lois de probabilité usuelles
Sous R, les lois de probabilité usuelles sont notées comme suit :
Loi Notation Paramètres
uniforme unif min=0, max=1
binomiale binom size, prob
Poisson pois lambda
géométrique geom prob
normale norm mean=0, sd=1
exponentielle exp rate=1
Student t df
Fisher Snedecor f df1, df2
Khi-deux chisq df
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 28 / 55
Calcul de probabilité, fonction de répartition, quantile,
échantillon des lois usuelles
dnotationdist :c’est la fonction de densité pour une loi continue et la
fonction de probabilité P(X = k) pour une loi discrète.
rnotationdist : c’est la fonction qui génère des réalisations aléatoires
indépendantes de la loi ;
pnotationdist : (avec l’option [Link]=TRUE (par défaut)) c’est la
fonction de répartition P(X ≤ x) ;
pnotationdist : (avec l’option [Link]=FALSE ) c’est la fonction
P(X > x) ;
qnotationdist : c’est la fonction qui permet d’obtenir les quantiles ;
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 29 / 55
Loi binomiale
Exemple
Soit X une v.a de loi B(35, 0.45)
dbinom(10, size = 35, prob = 0.45)# P(X = 10)
pbinom(15, size = 35, prob = 0.45)# P(X ≤ 15)
pbinom(11, size = 35, prob = 0.45, [Link] = FALSE)# P(X > 11)
sum(dbinom(16 :19, size = 35, prob = 0.457))#
P(16 ≤ X ≤ 19)pbinom(19, size = 35, prob = 0.45)-pbinom(15, size =
35, prob = 0.45)# P(16 ≤ X ≤ 19)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 30 / 55
Loi de Poisson
Exercice
Identifier ce que chacune des commandes suivantes effectue :
1 dpois(6, lambda=5)
2 dpois(0 :5,5)
3 dpois(c(2,4,8,10), 5)
4 ppois(6, 10, [Link] = TRUE)
5 ppois(6, 10, F)
6 qpois(0.25, 10, T)
7 qpois(0.25, 10, F)
8 rpois(50,5).
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 31 / 55
Loi géométrique
Exercice
Quelle est la définition de la loi géométrique considérée par R ?
Identifier ce que chacune des commandes suivantes effectue :
1 dgeom(1,1/3)
2 dgeom(0 :9,1/3)
3 dgeom(1,c(1/3,2/3))
4 pgeom(9, 1/3,)
5 pgeom(9, 1/3, F)
6 qgeom(0.35, 1/3, T)
7 qgeom(0.35, 1/3, F)
8 rgeom(1,1/3)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 32 / 55
Loi uniforme
Exercice
Identifier ce que chacune des commandes suivantes effectue :
1 runif(12,0,1)
2 runif(15)
3 dunif(0.5, min = 0, max = 1) ; dunif(1.5)
√
4 dunif(- 2,-3,5)
5 punif(-4,-3,5,F) ; punif(-3,-3,5,F)
6 punif(5,T)
7 punif(5.25,-3,5)
8 qunif(0.75, -3,5)
9 qunif(0.6, -3,5,F)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 33 / 55
Loi exponentielle
Exercice
Identifier ce que chacune des commandes suivantes effectue :
1 dexp(3.2, rate = 1)
2 pexp(10, 1.5, T)
3 pexp(10, 1.5, F)
4 qexp(0.5, 1,T)
5 qexp(0.5, 1, F)
6 qexp(c(0.25,0.5,0.75), 1,T)
7 qexp(0.5, 2 :5, F)
8 rexp(20, 17.5)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 34 / 55
Loi normale
Exercice
Identifier ce que chacune des commandes suivantes effectue :
1 dnorm(0, mean = 0, sd = 1) ; dnorm(0, 0, 1)
2 dnorm(2)
3 pnorm(5, 0, 1, T)
4 pnorm(5,T)
5 pnorm(5, 5, 1, F)
6 pnorm(5, 5, 1, T)
7 qnorm(0.95,10, 10, T)
8 qnorm(0.75)
9 qnorm(0.95,10, 10, F)
10 rnorm(10, 77, 25) ; rnorm(10)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 35 / 55
Loi de Student
Exercice
Identifier ce que chacune des commandes suivantes effectue :
1 dt(0.5, 5)
2 pt(0.5,5,T)
3 pt(0.5,5,F)
4 pt(0.5,5,c(F,T)) ; pt(0.5,5 :10,T)
5 pt(0.5,5 :10,F)
6 qt(0.5,5,T) ; qt(0.5,5,F)
7 qt(0.5,5,c(F,T))
8 qt(0.5,5 :10,T)
9 qt(0.5,5 :10,F)
10 rt(25,5)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 36 / 55
Représentations graphiques
plot qui réalise des représentations graphiques.
Exemple
plot(1 :20)
x=rnorm(50)
print(x)
summary(x)
y=2*x+7+rnorm(50,sd=0.6)
plot(x,y)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 37 / 55
Quelques paramétrages de la fonction plot
xlab (resp ylab) pour spécifier le titre de en abcisse (resp en
ordonnée) ;
col pour spécifier la couleur ;
xlim (resp ylim) pour spécifier les bornes de l’axe des abcisses (resp
des ordonnées) ;
Exemples
x<- seq(-pi,pi,0.05)
y <- cos(x)
plot(x,y,xlab="x",ylab="cos x")
plot(x,y,type="l", main="trait continu")
plot(x,y,type="s")
plot(x,y,col="blue") plot(x,y,xlim=c(-2*pi,2*pi))
plot(x,y,xlim=c(-2*pi,2*pi),ylim=c(-2,2))
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 38 / 55
Représentation d’une fonction
Pour représenter la fonction fun :
plot(x,fun(x),type="l")
plot(fun,min,max)
curve(fun,min,max).
Exemples
x<- 0 :30
plot(x,log(xˆ 3+2*x+1),type="l")
curve(log(xˆ 3+2*x+1),0 :30)
plot(sin,-pi,pi)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 39 / 55
Plusieurs représentations sur le même graphe
matplot permet de représenter dans un même repère les colonnes
d’une matrice
points permet d’ajouter des points à un graphique existant
segments permet d’ajouter un segment joignant deux points à un
graphique.
Exemples
A=matrix(5 :16, 4)
matplot(A, type="o")
matplot(A, type="c")
matplot(A, type="l")
matplot(A, type="s")
points(1 :4,1 :4+5,col="blue")
points(1 :4,1 :4+5,col="blue",type="s")
curve(sin,-pi,pi)
segments(0,-1,0,0,col="red")
segments(-2,0.5,-1,-0.5,col="blue")
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 40 / 55
Plusieurs représentations sur le même graphe
lines permet d’ajouter une ligne à un graphique existant.
abline permet d’ajouter une ou plusieurs droites verticales ou
horizontales à un graphique.
Exemples
curve(tan(x),-5,5)
lines(-5 :5,10*(-5 :5))
abline(h=0,v=0,col="green")
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 41 / 55
Plusieurs représentations sur une même page
Pour représenter n × m graphiques sur n lignes et m colonnes dans la
même fenêtre, il suffit d’écrire :
par(mfrow=c(n,m))
avant les commandes permettant de représenter les n × m graphiques.
Exemple
par(mfcol=c(1,2))
plot(dnorm,-5,5)
plot(dexp,0,5)
Exemple
par(mfrow=c(1,2))
plot(dnorm,-5,5)
plot(dexp,0,5)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 42 / 55
Exporter un graphique au format jpeg
Pour exporter un graphique en jpeg , il faut
1 écrire jpeg(filename="nomdufichier%[Link]")
2 réaliser le graphique
3 écrire [Link]() pour enregistrer le graphique dans le fichier
[Link].
Pour exporter un graphique en bmp ou png , il faut procéder de même
en remplaçant jpeg par bmp ou par png.
Pour exporter les graphiques en pdf, il faut procéder comme suit
1 écrire pdf("[Link]", height=, width=)
2 réaliser le graphique
3 écrire [Link]() pour enregistrer le graphique le graphique dans le fichier
[Link].
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 43 / 55
Importer/Exporter des données
scan() permet de créer un vecteur à partir de données stockées dans
un fichier ;
[Link]() permet d’importer un fichier de données ;
[Link]() et read.csv2() sont analogues à [Link]() ;
[Link]() permet d’exporter des données.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 44 / 55
Structures de contrôle : condition
Pour exécuter des instructions si une condition est vraie et des
instructions alternatives sinon :
if (condition) instructions else instructions alternatives
S’il n’y a pas d’instructions alternatives
if (condition) instructions
Si les instructions se limitent à un seul calcul, on peut utiliser ifelse
ifelse(condition, instructions, instructions alternatives)
Exemple
if (x>0) y=log(x) else y=0
y=ifelse(x>0,log(x),0)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 45 / 55
Structures de contrôle : itération avec for
Pour exécuter des instructions pour les valeurs du compteur appartenant à
la séquence
for(compteur in séquence) instructions
Exemple
somme<-0
for(i in 1 :10)
{
somme<-somme+i}
somme
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 46 / 55
Structures de contrôle : itération avec while
Pour exécuter des instructions tant qu’une condition est vraie
while(condition) instructions
Exemple
i=1
somme<-0
while ( i <= 10 )
{
somme<-somme+i
i<-i+1
} somme
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 47 / 55
Structures de contrôle : itération avec repeat
Pour exécuter de façon répétée les instructions jusqu’à ce qu’une condition
soit vérifiée :
repeat (instructions) if(condition) break
Exemple
somme< −0
i=1
repeat
{
somme<-somme+i
i<-i+1
if(i>10) break
}
somme
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 48 / 55
Créer une fonction
mafonction=function (liste des paramètres)
{
instructions
return (l’objet contenant les résultats )
}
Pour exécuter la fonction :
mafonction(valeurs des paramètres)
Exemple
ecart-type <- function(x) sqrt(mean(xˆ 2)-mean(x)ˆ 2)
x<-c(9,5,2,3,7)
ecart-type(x)
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 49 / 55
Exercice 1
√
1 Créer un vecteur x de 50 réels choisis au hasard entre 2 et 25.
2 Arrondir les éléments de x à la 3ème décimale.
3 Extraire les éléments de x d’indice impair.
4 Afficher les éléments de x compris strictement entre 10 et 15.
Exercice 2
On lance 10 fois une pièce de monnaie bien équilibrée. Soit X le nombre de
Pile obtenus.
1 Calculer la probabilité d’obtenir exactement 4 fois Pile.
2 Calculer la probabilité d’obtenir au moins 4 fois Face.
3 Représenter la fonction de répartition de X .
4 Calculer la médiane.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 50 / 55
Exercice 3
On lance une pièce de monnaie bien équilibrée jusqu’à obtenir
[Link]
1 la probabilité d’obtenir Face au 5ème lancer.
2 la probabilité d’effectuer plus de 5 lancers pour obtenir Face.
3 le nombre moyen de lancers à effectuer pour obtenir Face.
Exercice 4
P500 3;
1 Calculer i=1 i
2 Effectuer 20 tirages successifs avec remise dans une population de 100
personnes dont 45 hommes et 55 femmes.
3 Choisir au hasard et sans remise 15 observations dans un ensemble 20
observations d’une loi uniforme sur [0, 1] et 15 observations d’une loi
de Poisson P(5).
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 51 / 55
Exercice 5
1 Simuler 100 lancers indépandants d’un dé cubique équilibré dont les
faces sont numérotées de 6 à 12.
2 Former la distribution des fréquences de la série statistique ainsi
obtenue ;
3 Déterminer le mode de cette série.
4 Déterminer les déciles de cette série.
Exercice 6
1 Simuler l’épreuve qui consiste à lancer 25 fois une pièce de monnaie
équilibrée.
2 Calculer la probabilité d’obtenir Pile 5 fois à l’issue de cette épreuve.
3 Calculer la probabilité d’obtenir Face au moins 2 fois à l’issue de cette
épreuve.
4 Calculer la probabilité d’obtenir Face plus de 5 fois et au plus 13 fois à
l’issue de cette épreuve.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 52 / 55
Exercice 7
√
Soit une variable aléatoire X ∼ N (2, 5, 0, 5).
1 Calculer P(|X | ≥ 4, 75);
2 Déterminer x tel que P(X ≤ x) = 0, 95 et y tel que
P(X > y ) = 0, 95.
3 Déterminer z tel que P(|X | ≤ z) = 0.975.
4 Représenter la densité de probabilité de X sur l’intervalle [−20, 20]
avec une subdivision régulière de pas 0,1.
5 Ajouter un segment vertical joignant le point (x,0) à la courbe. Que
représentent les aires situées à gauche et à droite du segment, entre la
courbe et l’axe des abcisses ?
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 53 / 55
Exercice 8
1 Simuler un échantillon (x1 , x2 , · · · , x1 000) d’une v.a. X de loi de
Bernoulli de paramètre 0.75.
2 Représenter l’histogramme de série en considérant 20 classes.
3 Tracer la courbe de m 7→ x̄m , ∀m = 1, 2, · · · , 1000.
4 Ajouter au graphique la droite d’équation y = 0.75.
5 Que constatez-vous ?
6 Quel résultat important de probabilité cette expérience illustre t-elle ?
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 54 / 55
Exercice 9
airquality désigne un jeu de données disponible sous R.
1 Afficher airquality. De quel type d’objet s’agit-il ?
2 Déterminer le résumé des statistiques descriptive des airquality.
3 Représenter les boîtes à moustache de airquality.
4 Créer la matrice A des trois dernières colonnes de airquality.
5 Créer la matrice V des covariances des trois variables en colonne dans
A puis calculer le déterminant de V .
6 Afficher toutes les observations supérieures ou égales au 3ème quartile
de la 3ème colonne de A.
7 Afficher les observations des quatre premières variables obtenues le 20
juillet.
8 Afficher les observations des quatre premières variables obtenues le 20
de chaque mois considéré.
9 Retirer les lignes de airquality contenant des données manquantes.
Freedath Djibril Moussa (FAST) Initiation à la modélisation avec R 5 mai 2019 55 / 55