This is my first attempt at making a project on analysis data. I tried to make a beginner data visualizations with short analysis.
Objective of this study is to analyse the different restaurants registered in ZOmato app/Website, according to their type of cuisunes, location and facility.
This data set presents a Restaurant survey from Zomato. The data set contains 9551 observations of 21 variables. It also conatins a dataset of Countries mapped to the Country code prescribed in the survey table.
library(dplyr)
## Warning: package 'dplyr' was built under R version 3.5.2
library(ggthemes)
## Warning: package 'ggthemes' was built under R version 3.5.2
library(readxl)
## Warning: package 'readxl' was built under R version 3.5.2
library(plotly)
## Warning: package 'plotly' was built under R version 3.5.2
## Warning: package 'ggplot2' was built under R version 3.5.2
library(ggmap)
## Warning: package 'ggmap' was built under R version 3.5.2
library(ggplot2)
library(gapminder)
## Warning: package 'gapminder' was built under R version 3.5.2
library(tidytext)
## Warning: package 'tidytext' was built under R version 3.5.2
library(sqldf)
## Warning: package 'sqldf' was built under R version 3.5.2
## Warning: package 'gsubfn' was built under R version 3.5.2
## Warning: package 'proto' was built under R version 3.5.2
## Warning: package 'RSQLite' was built under R version 3.5.2
library(tidyr)
## Warning: package 'tidyr' was built under R version 3.5.2
library(highcharter)
## Warning: package 'highcharter' was built under R version 3.5.2
zomato <- read.csv("C:/Users/navin/Desktop/R/Datasets/CIA/zomato.csv",header=TRUE)
head(zomato, 5)
## Restaurant.ID Restaurant.Name Country.Code City
## 1 6317637 Le Petit Souffle 162 Makati City
## 2 6304287 Izakaya Kikufuji 162 Makati City
## 3 6300002 Heat - Edsa Shangri-La 162 Mandaluyong City
## 4 6318506 Ooma 162 Mandaluyong City
## 5 6314302 Sambo Kojin 162 Mandaluyong City
## Address
## 1 Third Floor, Century City Mall, Kalayaan Avenue, Poblacion, Makati City
## 2 Little Tokyo, 2277 Chino Roces Avenue, Legaspi Village, Makati City
## 3 Edsa Shangri-La, 1 Garden Way, Ortigas, Mandaluyong City
## 4 Third Floor, Mega Fashion Hall, SM Megamall, Ortigas, Mandaluyong City
## 5 Third Floor, Mega Atrium, SM Megamall, Ortigas, Mandaluyong City
## Locality
## 1 Century City Mall, Poblacion, Makati City
## 2 Little Tokyo, Legaspi Village, Makati City
## 3 Edsa Shangri-La, Ortigas, Mandaluyong City
## 4 SM Megamall, Ortigas, Mandaluyong City
## 5 SM Megamall, Ortigas, Mandaluyong City
## Locality.Verbose Longitude
## 1 Century City Mall, Poblacion, Makati City, Makati City 121.0275
## 2 Little Tokyo, Legaspi Village, Makati City, Makati City 121.0141
## 3 Edsa Shangri-La, Ortigas, Mandaluyong City, Mandaluyong City 121.0568
## 4 SM Megamall, Ortigas, Mandaluyong City, Mandaluyong City 121.0565
## 5 SM Megamall, Ortigas, Mandaluyong City, Mandaluyong City 121.0575
## Latitude Cuisines Average.Cost.for.two
## 1 14.56544 French, Japanese, Desserts 1100
## 2 14.55371 Japanese 1200
## 3 14.58140 Seafood, Asian, Filipino, Indian 4000
## 4 14.58532 Japanese, Sushi 1500
## 5 14.58445 Japanese, Korean 1500
## Currency Has.Table.booking Has.Online.delivery Is.delivering.now
## 1 Botswana Pula(P) Yes No No
## 2 Botswana Pula(P) Yes No No
## 3 Botswana Pula(P) Yes No No
## 4 Botswana Pula(P) No No No
## 5 Botswana Pula(P) Yes No No
## Switch.to.order.menu Price.range Aggregate.rating Rating.color
## 1 No 3 4.8 Dark Green
## 2 No 3 4.5 Dark Green
## 3 No 4 4.4 Green
## 4 No 4 4.9 Dark Green
## 5 No 4 4.8 Dark Green
## Rating.text Votes
## 1 Excellent 314
## 2 Excellent 591
## 3 Very Good 270
## 4 Excellent 365
## 5 Excellent 229
This is the position of all restaurants around the world registered at Zomato apps. Plotting of the restaurants are grouping by price range index (1 - 4).
## ï..Country.Code Country
## 1 1 India
## 2 14 Australia
## 3 30 Brazil
## 4 37 Canada
## 5 94 Indonesia
## 6 148 New Zealand
## 7 162 Phillipines
## 8 166 Qatar
## 9 184 Singapore
## 10 189 South Africa
## 11 191 Sri Lanka
## 12 208 Turkey
## 13 214 UAE
## 14 215 United Kingdom
## 15 216 United States
## Warning: package 'bindrcpp' was built under R version 3.5.2
## Warning: package 'maps' was built under R version 3.5.2
## Warning: Ignoring unknown aesthetics: x, y
As the price range increases, the proportion of unrated restaurants decreases. This is true of poorly rated restaurants as well.
## # A tibble: 15 x 2
## # Groups: Country [15]
## Country `Number of Restaurants`
## <fct> <int>
## 1 India 8652
## 2 United States 434
## 3 United Kingdom 80
## 4 Brazil 60
## 5 South Africa 60
## 6 UAE 60
## 7 New Zealand 40
## 8 Turkey 34
## 9 Australia 24
## 10 Phillipines 22
## 11 Indonesia 21
## 12 Qatar 20
## 13 Singapore 20
## 14 Sri Lanka 20
## 15 Canada 4
If we look at top table. There are 15 countries that have restaurants registered by Zomato apps. From the table, India and United States have a largest number of restaurants. So we will analyze the behavior of restaurants in India and United States.
## Warning: Ignoring unknown aesthetics: x, y
## Warning: Ignoring unknown aesthetics: x, y
## Selecting by Number_of_Restaurants
## # A tibble: 4 x 2
## City Number_of_Restaurants
## <fct> <int>
## 1 New Delhi 4295
## 2 Gurgaon 943
## 3 Noida 902
## 4 Faridabad 235
From table and visualization, we know 4 Cities that have largest number of restaurants in India are: New Delhi (4295 restaurants), Gurgaon (943 restaurants), Noida (902 restaurants), and Faridabad (235 restaurants). Moreover, Panchkula and Mohali only have 1 restaurant in that city, smallest number of restaurant in India.
## # A tibble: 35 x 2
## City Number_of_Restaurants
## <fct> <int>
## 1 Albany 20
## 2 Athens 20
## 3 Boise 20
## 4 Cedar Rapids/Iowa City 20
## 5 Columbus 20
## 6 Dalton 20
## 7 Des Moines 20
## 8 Dubuque 20
## 9 Gainesville 20
## 10 Macon 20
## # ... with 25 more rows
From visualizing restaurants data in United States, proves that distribution of restaurants in each city is the same. There are 21 cities in United States that have 20 restaurants in its city, and 14 cities only have 1 restaurants registered at Zomato apps.
From barchart above, it shows that majority restaurants in Faridabad, Gurgaon, New Delhi, and Noida are mostly cheap. They are mostly in price range 1 and 2 (Very Cheap and Cheap). So, if we randomly enter to the restaurant in any of those cities, we will spend a lot of money.
## # A tibble: 4 x 3
## City Number_of_All_Restaurant Average_Cost_For_Two_USD
## <fct> <int> <dbl>
## 1 Faridabad 251 6.71
## 2 Gurgaon 1118 10.7
## 3 New Delhi 5473 8.94
## 4 Noida 1080 8.09
If we need to have a dinner with the special one, this is the average cost for two people in India restaurants. The cheapest average cost for two people is restaurant in Faridabad, you only need to spend about 6.7 USD. And for the highest one is restaurant in Gurgaon, its about 10.7 USD.
The price of New Delhi and Noida restaurant is between Faridabad and Gurgaon prices.
Restaurants in United States is majority variated from Very cheap (Price range 1) to Expensive (Price range 3). Only 23 spots (from 434 spots) are categorized as a very expensive restaurants, its only 5% of total restaurants in United States.
## Number_of_All_Restaurant Average_Cost_For_Two_USD
## 1 425 26.70588
If you hang out with a special one in United States, the average cost for two people in United States restaurants is about 26.7 USD .
Over 2,000 restaurants in India is unrated by customer.
From above data visualization, we know that average aggregate rating of India Restaurants is nearly 3 point which is AVERAGE
## Warning: Removed 8 rows containing missing values (geom_bar).
## # A tibble: 4 x 4
## City Number_of_All_Restaur~ Number_of_Zero_Rating_Res~ Average_Rating
## <fct> <int> <int> <dbl>
## 1 Faridab~ 251 100 3.10
## 2 Gurgaon 1118 228 3.33
## 3 New Del~ 5473 1425 3.30
## 4 Noida 1080 384 3.16
The aggregate rating of Faridabad, Gurgaon, New Delhi, and Noida restaurant is same with overall rating of India restaurant (you can see at table above which mention average rating of each city). It means that every restaurant in India has a Average service.
## Restaurant.ID Restaurant.Name City Price.range Average.Cost.for.two
## 1 18453427 Frick's Tap Davenport 2 25
## 2 17793744 Los Agaves Davenport 2 25
## 3 18491935 Nosh Mahal Pocatello 2 25
## Aggregate.rating Votes
## 1 0 2
## 2 0 3
## 3 0 1
There are 3 restaurants that have zero aggregate rating.
## Number_of_All_Restaurant Average_Rating_of_All_Restaurant
## 1 425 4.012471
The value of average restaurant rating in United States is 4.1 which categorized as VERY GOOD SERVICE.
Each restaurant has a different type of cuisine. From the distribution pattern of these cuisines, we can know the variation of favorite cuisine in each country or city.
## Selecting by Number_of_Restaurant
## # A tibble: 10 x 2
## Cuisine Number_of_Restaurant
## <chr> <int>
## 1 north indian 2990
## 2 " chinese" 1859
## 3 " fast food" 1305
## 4 " north indian" 956
## 5 chinese 829
## 6 " mughlai" 776
## 7 fast food 658
## 8 bakery 616
## 9 cafe 561
## 10 " italian" 505
This is a list of the favorite types of cuisine in India: 1. North Indian food 2. Chinese food 3. Fast food
## Selecting by Number_of_Restaurant
## # A tibble: 10 x 2
## Cuisine Number_of_Restaurant
## <chr> <int>
## 1 american 112
## 2 " seafood" 45
## 3 " sandwich" 44
## 4 " steak" 38
## 5 " pizza" 33
## 6 " sushi" 32
## 7 mexican 30
## 8 italian 27
## 9 " burger" 26
## 10 japanese 24
In United States, you will often find a restaurant with American menu. The rest of cuisines type like seafood, sandwich, steak, pizza, sushi, etc have almost the same distribution in United States restaurants.
Faridabad
We should go to Cafe Parmesan in Faridabad, they have great service and votes by around 800.
Gurgaon
Caterspoint and Prankster are the best choice if we go to Gurgaon
New Delhi
Naturals Ice Cream is the perfect choice. But we can visit another restaurant like Masala Library and Indian Accent - The Manor. We can visit Indian Accent - The Manor first, since they have more voters.
Noida
Noida’s best choices are The Big Chill Cakery and Oh So Stoned!.
## Restaurant.ID Restaurant.Name City
## 1 17061296 Pom Pom's Teahouse and Sandwicheria Orlando
## 2 17580142 McGuire's Irish Pub & Brewery Pensacola
## Address Price.range Aggregate.rating
## 1 67 North Bumby Avenue, Orlando, FL 32803 2 4.9
## 2 600 E Gregory Street, Pensacola, FL 32502 3 4.9
## Votes Average.Cost.for.two
## 1 1457 25
## 2 2238 40
The top ten restaurants in United States have a same aggregate rating, We can Pom Pom’s Teahouse and Sandwicheria and McGuire’s Irish Pub & Brewery in Orlando and Pensacola, United States. Because they are voted by more than 1500 voters. However, if you want go to the cheapest one, Pom Pom’s Teahouse and Sandwicheria is the answer.
## # A tibble: 8 x 4
## # Groups: City [4]
## City Has.Table.booking Number_of_restaurants Percentage
## <fct> <fct> <int> <dbl>
## 1 Faridabad No 236 94.0
## 2 Faridabad Yes 15 5.98
## 3 Gurgaon No 914 81.8
## 4 Gurgaon Yes 204 18.2
## 5 New Delhi No 4758 86.9
## 6 New Delhi Yes 715 13.1
## 7 Noida No 968 89.6
## 8 Noida Yes 112 10.4
Lot of India’s restaurant that didn’t have booking table facility.The greatest percentage of Restaurant that can make a booking table is in the Gurgaon city. It means, majority restaurants in India is based on first come first serve method.
## # A tibble: 35 x 4
## # Groups: City [35]
## City Has.Table.booking Number_of_restauran~ Percentage
## <fct> <fct> <int> <dbl>
## 1 Albany No 20 100
## 2 Athens No 20 100
## 3 Augusta No 20 100
## 4 Boise No 20 100
## 5 Cedar Rapids/Iowa City No 20 100
## 6 Clatskanie No 1 100
## 7 Cochrane No 1 100
## 8 Columbus No 20 100
## 9 Dalton No 20 100
## 10 Davenport No 20 100
## # ... with 25 more rows
We can’t reserve a table in United States Restaurants – that is registered in Zomato apps
## # A tibble: 8 x 4
## # Groups: City [4]
## City Has.Online.delivery Number_of_restaurants Percentage
## <fct> <fct> <int> <dbl>
## 1 Faridabad No 216 86.1
## 2 Faridabad Yes 35 13.9
## 3 Gurgaon No 693 62.0
## 4 Gurgaon Yes 425 38.0
## 5 New Delhi No 3984 72.8
## 6 New Delhi Yes 1489 27.2
## 7 Noida No 716 66.3
## 8 Noida Yes 364 33.7
The percentage of restaurant that have online delivery is more bigger rather than restaurant that have booking table facility. However, in Faridabad its only 35 restaurants (or 14%) that have online delivery.
## # A tibble: 35 x 4
## # Groups: City [35]
## City Has.Online.delivery Number_of_restauran~ Percentage
## <fct> <fct> <int> <dbl>
## 1 Albany No 20 100
## 2 Athens No 20 100
## 3 Augusta No 20 100
## 4 Boise No 20 100
## 5 Cedar Rapids/Iowa C~ No 20 100
## 6 Clatskanie No 1 100
## 7 Cochrane No 1 100
## 8 Columbus No 20 100
## 9 Dalton No 20 100
## 10 Davenport No 20 100
## # ... with 25 more rows
We can’t deliver any food from United States Restaurants – that is registered in Zomato apps.
## # A tibble: 7 x 4
## # Groups: City [4]
## City Is.delivering.now Number_of_restaurant Percentage
## <fct> <fct> <int> <dbl>
## 1 Faridabad No 251 100
## 2 Gurgaon No 1106 98.9
## 3 Gurgaon Yes 12 1.07
## 4 New Delhi No 5457 99.7
## 5 New Delhi Yes 16 0.292
## 6 Noida No 1075 99.5
## 7 Noida Yes 5 0.463
There are a small pieces of restaurants in Gurgaon (12 restaurants), New Delhi (16 restaurants), and Noida (5 restaurants) that can deliver our food as soon as possible. We’re better sit down waiting for our food. Furthermore, there are no restaurant in Faridabad can deliver our food at the time after we order.
## # A tibble: 35 x 4
## # Groups: City [35]
## City Is.delivering.now Number_of_restaurant Percentage
## <fct> <fct> <int> <dbl>
## 1 Albany No 20 100
## 2 Athens No 20 100
## 3 Augusta No 20 100
## 4 Boise No 20 100
## 5 Cedar Rapids/Iowa City No 20 100
## 6 Clatskanie No 1 100
## 7 Cochrane No 1 100
## 8 Columbus No 20 100
## 9 Dalton No 20 100
## 10 Davenport No 20 100
## # ... with 25 more rows
## [1] "Corelation number is 0.281764952932476 there are weak relationship between two parameters"
Average Cost and Amount of Votes have a weak relationship. It can be inferred that the more cheaper the price more the Rating, since most of the Highly rated restaurants(4 and above), is located under 25 USD.
## [1] "Corelation number is 0.343833919094495 there are moderate relationship between two parameters"
There is a Moderate relationship between average cost and amount of votes. There is no reationship between rating and average cost since we can see that high ratings are found in every cost range areas.
From this data processing, we can get this following conclusion: There are 8652 restaurants registered on Zomato Apps based in India and 434 in United States. Almost 50% of registered restaurants in India are located at New Delhi (4295 restaurants), 10% in Gurgaon (943 restaurants), 10% in Noida (902 restaurants), 2% in Faridabad (235 restaurants). More than 95% Registered restaurants in United States by Zomato is mostly at 21 Cities. Price range in India Restaurants is very cheap to average, however in United States the price range is very cheap to expensive. Average cost for two people eat in United States restaurants (26.7 USD) is more expensive than spend a money in India Restaurant (6.7 USD in Faridabad and 10.7 USD in Gurgaon). America price is more than twice than India price ! Over than 2,000 restaurants in India is not voted yet by Zomato users. India restaurants has an average-service rated by users, while America restaurants has a very good service. North Indian food, Chinese food, and Fast food is the most favorite cuisine in India. American menu is easy to find in United States. Cafe Parmesan in Faridabad, Caterspoint and Prankster in Gurgaon, Naturals Ice Cream in New Delhi, The Big Chill Cakery and Oh So Stoned! in Noida are the most favorite restaurant ranked by its rating. Pom Pom’s Teahouse and Sandwicheria and McGuire’s Irish Pub & Brewery in Orlando and Pensacola, United States are the t restaurants in United States. The most sophisticated India restaurant is Horn Please, located in New Delhi. They have table booking, delivery, and quick delivery service. All of United States restaurants didn’t have table booking, delivery, and quick delivery service. There are no relationship between average cost for two people and amount of votes.