Aide-memoire-R > Statistiques > Lois-et-generation-d-echantillons
Lois et génération d'échantillons.
Génération d'échantillons aléatoires à partir d'un vecteur :
- vect <- seq(3, 12); sample(vect, 5) : fournit un échantillon aléatoire de 5 valeurs prises dans le vecteur donné, sans remise (taille de l'échantillon doit être inférieure à la taille du vecteur).
- sample(vect, 5, replace = TRUE) : fournit un échantillon aléatoire de 5 valeurs prises dans le vecteur donné, mais avec remise.
- sample(vect) : fournit un échantillon aléatoire de length(vect) valeurs prises dans vect (c'est à dire une permutation).
- sample(10, 5) : fournit un échantillon aléatoire de 5 valeurs parmi les 10 premiers entiers (i.e. parmi seq(1, 10)).
- sample(seq(1, 4), 3, prob = c(0.1, 0.2, 0.3, 0.4), replace = TRUE) : fournit un échantillon aléatoire de 3 valeurs prises parmi le vecteur donné, chaque valeur étant choisie avec une probabilité proportionnelle aux valeurs données dans l'argument prob. La somme des poids n'a pas besoin d'être 1.
Génération d'un échantillon gaussien :
- rnorm(100, 0, 1) : retourne un vecteur de 100 valeurs tirées d'une distribution gaussienne de moyenne 0 et d'écart-type 1.
- rnorm(100, mean = 0, sd = 1) : pareil.
- rnorm(1000, mean = c(0, 3), sd = c(0.5, 1)) : permet d'obtenir une distribution de valeurs bimodale.
Génération d'un échantillon suivant une loi uniforme :
- runif(100, 0, 5) : retourne 100 valeurs issues d'une distribution uniforme entre 0 et 5.
- runif(100, min 0, max = 5) : pareil.
- runif(100, c(0, 1), c(5, 7)) : permet d'avoir la superposition de 2 distributions uniformes.
Tables de lois de probabilités : pour chaque loi (par exemple, la loi normale : norm), on a :
- La fonction de densité de probabilité, préfixe "d" : dnorm (la courbe en cloche).
- La fonction de probabilité qui varie entre 0 et 1, préfixe "p" : pnorm (pnorm(x) est la probabilité d'avoir une valeur inférieur à x).
- La fonction quantile qui est l'inverse de la fonction de probabilité, préfixe "q" : qnorm (qnorm(y) est la valeur pour laquelle la probabilité d'être inférieure à cette valeur est y, donc qnorm(pnorm(x)) = x).
- La fonction de génération de nombres aléatoires, préfixe "r" : rnorm (génère des nombres aléatoires suivant la loi). Le premier argument est la taille de l'échantillon souhaité.
Lois pour lesquelles les fonctions d, p, q et r sont disponibles :
- [dpqr]norm(x, mean = 0, sd = 1) : loi normale.
- [dpqr]unif(x, min = 0, max = 1) : loi uniforme.
- [dpqr]chisq(x, df, ncp = 0) : loi du chi2.
- [dpqr]t(x, df) : loi t de Student.
- [dpqr]f(x, df1, df2, ncp) : loi F.
- [dpqr]exp(x, rate = 1) : loi exponentielle.
- [dpqr]gamma(x, shape, rate = 1, scale = 1 / rate) : loi gamma.
- [dpqr]binom(x, size, prob) : loi binomiale (x doit être entier pour dbinom, sinon le résultat est 0).
- [dpqr]dpois(x, lambda) : loi de poisson (x doit être entier pour dpois, sinon le résultat est 0).
- Autres lois : beta, cauchy, geom (géométrique), hyper (hypergéométrique), lnorm (log-normale), logis (logistique), nbinom(négative binomiale), weibull, wilcox.
Quantiles :
- quantile(vect, probs = seq(0, 1, 0.1)) : donne les 11 valeurs qui déterminent les intervalles de déciles (autant de valeurs renvoyées que de valeurs de probs).
- quantile(vect, probs = c(0, 1)) : équivalent simplement à range(vect) (min et max).
- quantile(vect, probs = c(0.5)) : c'est simplement la médiane !
Dernière date de modification : 2010-01-02
