Returns a random variate from a tabled probability distribution
Category: Random Number
Tip: If you want to change the seed value during execution, you must use the CALL RANTBL routine instead of the RANTBL function.
RANTBL ( seed,p 1, p i , p n )
seed
is an integer. If seed ‰ 0, the time of day is used to initialize the seed stream.
Range: seed < 2 31 -1
See: 'Seed Values' on page 257 for more information about seed values
p i
is a numeric SAS value.
Range: ‰ p i ‰ 1 for 0 < i ‰ n
The RANTBL function returns a variate that is generated from the probability mass function defined by p 1 through p n . An inverse transform method applied to a RANUNI uniform variate is used. RANTBL returns
If, for some index j < n , , RANTBL returns only the indices 1 through j with the probability of occurrence of the index j equal to .
Let n=3 and P1, P2, and P3 be three probabilities with P1+P2+P3=1, and M1, M2, and M3 be three variables . The variable X in these statements
array m{3} m1-m3; x=m{rantbl(seed,of p1-p3)};
will be assigned one of the values of M1, M2, or M3 with probabilities of occurrence P1, P2, and P3, respectively.
The CALL RANTBL routine, an alternative to the RANTBL function, gives greater control of the seed and random number streams.
Call routine:
'CALL RANTBL Routine' on page 379