Les simulations classiques : dé, urne, pièce de monnaie
Lancer de dé
L'équivalent de Alea()
sur R-project est runif()
, la fonction génératrice de nombres aléatoires dans [0 ; 1[ :
tirage1<-runif(n=10, min=0,max=1) # tirage de 10 rels compris entre 0 et 1
tirage2<-runif(n=10, min=2,max=5) # tirage de 10 rels compris entre 2 et 5
Tirage aléatoire
Tirage de nombres entiers compris entre une valeur-min et une valeur-max.
Voici par exemple une simulation de 100 lancers d'un dé cubique ( min=1 et max =6)
D<-c(1:6)# ou De-c(1,2,3,4,5,6)
result<-sample(De,ize=100, replace=T)
# ou tout simplement
result<-sample(1:6,100, replace=T)
Avec la fonction table on obtient :
D<-c(1:6)
result<-sample(Desize=100, replace=T)
table(result)
Lancer de deux dés
Somme des numéros des faces obtenues
face<-c(1:6)
S<-NULL
for(i in 1:1000){
D1<-sample(face,size=1, replace=T)
De<-sample(face,size=1, replace=T)
S[i]<-De1De2
table(S)
Tirage dans une urne
Tirage dans une urne bicolore dont 65% de boules sont rouges (R) et les autres sont vertes (V). Si on veut effectuer 25 tirages avec remise, on procède ainsi :
urne<-c('R','V')
Tirage<-sample(urne,25, replace=T, prob=c(0.65,0.35))
Si on souhaite voir la proportion de chaque couleur de notre échantillon
urne<-c('R','V')
Tirage<-sample(urne,25, replace=T, prob=c(0.65,0.35))
table(Tirage)
Remarque :
On sait que le tirage avec remise, dans une urne bicolore, d'un échantillon de taille est un schéma de Bernouli.
La variable aléatoire X qui comptabilise le nombre de succès ( rouge ou verte) suit la loi binomiale de paramètres n et p, où p est la probabilité de succès.
On suppose que les boules sont codées de la manière suivante : rouge = 1 et verte = 0 et donc un succès c'est obtenir une boule rouge
Le programme suivant simule ce schéma de Bernoulli :
urne<-c(1,0)
taille<-5
psuccs<-0.65
resultat<-NULL
nbsimul<-1000# nombre de simulations
for (i in 1:nbsimul )
{
Tirage<-sample(urne,taille, replace=T, prob=c(psucce,1-psucces)
resultat[i]<-sum(Tirage)
}
table(resultat)/nbsimul # renvoie les probabilites ttendues
mean(resultat)# esprance matheatique attendue de la v.a. X
Piece de monnaie
On distingue deux cas :
Pièce équilibrée
piece<-c('P','F')
lancerpiece<-sample(piece,50, replace=T)
table(lancerpiece)
Pièce truquée
piece<-c('P','F')
p<-0.35 # probabilit d'avoir pile par exemple
lancerpiece<-sample(piece,50, replace=T, prob=c(p,1-p))
table(lancerpiece)