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 deX
sont tirés aléatoirement.1
ou'r'
: les rangées deX
sont tirées aléatoirement.2
ou'c'
: les colonnes deX
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 :
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
Report an issue | ||
<< rand | random | samplef >> |