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

Retrieval Augmented Generation (RAG) & LLM: Examples

Last updated: 25th Jan, 2025 Have you ever wondered how to seamlessly integrate the vast…

3 weeks ago

How to Setup MEAN App with LangChain.js

Hey there! As I venture into building agentic MEAN apps with LangChain.js, I wanted to…

4 weeks ago

Build AI Chatbots for SAAS Using LLMs, RAG, Multi-Agent Frameworks

Software-as-a-Service (SaaS) providers have long relied on traditional chatbot solutions like AWS Lex and Google…

4 weeks ago

Creating a RAG Application Using LangGraph: Example Code

Retrieval-Augmented Generation (RAG) is an innovative generative AI method that combines retrieval-based search with large…

1 month ago

Building a RAG Application with LangChain: Example Code

The combination of Retrieval-Augmented Generation (RAG) and powerful language models enables the development of sophisticated…

1 month ago

Building an OpenAI Chatbot with LangChain

Have you ever wondered how to use OpenAI APIs to create custom chatbots? With advancements…

1 month ago