sample
Sampling: random draw with replacement
Syntax
s = sample(n, X, orient)
Arguments
- n
positive integer (size of sample).
- X
array of any data type, or cells array. Samples will be extracted from this array.
- orient
The shape of samples:
'*'
(default): elements ofX
are sampled.1
or'r'
: rows ofX
are sampled.2
or'c'
: rolumns ofX
are sampled.
- s
vector, matrix, or cells array containing the samples, of same type as
X
.
Description
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.
Random number generator
sample()
is based on grand for generating
the random samples. Use grand("setsd", seed)
to change the seed for
sample()
.
Examples
Sampling some numbers:
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
Sampling some texts:
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"
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]
See also
Report an issue | ||
<< rand | random | samplef >> |