Skip to contents

This function provides a very efficient way to pull an integer random sample sequence from an integer interval.

Usage

sample_seq(low, high, length)

Arguments

low

The lower limit of the interval (inclusive).

high

The higher limit of the interval (inclusive).

length

The length of the sample.

Value

An increasing numeric vector containing integers, the sample.

Details

The algorithm runs in O(length) expected time, even if high-low is big. It is much faster (but of course less general) than the builtin sample function of R.

References

Jeffrey Scott Vitter: An Efficient Algorithm for Sequential Random Sampling, ACM Transactions on Mathematical Software, 13/1, 58--67.

See also

Other other: convex_hull(), running_mean()

Author

Gabor Csardi csardi.gabor@gmail.com

Examples


rs <- sample_seq(1, 100000000, 10)
rs
#>  [1]  3448251 17193538 24272928 44540786 47529307 75691495 82369671 87146886
#>  [9] 92437850 99190836