Loading the data

reviews <- read.csv("Hotel_Reviews.csv", stringsAsFactors = FALSE)

Viewing the top 20 European luxury hotels

library(dplyr); library(ggplot2)
reviews %>%
select(Hotel_Name, Average_Score) %>%
group_by(Hotel_Name) %>% summarise(Avg=mean(Average_Score)) %>%
arrange(-Avg) %>% slice(1:20) %>%
ggplot(aes(x=Avg, y=reorder(Hotel_Name, Avg))) +
geom_point(size=3) +
xlab('Average Score') + ylab('Hotel Name') +
theme(text = element_text(size=15),
      panel.grid.major.x = element_blank(),
      panel.grid.minor.x = element_blank())

Viewing the top 20 European luxury hotels which received at least 1161 (1st quartile) reviews

reviews %>% filter(Total_Number_of_Reviews>=1161) %>%
select(Hotel_Name, Average_Score) %>%
group_by(Hotel_Name) %>% summarise(Avg=mean(Average_Score)) %>%
arrange(-Avg) %>% slice(1:20) %>%
ggplot(aes(x=Avg, y=reorder(Hotel_Name, Avg))) +
geom_point(size=3) +
xlab('Average Score') + ylab('Hotel Name') +
theme(text = element_text(size=15),
      panel.grid.major.x = element_blank(),
      panel.grid.minor.x = element_blank())