The normal distribution is a continuous probability distribution defined by its mean and standard deviation. It is also known as the Gaussian distribution or bell curve because of its characteristic shape.
Generate Normal Distribution Random Numbers in R
To generate random numbers from a normal distribution in R, use the rnorm() function. The rnorm() function generates random numbers from a normal, continuous probability distribution with a bell-shaped curve.
Let’s generate 10 random numbers from a normal distribution using the rnorm() function.
set.seed(99)
normal_dist_random_nums <- rnorm(10)
print(normal_dist_random_nums)
Output
[1] 0.2139625 0.4796581 0.0878287 0.4438585 -0.3628379 0.1226740
[7] -0.8638452 0.4896243 -0.3641169 -1.2942420
In this example, we generated random numbers from a standard normal distribution.
In the above code, the mean is 0, and the standard deviation is 1.
Using a set.seed() function ensures that we get the same results for randomization.
Using mean and sd to generate random numbers
In the rnorm() function, mean and sd are optional arguments you can specify based on your requirements.
Use the following code to generate 10 random numbers from a normal distribution with a mean of 40 and a standard deviation of 20.
set.seed(99)
normal_dist_random_nums <- rnorm(900, mean = 30, sd = 60)
hist(normal_dist_random_nums)
Output
[1] 44.27925 49.59316 41.75657 48.87717 32.74324 42.45348 22.72310 49.79249
[9] 32.71766 14.11516
In this example, we are generating random numbers from normal distribution provided the mean of 40 and sd of 20.
Creating a histogram based on normal distribution
To create a histogram in R, use the hist() function and provide the generated random numbers.
set.seed(99)
normal_dist_random_nums <- rnorm(10, mean = 40, sd = 20)
hist(normal_dist_random_nums)
Output
I have used RStudio to show the plot using the hist() function.
Let’s see another example.
set.seed(99)
normal_dist_random_nums <- rnorm(900, mean = 30, sd = 60)
hist(normal_dist_random_nums)
Output
Conclusion
To generate a uniform distribution random numbers in R, use the runif() function.
To generate exponentially distributed random numbers in R, use the rexp() function.
To generate binomial random numbers in R, use the rbinom() function.
To generate normal distributed random numbers in R, use the rnorm() function.
That’s it.

Krunal Lathiya is a Software Engineer with over eight years of experience. He has developed a strong foundation in computer science principles and a passion for problem-solving. In addition, Krunal has excellent knowledge of Data Science and Machine Learning, and he is an expert in R Language.