Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
samplef
sample values with replacement from a population with given frequencies.
Calling Sequence
s = samplef(n,X,f,orient)
Arguments
- n
positive integer (size of sample)
- X
matrix. Population, samples are extracted from this matrix
- f
matrix of positive real values. Indicates the corresponding frequencies of the values in
X.- orient
Optional parameter. Admissible values are
{'*'}, 1, 2, 'r'or'c'. The orientation to sample rows or columns. See Description below.- s
vector or matrix containing the sampled values of
Xat frequenciesf.
Description
This function returns s, a vector of length n. It contains
a sample of n extractions, with replacement, from the
vector (or matrix) X, each element counted with the
frequency given by the corresponding value in vector f.
s=samplef(n,X,f) (or
s=samplef(n,X,f,'*')) returns a
vector s whose values are a random sample of n values from
X, each value with a probability to be sampled
proportional to the corresponding value of f, extracted
with replacement, from X. f must have same length than X.
s=samplef(n,X,f,'r') (or, equivalently,
s=samplef(n,X,f,1)) returns a matrix of type
size(X,'r') * n. It contains a random sample of n rows from
X, each row with a probability to be sampled proportional
to the corresponding value of f, extracted with
replacement, from the rows of X. The length of f must be
equal to the number of rows of X.
s=samplef(n,X,f,'c') (or, equivalently,
s=samplef(n,X,f,2)) returns a matrix of type
n * size(X,'c'). It contains a random sample of n columns
from X, each column with a probability to be sampled
proportional to the corresponding value of f, extracted
with replacement, from the columns of X. The length of f
must be equal to the number of columns of X.
Random number generator
samplef is based on grand for generating the random samples. Use grand("setsd", seed) to change the seed for samplef.
Examples
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) //the first value of matrix X will be choosen with frequency 10/15 s=samplef(20, X, f2, 'r') //the second row of matrix a will be choosen with frequency 15/16 s=samplef(20, X, f3, 'c') //the first column of matrix a will be choosen with frequency 10/12
See Also
| Report an issue | ||
| << sample | Sampling | samwr >> |