R Program to Generate Random Number from Standard Distributions

In this example, you'll learn to generate the random number from standard distributions.

To understand this example, you should have the knowledge of the following R programming topics:


R has functions to generate a random number from many standard distribution like uniform distribution, binomial distribution, normal distribution etc.

The full list of standard distributions available can be seen using ?distribution. Functions that generate random deviates start with the letter r.

For example, runif() generates random numbers from a uniform distribution and rnorm() generates from a normal distribution.


From Uniform Distribution

Random numbers from a normal distribution can be generated using runif() function.

We need to specify how many numbers we want to generate.

Additionally we can specify the range of the uniform distribution using max and min argument.

If not provided, the default range is between 0 and 1.


Example: Uniform Distribution

> runif(1)    # generates 1 random number
[1] 0.3984754
> runif(3)    # generates 3 random number
[1] 0.8090284 0.1797232 0.6803607
> runif(3, min=5, max=10)    # define the range between 5 and 10
[1] 7.099781 8.355461 5.173133

In the program above, we can also generate given number of random numbers between a range.


From Normal Distribution

Random numbers from a normal distribution can be generated using rnorm() function.

We need to specify the number of samples to be generated.

We can also specify the mean and standard deviation of the distribution.

If not provided, the distribution defaults to 0 mean and 1 standard deviation.


Example: Normal Distribution

> rnorm(1)    # generates 1 random number
[1] 1.072712
> rnorm(3)    # generates 3 random number
[1] -1.1383656  0.2016713 -0.4602043
> rnorm(3, mean=10, sd=2)    # provide our own mean and standard deviation
[1]  9.856933  9.024286 10.822507

In the program above, we can also generate given number of random numbers between a range.

Did you find this article helpful?