Learn R Programming

round (version 0.21-0.2)

randI: Random Integers of Specified Number of Digits

Description

Create n random integer valued numbers all with a specified number of digits d.

Usage

randI(n, d)

Value

A numeric vector of length

n of numbers N where each \(N\) has exactly d digits; equivalently,

$$10^{d-1} \le N_i < 10^d,$$

and every \(N_i\) appears with the same probability

\(1 / (9\cdot 10^{d-1})\)

Arguments

n

numeric sample size, i.e., length() of result.

d

a positive integer, giving the exact number of digits the resulting numbers must have.

Author

Martin Maechler

Details

This is based on runif() and not sample(), which for now also makes it less R version dependent.

See Also

Uniform random numbers runif; Random number generators, seeds, etc: RNG.

Examples

Run this code
plot(
 T2 <- table(randI(1e6, 2))) ; abline(h = 1e6 / (9*10^(2 - 1)), lty=2, col="gray70")
chisq.test(T2) # typically not at all significant
T3 <- table(randI(1e6, 3))
chisq.test(T3)
stopifnot(exprs = {
  identical( 10:99 , as.integer(names(T2)))
  identical(100:999, as.integer(names(T3)))
})

Run the code above in your browser using DataLab