# R Program to Generate Random Number from Standard Distributions

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.