Instalamos los paquetes necesarios.

#install.packages("data.table")
#install.packages("tidyverse")
#install.packages("leaflet")
#install.packages("sp")
#install.packages("broom")
#install.packages("janitor")
#install.packages("rgbif")
#install.packages("sf")
#install.packages("chilemapas")
#install.packages("RColorBrewer")
#install.packages("ggplot2")

1. Limpiamos el environment.

rm(list=ls())

2. Cargamos la base de datos restaurantes.

Hamburguesas <-fread("restaurantes.csv",encoding='Latin-1')

3. A continuación, se realizará un gráfico que mostrará el rating de restaurantes en promedio de las comunas de Con Con, Quilpué, Vaparaíso y Viña del Mar. 

rating<-Hamburguesas[,c('rating', 'COMUNA')]
rating_prom<-Hamburguesas[,mean(rating,na.rm=T),by=.(COMUNA)]

 ggplot(data = rating_prom, aes(x=COMUNA, y=V1, color=COMUNA ))+ geom_point() + labs(x='Comuna',y='Rating',title='Rating de  restaurantes', subtitle='Por Comuna', caption= 'Fuente: Webcursos')

### A partir del gráfico y sus resultados, podemos concluir que en promedio, la comuna de Concón es la que tiene mejor rating y la comuna de Quilpué es la que tiene peor rating.

4. A partir del gráfico visto anteriormente, vemos que nos muestra como resultado que la comuna con peor raiting es Quilpué, por lo tanto, vamos a buscar cuál es el restaurante con peor raiting dentro de esta comuna. (Quilpué)

QUILPUE<- Hamburguesas[Hamburguesas$COMUNA=="QUILPUE",]


 ggplot(data = QUILPUE, aes(x=nombre, y=rating, color=nombre ))+ geom_point() + labs(x='NOMBRE RESTAURANT',y='RATING',title='Rating de los restaurantes', subtitle='de Quilpué', caption= 'Fuente: Webcursos')  

### Podemos concluir de este nuevo gráfico, que el restaurante con peor rating dentro de la comuna de Quilpué es “Sangucheria Donde Cuto”.

5. Ahora, haremos un mapa que muestre con puntos dónde se ubican los restaurantes con peor raiting en la quinta región. Para efectos de cálculo y análisis, se considerarán como restaurantes con MAL rating aquellos que estén bajo la mediana.

Calculamos la mediana

median(Hamburguesas$rating, na.rm = TRUE)
## [1] 4.5

Que nos dice que la mediana es 4.5

Creamos un objeto que contenga los restaurantes que estan con un rating bajo la mediana.

mal_rating<-Hamburguesas[rating<4.5]

mal_rating<- mal_rating [,.(nombre,rating,lat,lng)]

mal_rating<-data.table(mal_rating)

mal_rating$lat<-as.numeric(mal_rating$lat)
mal_rating$lng<-as.numeric(mal_rating$lng)

A continuación hacemos el mapa.

pal <- colorNumeric (
  palette = "YlOrBr",
  domain = mal_rating$rating)

mytext<-paste("restaurantes:",mal_rating$nombre,"<br/>","rating: ", mal_rating$rating)

leaflet(mal_rating)%>%
  addProviderTiles(providers$OpenStreetMap.HOT)%>% 
  setView(lng = -71.5, lat = -33, zoom = 11)%>%
  addAwesomeMarkers(popup=mytext)
## Assuming "lng" and "lat" are longitude and latitude, respectively

Con el mapa anterior, es posible visualizar los restaurantes con mal raiting (según la mediana) de las comunas en estudio.