Functions and CALL Routines 
Category:  Random Number 
Tip:  If you want to change the seed value during execution, you must use the CALL RANGAM routine instead of the RANGAM function. 
Syntax  
Arguments  
Details  
Comparisons  
See Also 
Syntax 
RANGAM(seed,a) 
is a numeric constant, variable, or expression with an integer value. If seed 0, the time of day is used to initialize the seed stream.
Range:  seed < 2^{31}1 
See:  Seed Values for more information about seed values 
is a numeric constant, variable, or expression that specifies the shape parameter.
Range:  a > 0 
Details 
The RANGAM function returns a variate that is generated from a gamma distribution with parameter a. For a > 1, an acceptancerejection method due to Cheng (1977) (See References) is used. For a 1, an acceptancerejection method due to Fishman is used (1978, Algorithm G2) (See References).
A gamma variate X with shape parameter ALPHA and scale BETA can be generated:
x=beta*rangam(seed,alpha);
If 2*ALPHA is an integer, a chisquare variate X with 2*ALPHA degrees of freedom can be generated:
x=2*rangam(seed,alpha);
If N is a positive integer, an Erlang variate X can be generated:
x=beta*rangam(seed,N);
It has the distribution of the sum of N independent exponential variates whose means are BETA.
And finally, a beta variate X with parameters ALPHA and BETA can be generated:
y1=rangam(seed,alpha); y2=rangam(seed,beta); x=y1/(y1+y2);
For a discussion about seeds and streams of data, as well as examples of using the randomnumber functions, see Generating Multiple Variables from One Seed in RandomNumber Functions.
Comparisons 
The CALL RANGAM routine, an alternative to the RANGAM function, gives greater control of the seed and random number streams.
See Also 

Copyright © 2011 by SAS Institute Inc., Cary, NC, USA. All rights reserved.