Sampling: random draw with replacement
s = sample(n, X, orient)
positive integer (size of sample).
array of any data type, or cells array. Samples will be extracted from this array.
The shape of samples:
'*'
(default): elements of X
are sampled.1
or 'r'
: rows of
X
are sampled.2
or 'c'
: rolumns of
X
are sampled.vector, matrix, or cells array containing the samples, of same type
as X
.
s = sample(n, X)
(or s = sample(n, X, '*')
)
returns a vector s
of n
elements randomly chosen
among X
elements, with replacement.
s = sample(n, X, 'r')
(or s = sample(n, X, 1))
returns a matrix of size n x size(X,'c')
of randomly chosen Rows
of X
, with replacement.
s = sample(n, X, 'c')
(or s = sample(n, X, 2))
returns a matrix of size size(X,'r') x n
of randomly chosen Columns
of X
, with replacement.
sample()
is based on grand for generating
the random samples. Use grand("setsd", seed)
to change the seed for
sample()
.
Sampling some numbers:
--> 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
Sampling some texts:
--> 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"
Sampling some 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]