Categories: Data Science

Learn R – 3 Commands to Generate Random Numbers

This article represents 3 different commands with code examples which could be used to generate random numbers in R programming language. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos.

Following are the key points described later in this article:

  • Runif command
  • Sample command
  • Rnorm command
  • Difference between runif and rnorm command
Runif: Generate Random Numbers based on Uniform Distribution

“Runif” command can be used for generating random numbers based on uniform distribution. One can generate one or more random numbers within a range of numbers. One should note that the random numbers generated using runif commands are all decimal (non-integers) numbers.

# Generate 5 random numbers
runif(5)

# Generate 5 random numbers (Non-integers) between 2 and 7
runif(5, 2, 7)

 

Sample: Generate Random Numbers based on Uniform Distribution

“Sample” command is also used for generating random numbers based on uniform distribution. One can generate one or more random numbers within a range of numbers. One should note that the random numbers generated using runif commands are all integer numbers. This is the key difference between runif and sample command.

# Generate 5 random numbers (Integers)
sample(5)

# Generate 5 random numbers (Integers) between 2 and 7; Duplicates are allowed
# with replace parameter set to True (T)
sample(2:7, 5, replace=T)

# Generate 5 random numbers (Integers) between 2 and 7; Duplicates are NOT allowed
# with replace parameter set to False (F)
sample(2:7, 5, replace=F)

# Generate 5 country names from the vector countryNames with replace as false
countryNames <- c("India","USA","Pakistan","China","Japan","South Korea","Mangolia")
sample(countryNames, 5)

 

Rnorm: Generate Random Numbers based on Normal Distribution

“Rnorm” command is used for generating random numbers based on normal distribution.

# Generate 5 random numbers with mean as 0 and standard deviation as 1
rnorm(5)

# Generate 5 random numbers with mean as 5 and standard deviation as 2
rnorm(500, mean=5, sd=2)

 

Random Number Generation for Uniform & Normal Distribution

The key difference between runif/sample and rnorm command is following:

  • runif/sample command generates the random numbers based on uniform distribution
  • rnorm command generates random numbers based on normal distribution

 

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.

Recent Posts

Coefficient of Variation in Regression Modelling: Example

When building a regression model or performing regression analysis to predict a target variable, understanding…

4 weeks ago

Chunking Strategies for RAG with Examples

If you've built a "Naive" RAG pipeline, you've probably hit a wall. You've indexed your…

1 month ago

RAG Pipeline: 6 Steps for Creating Naive RAG App

If you're starting with large language models, you must have heard of RAG (Retrieval-Augmented Generation).…

1 month ago

Python: List Comprehension Explained with Examples

If you've spent any time with Python, you've likely heard the term "Pythonic." It refers…

1 month ago

Large Language Models (LLMs): Four Critical Modeling Stages

Large language models (LLMs) have fundamentally transformed our digital landscape, powering everything from chatbots and…

4 months ago

Agentic Workflow Design Patterns Explained with Examples

As Large Language Models (LLMs) evolve into autonomous agents, understanding agentic workflow design patterns has…

4 months ago