samplef Tirage avec remise d'un échantillon d'une population suivant les valeurs de fréquences données.

## Séquence d'appel

    s = samplef(n, X, f, orient)

## Paramètres

n

  Entier positif (taille de l'échantillon à tirer).

X

  Matrice. Population, les échantillons sont tirés de cette matrice.

f

  Matrice de valeurs réelles positives. Indique la fréquence de chaque élément de `X`.

orient

  Paramètre optionnel. Les valeurs possibles sont `{'*'}, 1, 2, 'r'` ou `'c'`. Orientations possibles pour le tirage de valeurs de X. Voir la description ci-dessous.

s

  vecteur ou matrice contenant le tirage des valeurs de `X` aux fréquences `f`.

## Description

Cette fonction renvoie `s`, un vecteur de longueur `n`. Il contient un tirage de `n` échantillons, avec remise, d'éléments de la matrice `X`, chaque élément étant compté avec une fréquence donnée par sa valeur correspondante dans le vecteur `f`.

`s=samplef(n,X,f)` (ou `s=samplef(n,X,f,'*')`) renvoie un vecteur `s` dont les valeurs sont un tirage de `n` valeurs de `X`, chaque valeur étant tirée avec une probabilité proportionelle à sa valeur correspondante dans `f` après normalisation, ce tirage étant fait avec remise. `f` et `X` doivent contenir le même nombre de valeurs.

`s=samplef(n,X,f,'r')` (ou, de manière équivalente, `s=samplef(n,X,f,1))` renvoie une matrice de taille `size(X,'r') * n`. Elle contient un tirage de `n` lignes de `X`, chaque ligne étant tirée avec une probabilité proportionelle à sa valeur correspondante dans `f` après normalisation, ce tirage étant fait avec remise. La taille de `f` doit être identique au nombre de lignes de `X`.

`s=samplef(n,X,f,'c')` (ou, de manière équivalente, `s=samplef(n,X,f,2))` renvoie une matrice de taille `n * size(X,'c')`. Elle contient un tirage de `n` colonnes de `X`, chaque colonne étant tirée avec une probabilité proportionelle à sa valeur correspondante dans `f` après normalisation, ce tirage étant fait avec remise. La taille de `f` doit être identique au nombre de colonnes de `X`.

## Générateur de nombres aléatoires

`samplef` se fonde sur la fonction grand pour générer les tirages aléatoires. Utiliser `grand("setsd", seed)` pour changer la graine aléatoire de `samplef`.

                seed = getdate("s");
                grand("setsd", seed); //positionne la graine à la date du jour

                seed = 0;
                grand("setsd", seed); //positionne la graine à sa valeur par défaut

## Exemples

    X = [3 7 9;22 4 2];
    f1 = [10 1 1 1 1 1];
    f2 = [1; 15];
    f3 = [10 1 1];
    s=samplef(20, X, f1)      //la première valeur de la matrice X a une fréquence de 10/15
    s=samplef(20, X, f2, 'r') //la seconde ligne de la matrice X sera choisie avec une fréquence 15/16
    s=samplef(20, X, f3, 'c') //la première colonne sera choisie avec une fréquence 10/12

## Voir aussi

- sample
- samwr
- grand