CALL RANTRI Routine
Returns a random variate from a triangular distribution.
| Category: | Random Number |
|---|---|
| Note: | Argument types for arguments that are updated must match in CALL routines. All argument types must be CHAR, VARCHAR, or NUMERIC. If the argument types do not match, a warning is issued to the log. |
Table of Contents
Syntax
Required Arguments
seed
is the seed value. A new value for seed is returned each time CALL RANTRI is executed.
| Range | seed < 231 – 1 |
|---|---|
| Note | If seed ≤ 0, the time of day is used to initialize the seed stream. |
| See | Concepts and Pseudorandom Numbers |
h
is a numeric SAS value.
| Range | 0<h<1 |
|---|
x
is a numeric SAS variable. A new value for the random variate x is returned each time CALL RANTRI is executed.
Details
The CALL RANTRI routine updates seed and returns a variate x generated from a triangular distribution on the interval (0,1) with parameter h, which is the modal value of the distribution.
By adjusting the seeds, you can force streams of variates to agree or disagree for some or all of the observations in the same, or subsequent, DATA steps.
The CALL RANTRI routine uses an inverse transform method applied to a RANUNI uniform variate.
For information about random number functions and CALL routines, see Using Random-Number Functions and CALL Routines in the DATA Step.
Comparisons
The CALL RANTRI routine gives greater control of the seed and random number streams than does the RANTRI function.
Example
This example uses the CALL RANTRI routine.
data u1(keep=x);
seed=104;
do i=1 to 5;
call rantri(seed, .5, x);
output;
end;
call symputx('seed', seed);
run;
data u2(keep=x);
seed=&seed;
do i=1 to 5;
call rantri(seed, .5, x);
output;
end;
run;
data all;
set u1 u2;
z=rantri(104, .5);
run;
proc print label;
label x='Separate Streams' z='Single Stream';
run;
Output from the CALL RANTRI Routine

See Also
-
Functions: