In SAS, “ranuni” function can be used to generate random numbers between 0 and 1 inclusive. Hence, if there is a request to generate random numbers from 1 to 5 inclusive, it is possible to multiply by 5 and add 1 to the result which is then rounded to the integer portion of the decimal point.
Example in SAS
do i=1 to 5;
rand_num = int(ranuni(0) * 5 + 1);
In R on the other hand, we can just use a “sample” function to derive random numbers from 1 to 5. Colon (:) specifies the range directly, which in my opinion, makes the code very convenient to read and maintain.
Example in R
> x3 <- sample(1:5, 5)
> print( x3 )
 2 5 3 1 4
Notice that there were no repetitions in R in the example above. Having a third parameter in the example below allows repetitions.
> x3 <- sample(1:5, 5, replace=T)
> print ( x3 )
 3 1 3 1 3