Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Data Science
  • Data Science Projects
  • Data Analysis
  • Data Visualization
  • Machine Learning
  • ML Projects
  • Deep Learning
  • NLP
  • Computer Vision
  • Artificial Intelligence
Open In App
Next Article:
Top 80+ Data Analyst Interview Questions and Answers
Next article icon

Data analysis using R

Last Updated : 04 Sep, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Data Analysis is a subset of data analytics, it is a process where the objective has to be made clear, collect the relevant data, preprocess the data, perform analysis(understand the data, explore insights), and then visualize it. The last step visualization is important to make people understand what's happening in the firm.

Steps involved in data analysis:

 

The process of data analysis would include all these steps for the given problem statement. Example- Analyze the products that are being rapidly sold out and details of frequent customers of a retail shop.

  • Defining the problem statement - Understand the goal, and what is needed to be done. In this case, our problem statement is - "The product is mostly sold out and list of customers who often visit the store." 
  • Collection of data -  Not all the company's data is necessary, understand the relevant data according to the problem. Here the required columns are product ID, customer ID, and date visited.
  • Preprocessing - Cleaning the data is mandatory to put it in a structured format before performing analysis. 
  1. Removing outliers( noisy data).
  2. Removing null or irrelevant values in the columns. (Change null values to mean value of that column.)
  3. If there is any missing data, either ignore the tuple or fill it with a mean value of the column.

Data Analysis using the Titanic dataset

You can download the titanic dataset (it contains data from real passengers of the titanic)from here. Save the dataset in the current working directory, now we will start analysis (getting to know our data).

R
titanic=read.csv("train.csv") head(titanic) 

Output:

  PassengerId Survived Pclass                                         Name    Sex
1 892 0 3 Kelly, Mr. James male
2 893 1 3 Wilkes, Mrs. James (Ellen Needs) female
3 894 0 2 Myles, Mr. Thomas Francis male
4 895 0 3 Wirz, Mr. Albert male
5 896 1 3 Hirvonen, Mrs. Alexander (Helga E Lindqvist) female
6 897 0 3 Svensson, Mr. Johan Cervin male
Age SibSp Parch Ticket Fare Cabin Embarked
1 34.5 0 0 330911 7.8292 Q
2 47.0 1 0 363272 7.0000 S
3 62.0 0 0 240276 9.6875 Q
4 27.0 0 0 315154 8.6625 S
5 22.0 1 1 3101298 12.2875 S
6 14.0 0 0 7538 9.2250 S

Our dataset contains all the columns like name, age, gender of the passenger and class they have traveled in, whether they have survived or not, etc. To understand the class(data type) of each column sapply() method can be used.

R
sapply(train, class) 

Output:

PassengerId    Survived      Pclass        Name         Sex         Age 
"integer" "integer" "integer" "character" "character" "numeric"
SibSp Parch Ticket Fare Cabin Embarked
"integer" "integer" "character" "numeric" "character" "character"

We can categorize the value "survived" into "dead" to 0 and "alive" to 1 using factor() function.

R
train$Survived=as.factor(train$Survived) train$Sex=as.factor(train$Sex) sapply(train, class) 

Output:

PassengerId    Survived      Pclass        Name         Sex         Age 
"integer" "factor" "integer" "character" "factor" "numeric"
SibSp Parch Ticket Fare Cabin Embarked
"integer" "integer" "character" "numeric" "character" "character"

We analyze data using a summary of all the columns, their values, and data types. summary() can be used for this purpose.

R
summary(train) 

Output:

  PassengerId     Survived     Pclass          Name               Sex     
Min. : 892.0 0:266 Min. :1.000 Length:418 female:152
1st Qu.: 996.2 1:152 1st Qu.:1.000 Class :character male :266
Median :1100.5 Median :3.000 Mode :character
Mean :1100.5 Mean :2.266
3rd Qu.:1204.8 3rd Qu.:3.000
Max. :1309.0 Max. :3.000

Age SibSp Parch Ticket
Min. : 0.17 Min. :0.0000 Min. :0.0000 Length:418
1st Qu.:21.00 1st Qu.:0.0000 1st Qu.:0.0000 Class :character
Median :27.00 Median :0.0000 Median :0.0000 Mode :character
Mean :30.27 Mean :0.4474 Mean :0.3923
3rd Qu.:39.00 3rd Qu.:1.0000 3rd Qu.:0.0000
Max. :76.00 Max. :8.0000 Max. :9.0000
NA's :86
Fare Cabin Embarked
Min. : 0.000 Length:418 Length:418
1st Qu.: 7.896 Class :character Class :character
Median : 14.454 Mode :character Mode :character
Mean : 35.627
3rd Qu.: 31.500
Max. :512.329
NA's :1

From the above summary we can extract below observations:

  • Total passengers:  891
  • The number of total people who survived:  342
  • Number of total people dead:  549
  • Number of males in the titanic:  577
  • Number of females in the titanic:  314
  • Maximum age among all people in titanic:  80
  • Median age:  28

Preprocessing of the data is important before analysis, so null values have to be checked and removed.

R
sum(is.na(train)) 

Output:

177
R
dropnull_train=train[rowSums(is.na(train))<=0,] 
  • dropnull_train contains only 631 rows because (total rows in dataset (808) - null value rows (177) = remaining rows (631) )
  • Now we will divide survived and dead people into a separate list from 631 rows.
R
survivedlist=dropnull_train[dropnull_train$Survived == 1,] notsurvivedlist=dropnull_train[dropnull_train$Survived == 0,] 

Now we can visualize the number of males and females dead and survived using bar plots, histograms, and piecharts.

R
mytable <- table(titanic$Survived) lbls <- paste(names(mytable), "\n", mytable, sep="") pie(mytable,     labels = lbls,     main="Pie Chart of Survived column data\n (with sample sizes)")  

Output:

 

From the above pie chart, we can certainly say that there is a data imbalance in the target/Survived column.

R
hist(survivedlist$Age,      xlab="gender",      ylab="frequency") 

Output:

 

Now let's draw a bar plot to visualize the number of males and females who were there on the titanic ship.

R
barplot(table(notsurvivedlist$Sex),         xlab="gender",         ylab="frequency") 

Output:

 

From the barplot above we can analyze that there are nearly 350 males, and 50 females those are not survived in titanic.

R
temp<-density(table(titanic$Fare)) plot(temp, type="n",      main="Fare charged from Passengers") polygon(temp, col="lightgray",         border="gray") 

Output:

 

Here we can observe that there are some passengers who are charged extremely high. So, these values can affect our analysis as they are outliers. Let's confirm their presence using a boxplot.

R
boxplot(titanic$Fare,         main="Fare charged from passengers") 

Output:

Certainly, there are some extreme outliers present in this dataset.


Performing Clustering

  • Import required R libraries for data manipulation, clustering, and visualization.
  • Read the Titanic dataset from the specified file path.
  • Keep only the relevant columns for analysis.
  • Transform categorical variables into numeric format using factor() function.
  • Impute missing values for Age with the mean value and ensure there are no remaining missing values. Remove any rows with remaining missing values if necessary.
  • Scale the data to ensure that all features contribute equally to clustering.
  • Verify that the standardized data does not contain NaN or Inf values, which could affect clustering.
  • Use the Elbow Method to find the optimal number of clusters; if this method fails, manually try different values.
  • Run the K-means algorithm with the chosen number of clusters (e.g., k = 3) and a set seed for reproducibility.
  • Ensure that the K-means clustering results have been successfully created.
  • Append the cluster assignments to the original dataset for further analysis.
  • Create a cluster plot to visualize the results of the K-means clustering.
R
# Load necessary libraries library(tidyverse) library(cluster) library(factoextra)  # Load the dataset titanic_data <- read.csv("C:/Users/Tonmoy/Downloads/titanic.csv")  # Data preprocessing # Remove unnecessary columns titanic_data <- titanic_data %>%   select(PassengerId, Survived, Pclass, Sex, Age, SibSp, Parch, Fare)  # Convert categorical variables to numeric titanic_data$Sex <- as.numeric(factor(titanic_data$Sex))  # Handle missing values # Impute missing values for Age titanic_data$Age[is.na(titanic_data$Age)] <- mean(titanic_data$Age, na.rm = TRUE)  # Ensure there are no remaining missing values missing_values <- sum(is.na(titanic_data)) print(paste("Remaining missing values after imputation:", missing_values))  # If missing values still exist, handle them (e.g., impute with mean or remove rows/columns) if (missing_values > 0) {   # Remove rows with remaining missing values (if any)   titanic_data <- na.omit(titanic_data) }  # Standardize the data titanic_scaled <- scale(titanic_data)  # Check for NaNs or Infs in the scaled data if (any(is.nan(titanic_scaled)) || any(is.infinite(titanic_scaled))) {   stop("Scaled data contains NaN or Inf values") }  # Double-check the data for any anomalies print(summary(titanic_scaled))  # Determine the optimal number of clusters # If Elbow method still fails, manually try different k values fviz_nbclust(titanic_scaled, kmeans, method = "wss") + labs(subtitle = "Elbow Method")  # Perform K-means clustering with the optimal number of clusters (e.g., k = 3) set.seed(123) kmeans_result <- kmeans(titanic_scaled, centers = 3, nstart = 25)  # Check if kmeans_result was created successfully if (!exists("kmeans_result")) {   stop("K-means clustering failed to create kmeans_result") }  # Add cluster assignments to the original dataset titanic_data$Cluster <- kmeans_result$cluster  # Visualize the clustering fviz_cluster(kmeans_result, data = titanic_scaled, geom = "point", stand = FALSE) 

Output:

Screenshot-2024-07-21-202033
Visualize the cluster


Predictive Model

  • Load a collection of R packages for data manipulation and visualization. It includes dplyr and ggplot2, among others.
  • The caret package for training and evaluating machine learning models. It provides functions for data splitting (createDataPartition), model training (train), and performance evaluation (confusionMatrix).
  • Loads the dataset from a specified file path into a data frame.
  • Chooses relevant columns from the dataset to use for modeling. Here, it selects columns related to survival status and passenger features.
  • Converts the Sex variable into a factor, which is then converted to numeric values. This is necessary because logistic regression models require numerical input.
  • Computes the mean age (excluding missing values) to impute the missing values in the Age column.
  • Counts remaining missing values.
  • Removes rows with any remaining missing values.
  • Converts the Survived variable to a factor. This is essential for classification tasks in logistic regression.
  • Ensures reproducibility of the data split.
  • Creates an 80-20 split of the data into training and testing sets.
  • Trains a logistic regression model (method = "glm") with a binomial family for binary classification.
  • Generates predictions on the test set using the trained model.
  • Ensures that the factor levels of titanic_test$Survived match those of predictions.
  • Computes and prints the confusion matrix to evaluate model performance.
R
# Load necessary libraries library(tidyverse) library(caret)  # For createDataPartition, train, and confusionMatrix  # Load the dataset titanic_data <- read.csv("C:/Users/Tonmoy/Downloads/titanic.csv")  # Data preprocessing titanic_data <- titanic_data %>%   select(Survived, Pclass, Sex, Age, SibSp, Parch, Fare)  # Convert categorical variables to numeric titanic_data$Sex <- as.numeric(factor(titanic_data$Sex))  # Handle missing values by imputing with mean for Age titanic_data$Age[is.na(titanic_data$Age)] <- mean(titanic_data$Age, na.rm = TRUE)  # Check for remaining missing values missing_values <- sum(is.na(titanic_data)) print(paste("Remaining missing values after imputation:", missing_values))  # Remove rows with remaining missing values (if any) if (missing_values > 0) {   titanic_data <- na.omit(titanic_data) }  # Convert Survived to factor for classification titanic_data$Survived <- as.factor(titanic_data$Survived)  # Split the data into training and testing sets set.seed(123) trainIndex <- createDataPartition(titanic_data$Survived, p = .8, list = FALSE) titanic_train <- titanic_data[trainIndex, ] titanic_test  <- titanic_data[-trainIndex, ]  # Train a logistic regression model model <- train(Survived ~ ., data = titanic_train, method = "glm", family = binomial)   # Make predictions on the test set predictions <- predict(model, titanic_test)  # Ensure both factors have the same levels levels(titanic_test$Survived) <- levels(predictions)  # Evaluate the model conf_matrix <- confusionMatrix(predictions, titanic_test$Survived) print(conf_matrix) 

Output:

Confusion Matrix and Statistics

Reference
Prediction 0 1
0 53 0
1 0 30

Accuracy : 1
95% CI : (0.9565, 1)
No Information Rate : 0.6386
P-Value [Acc > NIR] : < 2.2e-16

Kappa : 1

Mcnemar's Test P-Value : NA

Sensitivity : 1.0000
Specificity : 1.0000
Pos Pred Value : 1.0000
Neg Pred Value : 1.0000
Prevalence : 0.6386
Detection Rate : 0.6386
Detection Prevalence : 0.6386
Balanced Accuracy : 1.0000

'Positive' Class : 0

Explanation of the output -

  • Accuracy: 100% - The model predicts all test cases correctly.
  • Sensitivity: 100% - The model identifies all positive cases correctly.
  • Specificity: 100% - The model identifies all negative cases correctly.
  • Kappa: 1 - A measure of agreement between the predicted and observed classifications.
  • The code trains a logistic regression model to predict survival based on various features of the Titanic dataset.
  • The model shows perfect accuracy, but this might be due to issues in the data or its split. Further validation is recommended.




Next Article
Top 80+ Data Analyst Interview Questions and Answers

S

sreelekhakolla957
Improve
Article Tags :
  • Technical Scripter
  • R Language
  • Data Analysis
  • AI-ML-DS
  • Technical Scripter 2022
  • R Data Analysis
  • AI-ML-DS With R

Similar Reads

    Data Science Tutorial
    Data Science is a field that combines statistics, machine learning and data visualization to extract meaningful insights from vast amounts of raw data and make informed decisions, helping businesses and industries to optimize their operations and predict future trends.This Data Science tutorial offe
    3 min read

    Fundamental of Data Science

    What is Data Science?
    Data science is the study of data that helps us derive useful insight for business decision making. Data Science is all about using tools, techniques, and creativity to uncover insights hidden within data. It combines math, computer science, and domain expertise to tackle real-world challenges in a
    8 min read
    What Are the Roles and Responsibilities of a Data Scientist?
    In the world of data space, the era of Big Data emerged when organizations are dealing with petabytes and exabytes of data. It became very tough for industries for the storage of data until 2010. Now when the popular frameworks like Hadoop and others solved the problem of storage, the focus is on pr
    5 min read
    Top 10 Data Science Job Profiles
    Data Science refers to the study of data to extract the most useful insights for the business or the organization. It is the topmost highly demanding field world of technology. Day by day the increasing demand of data enthusiasts is making data science a popular field. Data science is a type of appr
    8 min read
    Applications of Data Science
    Data Science is the deep study of a large quantity of data, which involves extracting some meaning from the raw, structured, and unstructured data. Extracting meaningful data from large amounts usesalgorithms processing of data and this processing can be done using statistical techniques and algorit
    6 min read
    Data Science vs Data Analytics
    In this article, we will discuss the differences between the two most demanded fields in Artificial intelligence that is data science, and data analytics.What is Data Science Data Science is a field that deals with extracting meaningful information and insights by applying various algorithms preproc
    3 min read
    Data Science Vs Machine Learning : Key Differences
    In the 21st Century, two terms "Data Science" and "Machine Learning" are some of the most searched terms in the technology world. From 1st-year Computer Science students to big Organizations like Netflix, Amazon, etc are running behind these two techniques. Both fields have grown exponentially due t
    5 min read
    Difference Between Data Science and Business Intelligence
    While they have different uses, business intelligence (BI) and data science are both essential for making data-driven decisions. Data science is the study of finding patterns and forecasts through sophisticated analytics, machine learning, and algorithms. In contrast, the main function of business i
    4 min read
    Data Science Fundamentals
    In the world of data space, the era of Big Data emerged when organizations began dealing with petabytes and exabytes of data. It became very tough for industries the store data until 2010. Now, the popular frameworks like Hadoop and others have solved the problem of storage, the focus is on processi
    15+ min read
    Data Science Lifecycle
    Data Science Lifecycle revolves around the use of machine learning and different analytical strategies to produce insights and predictions from information in order to acquire a commercial enterprise objective. The complete method includes a number of steps like data cleaning, preparation, modelling
    6 min read
    Math for Data Science
    Data Science is a large field that requires vast knowledge and being at a beginner's level, that's a fair question to ask "How much maths is required to become a Data Scientist?" or "How much do you need to know in Data Science?". The point is when you'll be working on solving real-life problems, yo
    5 min read

    Programming Language for Data Science

    Python for Data Science - Learn the Uses of Python in Data Science
    In this Python for Data Science guide, we'll explore the exciting world of Python and its wide-ranging applications in data science. We will also explore a variety of data science techniques used in data science using the Python programming language. We all know that data Science is applied to gathe
    6 min read
    R Programming for Data Science
    R is an open-source programming language used statistical software and data analysis tools. It is an important tool for Data Science. It is highly popular and is the first choice of many statisticians and data scientists.R includes powerful tools for creating aesthetic and insightful visualizations.
    13 min read
    SQL for Data Science
    Mastering SQL (Structured Query Language) has become a fundamental skill for anyone pursuing a career in data science. As data plays an increasingly central role in business and technology, SQL has emerged as the most essential tool for managing and analyzing large datasets. Data scientists rely on
    7 min read

    Complete Data Science Program

    Data Science Tutorial
    Data Science is a field that combines statistics, machine learning and data visualization to extract meaningful insights from vast amounts of raw data and make informed decisions, helping businesses and industries to optimize their operations and predict future trends.This Data Science tutorial offe
    3 min read
    Learn Data Science Tutorial With Python
    Data Science has become one of the fastest-growing fields in recent years, helping organizations to make informed decisions, solve problems and understand human behavior. As the volume of data grows so does the demand for skilled data scientists. The most common languages used for data science are P
    3 min read

    Data Analysis tutorial

    Data Analysis (Analytics) Tutorial
    Data Analytics is a process of examining, cleaning, transforming and interpreting data to discover useful information, draw conclusions and support decision-making. It helps businesses and organizations understand their data better, identify patterns, solve problems and improve overall performance.
    4 min read
    Data Analysis with Python
    Data Analysis is the technique of collecting, transforming and organizing data to make future predictions and informed data-driven decisions. It also helps to find possible solutions for a business problem. In this article, we will discuss how to do data analysis with Python i.e. analyzing numerical
    15+ min read
    Data analysis using R
    Data Analysis is a subset of data analytics, it is a process where the objective has to be made clear, collect the relevant data, preprocess the data, perform analysis(understand the data, explore insights), and then visualize it. The last step visualization is important to make people understand wh
    9 min read
    Top 80+ Data Analyst Interview Questions and Answers
    Data is information, often in the form of numbers, text, or multimedia, that is collected and stored for analysis. It can come from various sources, such as business transactions, social media, or scientific experiments. In the context of a data analyst, their role involves extracting meaningful ins
    15+ min read

    Data Vizualazation Tutotrial

    Python - Data visualization tutorial
    Data visualization is a crucial aspect of data analysis, helping to transform analyzed data into meaningful insights through graphical representations. This comprehensive tutorial will guide you through the fundamentals of data visualization using Python. We'll explore various libraries, including M
    7 min read
    Data Visualization with Python
    In today's world, a lot of data is being generated on a daily basis. And sometimes to analyze this data for certain trends, patterns may become difficult if the data is in its raw format. To overcome this data visualization comes into play. Data visualization provides a good, organized pictorial rep
    14 min read
    Data Visualization in R
    Data visualization is the practice of representing data through visual elements like graphs, charts, and maps. It helps in understanding large datasets more easily, making it possible to identify patterns and trends that support better decision-making. R is a language designed for statistical analys
    5 min read

    Machine Learning Tutorial

    Machine Learning Tutorial
    Machine learning is a branch of Artificial Intelligence that focuses on developing models and algorithms that let computers learn from data without being explicitly programmed for every task. In simple words, ML teaches the systems to think and understand like humans by learning from the data.Machin
    5 min read
    Maths for Machine Learning
    Mathematics is the foundation of machine learning. Math concepts plays a crucial role in understanding how models learn from data and optimizing their performance. Before diving into machine learning algorithms, it's important to familiarize yourself with foundational topics, like Statistics, Probab
    5 min read
    100+ Machine Learning Projects with Source Code [2025]
    This article provides over 100 Machine Learning projects and ideas to provide hands-on experience for both beginners and professionals. Whether you're a student enhancing your resume or a professional advancing your career these projects offer practical insights into the world of Machine Learning an
    5 min read
    Top 50+ Machine Learning Interview Questions and Answers
    Machine Learning involves the development of algorithms and statistical models that enable computers to improve their performance in tasks through experience. Machine Learning is one of the booming careers in the present-day scenario.If you are preparing for machine learning interview, this intervie
    15+ min read
    Machine Learning with R
    Machine Learning is a growing field that enables computers to learn from data and make decisions without being explicitly programmed. It mimics the way humans learn from experiences, allowing systems to improve performance over time through data-driven insights. This Machine Learning with R Programm
    3 min read

    Deep Learning & NLP Tutorial

    Deep Learning Tutorial
    Deep Learning tutorial covers the basics and more advanced topics, making it perfect for beginners and those with experience. Whether you're just starting or looking to expand your knowledge, this guide makes it easy to learn about the different technologies of Deep Learning.Deep Learning is a branc
    5 min read
    5 Deep Learning Project Ideas for Beginners
    Well, irrespective of our age or domain or background knowledge some things succeed in fascinating us in a way such that we're so motivated to do something related to it. Artificial Intelligence is one such thing that needs nothing more than just a definition to attract anyone and everyone. To be pr
    6 min read
    Deep Learning Interview Questions
    Deep learning is a part of machine learning that is based on the artificial neural network with multiple layers to learn from and make predictions on data. An artificial neural network is based on the structure and working of the Biological neuron which is found in the brain. Deep Learning Interview
    15+ min read
    Natural Language Processing (NLP) Tutorial
    Natural Language Processing (NLP) is a branch of Artificial Intelligence (AI) that helps machines to understand and process human languages either in text or audio form. It is used across a variety of applications from speech recognition to language translation and text summarization.Natural Languag
    5 min read
    Top 50 NLP Interview Questions and Answers 2024 Updated
    Natural Language Processing (NLP) is a key area in artificial intelligence that enables computers to understand, interpret, and respond to human language. It powers technologies like chatbots, voice assistants, translation services, and sentiment analysis, transforming how we interact with machines.
    15+ min read

    Computer Vision Tutorial

    Computer Vision Tutorial
    Computer Vision is a branch of Artificial Intelligence (AI) that enables computers to interpret and extract information from images and videos, similar to human perception. It involves developing algorithms to process visual data and derive meaningful insights.Why Learn Computer Vision?High Demand i
    8 min read
    40+ Top Computer Vision Projects [2025 Updated]
    Computer Vision is a branch of Artificial Intelligence (AI) that helps computers understand and interpret context of images and videos. It is used in domains like security cameras, photo editing, self-driving cars and robots to recognize objects and navigate real world using machine learning.This ar
    4 min read
    Why Data Science Jobs Are in High Demand
    Jobs are something that can help you enable your disabled dreams. This is why many aspirants, who fail to achieve milestones in their businesses in one go, prefer to apply for that job they can pursue. With the same context, you need to know that Data Science jobs are trending in this pandemic era t
    6 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences