sample Tirage aléatoire avec remise

## Séquence d'appel

    s = sample(n, X, orient)

## Paramètres

n

  Entier positif (taille de l'échantillon)

X

  vecteur ou matrice de type quelconque, ou tableau de cells : récipient duquel les échantillons sont tirés avec remise.

orient

  Forme des échantillons :

  - `'*'` (par défaut): les éléments de `X` sont tirés aléatoirement.
  - `1` ou `'r'`: les rangées de `X` sont tirées aléatoirement.
  - `2` ou `'c'`: les colonnes de `X` sont tirées aléatoirement.
s

  Vecteur ou matrice ou tableau de cells, rassemblant les échantillons tirés, du type de `X`.

## Description

s = sample(n, X) (ou `s = sample(n, X, '*')`) produit un vecteur `s` de `n` éléments de `X` tirés aléatoirement avec remise.

s = sample(n, X, 'r') ou s = sample(n, X, 1) produit une matrice ou un tableau de taille `n x size(X,'c')` de `n` rangées de `X` tirées aléatoirement avec remise.

s = sample(n, X, 'c') ou s = sample(n, X, 2) produit une matrice ou un tableau de taille `size(X,'r') x n` de `n` colonnes de `X` tirées aléatoirement avec remise.

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

Les séquences aléatoires générées par `sample()` peuvent être initialisées en utilisant `grand("setsd", seed)`.

- Pour obtenir des tirages aléatoires répétables, utiliser une graine initial quelconque mais invariable, par exemple

      grand("setsd", 1234);

- À l'opposé, pour être certain d'obtenir des séquences aléatoires non répétables, utiliser une graine non répétable, par exemple fondé sur la date courante :

      grand("setsd", getdate("s"));

## Exemples

Echantillonnage de nombres :

    data = (1:9)' * 10.^(-3:3)
    sample(8, data)
    sample(5, data, "r")
    sample(5, data, "c")

    --> data = (1:9)' * 10.^(-3:3)
     data  =
       0.001   0.01   0.1   1.   10.   100.   1000.
       0.002   0.02   0.2   2.   20.   200.   2000.
       0.003   0.03   0.3   3.   30.   300.   3000.
       0.004   0.04   0.4   4.   40.   400.   4000.
       0.005   0.05   0.5   5.   50.   500.   5000.
       0.006   0.06   0.6   6.   60.   600.   6000.
       0.007   0.07   0.7   7.   70.   700.   7000.
       0.008   0.08   0.8   8.   80.   800.   8000.
       0.009   0.09   0.9   9.   90.   900.   9000.

    --> sample(8, data)
     ans  =
       0.02   0.06   10.   0.009   0.007   70.   6000.   60.

    --> sample(5, data, "r")
     ans  =
       0.002   0.02   0.2   2.   20.   200.   2000.
       0.009   0.09   0.9   9.   90.   900.   9000.
       0.005   0.05   0.5   5.   50.   500.   5000.
       0.002   0.02   0.2   2.   20.   200.   2000.
       0.004   0.04   0.4   4.   40.   400.   4000.

    --> sample(5, data, "c")
     ans  =
       10.   0.1   100.   0.1   0.001
       20.   0.2   200.   0.2   0.002
       30.   0.3   300.   0.3   0.003
       40.   0.4   400.   0.4   0.004
       50.   0.5   500.   0.5   0.005
       60.   0.6   600.   0.6   0.006
       70.   0.7   700.   0.7   0.007
       80.   0.8   800.   0.8   0.008
       90.   0.9   900.   0.9   0.009

Echantillonage de textes :

    data = [
      "a"  "aa"  "aaa"  "aaaa"  "aaaaa"  "aaaaaa"
      "b"  "bb"  "bbb"  "bbbb"  "bbbbb"  "bbbbbb"
      "c"  "cc"  "ccc"  "cccc"  "ccccc"  "cccccc"
      "d"  "dd"  "ddd"  "dddd"  "ddddd"  "dddddd"
      "e"  "ee"  "eee"  "eeee"  "eeeee"  "eeeeee"
      "f"  "ff"  "fff"  "ffff"  "fffff"  "ffffff" ];

    sample(5, data)
    sample(4, data, "r")
    sample(4, data, "c")

    --> sample(5, data)
     ans  =
      "ffff"  "bb"  "aaaa"  "d"  "c"

    --> sample(4, data, "r")
     ans  =
      "d"  "dd"  "ddd"  "dddd"  "ddddd"  "dddddd"
      "f"  "ff"  "fff"  "ffff"  "fffff"  "ffffff"
      "d"  "dd"  "ddd"  "dddd"  "ddddd"  "dddddd"
      "b"  "bb"  "bbb"  "bbbb"  "bbbbb"  "bbbbbb"

    --> sample(4, data, "c")
     ans  =
      "aaaaaa"  "a"  "aaa"  "a"
      "bbbbbb"  "b"  "bbb"  "b"
      "cccccc"  "c"  "ccc"  "c"
      "dddddd"  "d"  "ddd"  "d"
      "eeeeee"  "e"  "eee"  "e"
      "ffffff"  "f"  "fff"  "f"

Echantillonnage de cells :

    data = {%f, %pi, "abc", 1-%z ; 1+%z, "ABC", %e, %f}
    sample(5, data)
    sample(3, data, "r")
    sample(3, data, "c")

    --> data = {%f, %pi, "abc", 1-%z ; 1+%z, "ABC", %e, %f}
     data  =
      [1x1 boolean   ]  [1x1 constant]  [1x1 string  ]  [1x1 polynomial]
      [1x1 polynomial]  [1x1 string  ]  [1x1 constant]  [1x1 boolean   ]

    --> sample(5, data)
     ans  =
      [1x1 constant]  [1x1 polynomial]  [1x1 string]  [1x1 string]  [1x1 boolean]

    --> sample(3, data, "r")
     ans  =
      [1x1 boolean   ]  [1x1 constant]  [1x1 string  ]  [1x1 polynomial]
      [1x1 polynomial]  [1x1 string  ]  [1x1 constant]  [1x1 boolean   ]
      [1x1 polynomial]  [1x1 string  ]  [1x1 constant]  [1x1 boolean   ]

    --> sample(3, data, "c")
     ans  =
      [1x1 polynomial]  [1x1 boolean   ]  [1x1 string  ]
      [1x1 boolean   ]  [1x1 polynomial]  [1x1 constant]

## Voir aussi

- samplef
- samwr
- grand