Inroducción "Objetivos: - Conocer los atractivos de la Ciudad identificados por los usuarios (foco en la demanda) - Identificar elementos destacados. - Observar su distribución espacial - Determinar el posicionamiento de los atractivos

Fuente: TripAdvisor fue la web elegida por número de lugares, comentarios actualizados, información disponible.

Proceso Primera Etapa: -Seleccionamos los datos relevantes de 2800 puntos a través de un proceso de webscraping. Se obtuvo la información que desarrollaré a continuación. -Análisis de los atractivos según categoría, definida por la naturaleza del atractivo y el interés del Ente de Turismo. -Presentación de los datos por categoría, distribución en la Ciudad. Ranking de atractivos por cantidad de comentarios y mejor valorados. Posicionamiento de los atractivos en relación a su calificación.

Segunda Etapa -Análisis Sentimental: con los comentarios entre 2012 y 2019. -Análisis de patrones de comportamiento de los usuarios: Según residencia (residentes, nacionales y extranjeros), tipo de viajero, género y rango etario."

library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.2.1 --
## v ggplot2 3.1.1       v purrr   0.3.2  
## v tibble  2.1.1       v dplyr   0.8.0.1
## v tidyr   0.8.3       v stringr 1.4.0  
## v readr   1.3.1       v forcats 0.4.0
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(sf)
## Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3

Cargo la primer base.

atractivos <- read.csv2 ("C://Users/Flo/Desktop/Curso Ciencia DAtos/dim_atractivos_final.csv",stringsAsFactors = FALSE)

Convierto barrios a factor.

atractivos$barrio <- as.factor(atractivos$barrio)

Arreglos de latitud y longitud (las latitudes y longitudes las toma incorrectas).

atractivos <- atractivos %>% 
  mutate(latitud = str_remove_all(latitud, "\\."),
         latitud = paste0(substr(latitud, 1, 3), ".", substr(latitud, 4, nchar(latitud))),
         latitud = as.numeric(latitud),
         longitud = str_remove_all(longitud, "\\."),
         longitud = paste0(substr(longitud, 1, 3), ".", substr(longitud, 4, nchar(longitud))),
         longitud = as.numeric(longitud)) %>% 
  filter(between(longitud, -59, -58),
         between(latitud, -35, -34))
## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

Chequeo el arreglo de latitud y longitud

ggplot() + 
  geom_point(data = atractivos, 
             aes(x = longitud, y = latitud, color = barrio, size = comentarios_calificacion),
             alpha = .3) +
  coord_cartesian()
## Warning: Using size for a discrete variable is not advised.

Arreglo las calificaciones (observo que las calificaciones también están incorrectas. La puntuación de los usuarios debe ir entre 0 - 5 puntos).

atractivos <- atractivos %>% 
 mutate(comentarios_calificacion = str_remove_all(comentarios_calificacion, "\\."),
        comentarios_calificacion = as.numeric(comentarios_calificacion),
        comentarios_calificacion = ifelse(comentarios_calificacion > 5,
                                           comentarios_calificacion/10,
                                           comentarios_calificacion))

Veo que estructura tiene el dataframe

str(atractivos)
## 'data.frame':    1380 obs. of  32 variables:
##  $ id_atractivo            : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ nombre                  : chr  "Teatro Colón" "Recoleta" "Puerto Madero" "San Telmo" ...
##  $ direccion_completa      : chr  "Calle Cerrito 628, Buenos Aires C1010AAN, Argentina" "Junin y Guido, Buenos Aires, Argentina" "Rosario Vera Penaloza, Buenos Aires, Argentina" "Buenos Aires, Argentina" ...
##  $ calle                   : chr  "Calle Cerrito " "Junin y Guido" "Rosario Vera Penaloza" "Buenos Aires" ...
##  $ altura                  : int  628 0 0 0 2966 1790 0 1050 1473 0 ...
##  $ barrio                  : Factor w/ 58 levels "","Agronomía",..: 40 35 33 41 26 35 26 36 35 26 ...
##  $ ciudad                  : chr  "Buenos Aires" "Buenos Aires" "Buenos Aires" "Buenos Aires" ...
##  $ localidad               : chr  "CABA" "CABA" "CABA" "CABA" ...
##  $ provincia               : chr  "Buenos Aires" "Buenos Aires" "Buenos Aires" "Buenos Aires" ...
##  $ pais                    : chr  "Argentina" "Argentina" "Argentina" "Argentina" ...
##  $ latitud                 : num  -34.6 -34.6 -34.6 -34.6 -34.6 ...
##  $ longitud                : num  -58.4 -58.4 -58.4 -58.4 -58.4 ...
##  $ telefono                : chr  "+54 11 4378-7100" "+91 88002 37808" "+91 88002 37808" "" ...
##  $ duracion                : chr  "< 1 hora" "" "1-2 horas" "" ...
##  $ ranking                 : int  1 2 3 4 5 6 14 15 16 17 ...
##  $ horario_lunes           : chr  "10:00 - 14:00" "" "" "" ...
##  $ horario_martes          : chr  "10:00 - 14:00" "" "" "" ...
##  $ horario_miercoles       : chr  "10:00 - 14:00" "" "" "" ...
##  $ horario_jueves          : chr  "10:00 - 14:00" "" "" "" ...
##  $ horario_viernes         : chr  "10:00 - 14:00" "" "" "" ...
##  $ horario_sabado          : chr  "" "" "" "" ...
##  $ horario_domingo         : chr  "" "" "" "" ...
##  $ comentarios_cantidad    : int  20459 19300 36968 12556 10723 22594 784 2443 6242 7600 ...
##  $ comentarios_calificacion: num  5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 ...
##  $ cantidad_excelente      : int  80 59 57 50 54 49 72 67 63 62 ...
##  $ cantidad_muybueno       : int  16 35 35 38 33 36 23 28 30 32 ...
##  $ cantidad_normal         : int  2 4 6 10 11 13 3 3 5 4 ...
##  $ cantidad_malo           : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ cantidad_horrible       : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ link_tripadvisor        : chr  "https://www.tripadvisor.com.ar/Attraction_Review-g312741-d311763-Reviews-Teatro_Colon-Buenos_Aires_Capital_Fede"| __truncated__ "https://www.tripadvisor.com.ar/Attraction_Review-g312741-d311775-Reviews-Recoleta-Buenos_Aires_Capital_Federal_District.html" "https://www.tripadvisor.com.ar/Attraction_Review-g312741-d311777-Reviews-Puerto_Madero-Buenos_Aires_Capital_Fed"| __truncated__ "https://www.tripadvisor.com.ar/Attraction_Review-g312741-d311774-Reviews-San_Telmo-Buenos_Aires_Capital_Federal_District.html" ...
##  $ visible                 : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ direccion_google        : chr  "Cerrito 628, C1010 CABA, Argentina" "NULL" "NULL" "NULL" ...

Que contiene?

summary(atractivos)
##   id_atractivo       nombre          direccion_completa    calle          
##  Min.   :   1.0   Length:1380        Length:1380        Length:1380       
##  1st Qu.: 345.8   Class :character   Class :character   Class :character  
##  Median : 692.5   Mode  :character   Mode  :character   Mode  :character  
##  Mean   : 743.9                                                           
##  3rd Qu.:1124.2                                                           
##  Max.   :1734.0                                                           
##                                                                           
##      altura                 barrio       ciudad         
##  Min.   :       0   Palermo    :288   Length:1380       
##  1st Qu.:     256   San Nicolás:177   Class :character  
##  Median :    1062   Recoleta   :131   Mode  :character  
##  Mean   :   85999   Montserrat :124                     
##  3rd Qu.:    2251   Retiro     :107                     
##  Max.   :28012967   San Telmo  : 76                     
##                     (Other)    :477                     
##   localidad          provincia             pais              latitud      
##  Length:1380        Length:1380        Length:1380        Min.   :-34.97  
##  Class :character   Class :character   Class :character   1st Qu.:-34.61  
##  Mode  :character   Mode  :character   Mode  :character   Median :-34.60  
##                                                           Mean   :-34.60  
##                                                           3rd Qu.:-34.59  
##                                                           Max.   :-34.18  
##                                                                           
##     longitud        telefono           duracion            ranking        
##  Min.   :-58.79   Length:1380        Length:1380        Min.   :     1.0  
##  1st Qu.:-58.43   Class :character   Class :character   1st Qu.:    73.0  
##  Median :-58.40   Mode  :character   Mode  :character   Median :   245.5  
##  Mean   :-58.41                                         Mean   : 38014.8  
##  3rd Qu.:-58.38                                         3rd Qu.:   602.2  
##  Max.   :-58.05                                         Max.   :851851.0  
##                                                                           
##  horario_lunes      horario_martes     horario_miercoles 
##  Length:1380        Length:1380        Length:1380       
##  Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character  
##                                                          
##                                                          
##                                                          
##                                                          
##  horario_jueves     horario_viernes    horario_sabado    
##  Length:1380        Length:1380        Length:1380       
##  Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character  
##                                                          
##                                                          
##                                                          
##                                                          
##  horario_domingo    comentarios_cantidad comentarios_calificacion
##  Length:1380        Min.   :    0.0      Min.   :0.000           
##  Class :character   1st Qu.:    2.0      1st Qu.:3.500           
##  Mode  :character   Median :    9.0      Median :4.000           
##                     Mean   :  277.2      Mean   :3.692           
##                     3rd Qu.:   42.0      3rd Qu.:4.500           
##                     Max.   :36968.0      Max.   :5.000           
##                                                                  
##  cantidad_excelente cantidad_muybueno cantidad_normal  cantidad_malo    
##  Min.   :  0.00     Min.   :  0.00    Min.   :  0.00   Min.   :  0.000  
##  1st Qu.:  0.00     1st Qu.:  0.00    1st Qu.:  0.00   1st Qu.:  0.000  
##  Median : 33.00     Median : 33.00    Median :  4.00   Median :  0.000  
##  Mean   : 37.98     Mean   : 33.91    Mean   : 12.18   Mean   :  2.276  
##  3rd Qu.: 60.00     3rd Qu.: 50.00    3rd Qu.: 17.25   3rd Qu.:  1.000  
##  Max.   :100.00     Max.   :100.00    Max.   :100.00   Max.   :100.000  
##                                                                         
##  cantidad_horrible link_tripadvisor      visible        
##  Min.   :  0.000   Length:1380        Min.   :0.000000  
##  1st Qu.:  0.000   Class :character   1st Qu.:0.000000  
##  Median :  0.000   Mode  :character   Median :0.000000  
##  Mean   :  1.989                      Mean   :0.007971  
##  3rd Qu.:  1.000                      3rd Qu.:0.000000  
##  Max.   :100.000                      Max.   :1.000000  
##                                                         
##  direccion_google  
##  Length:1380       
##  Class :character  
##  Mode  :character  
##                    
##                    
##                    
## 

Qué niveles tiene?

levels(atractivos$barrio)
##  [1] ""                    "Agronomía"           "Almagro"            
##  [4] "Balvanera"           "Barracas"            "Belgrano"           
##  [7] "Boca"                "Boedo"               "Caballito"          
## [10] "Chacarita"           "Coghlan"             "Colegiales"         
## [13] "Constitución"        "Devoto"              "Flores"             
## [16] "Floresta"            "La Boca"             "Liniers"            
## [19] "Mataderos"           "Monte Castro"        "Montserrat"         
## [22] "Nueva Pompeya"       "Nuñez"               "Otro"               
## [25] "Otros"               "Palermo"             "Parque "            
## [28] "Parque Avellaneda"   "Parque Chacabuco"    "Parque Chas"        
## [31] "Parque Patricios"    "Paternal"            "Puerto Madero"      
## [34] "recoleta"            "Recoleta"            "Retiro"             
## [37] "Saavedra"            "San Cristobal"       "San Cristóbal"      
## [40] "San Nicolás"         "San Telmo"           "Urquiza"            
## [43] "Versalles"           "Villa Crespo"        "Villa Deboto"       
## [46] "Villa del Parque"    "Villa Devoto"        "Villa General Mitre"
## [49] "Villa Lugano"        "Villa Luro"          "Villa Mitre"        
## [52] "Villa Ortuzar"       "Villa Ortúzar"       "Villa Pueyrredón "  
## [55] "Villa Real"          "Villa Riachuelo"     "Villa Soldati"      
## [58] "Villa Urquiza"

Arreglo los barrios (para eso vuelvo a cambiar a cáracter y guardarlo como factor nuevamente. Luego corrijo las inconsistencias).

atractivos$barrio <- as.character(atractivos$barrio)
atractivos[atractivos$barrio=="Villa Deboto" | atractivos$barrio=="Devoto", "barrio"] <- "Villa Devoto"
atractivos[atractivos$barrio=="Boca" , "barrio"] <- "La Boca"
atractivos[atractivos$barrio=="recoleta" , "barrio"] <- "Recoleta"
atractivos[atractivos$barrio=="San Cristobal" , "barrio"] <- "San Cristóbal"
atractivos[atractivos$barrio=="Villa Ortuzar" , "barrio"] <- "Villa Ortúzar"
atractivos[atractivos$barrio=="Urquiza" , "barrio"] <- "Villa Urquiza"
atractivos[atractivos$barrio=="Villa Mitre" , "barrio"] <- "Villa General Mitre"
atractivos[atractivos$barrio=="Parque " , "barrio"] <- "Parque Chas"
atractivos[atractivos$barrio=="Otro", "barrio"] <- "Fuera de Buenos Aires"


atractivos$barrio <- as.factor(atractivos$barrio)

Chequeo los barrios arreglados.

levels(atractivos$barrio)
##  [1] ""                    "Agronomía"           "Almagro"            
##  [4] "Balvanera"           "Barracas"            "Belgrano"           
##  [7] "Boedo"               "Caballito"           "Chacarita"          
## [10] "Coghlan"             "Colegiales"          "Constitución"       
## [13] "Flores"              "Floresta"            "La Boca"            
## [16] "Liniers"             "Mataderos"           "Monte Castro"       
## [19] "Montserrat"          "Nueva Pompeya"       "Nuñez"              
## [22] "Otros"               "Palermo"             "Parque Avellaneda"  
## [25] "Parque Chacabuco"    "Parque Chas"         "Parque Patricios"   
## [28] "Paternal"            "Puerto Madero"       "Recoleta"           
## [31] "Retiro"              "Saavedra"            "San Cristóbal"      
## [34] "San Nicolás"         "San Telmo"           "Versalles"          
## [37] "Villa Crespo"        "Villa del Parque"    "Villa Devoto"       
## [40] "Villa General Mitre" "Villa Luro"          "Villa Ortúzar"      
## [43] "Villa Pueyrredón "   "Villa Real"          "Villa Riachuelo"    
## [46] "Villa Soldati"       "Villa Urquiza"

Subo la segunda base.

categorias_por_atractivos <- read.csv2("C://Users/Flo/Desktop/Curso Ciencia DAtos/categorias_por_atractivos.csv", stringsAsFactors = FALSE)

Junto las dos primeras bases.

atractivos <- left_join(atractivos, categorias_por_atractivos)
## Joining, by = "id_atractivo"

Subo la tercer base (categoría de los atractivos, según tripadvisor).

dim_categorias <- read.csv2 ("C://Users/Flo/Desktop/Curso Ciencia DAtos/dim_categorias.csv",stringsAsFactors = FALSE)

Junto la tercer base

atractivos <- left_join(atractivos, dim_categorias)
## Joining, by = "id_categoria"

Elimino (para el análisis) los atractivos con 2 o menos comentarios

seleccion <- filter(atractivos, comentarios_cantidad  > 2)
head(seleccion)
##   id_atractivo        nombre
## 1            1  Teatro Colón
## 2            2      Recoleta
## 3            2      Recoleta
## 4            2      Recoleta
## 5            2      Recoleta
## 6            3 Puerto Madero
##                                    direccion_completa
## 1 Calle Cerrito 628, Buenos Aires C1010AAN, Argentina
## 2              Junin y Guido, Buenos Aires, Argentina
## 3              Junin y Guido, Buenos Aires, Argentina
## 4              Junin y Guido, Buenos Aires, Argentina
## 5              Junin y Guido, Buenos Aires, Argentina
## 6      Rosario Vera Penaloza, Buenos Aires, Argentina
##                   calle altura        barrio       ciudad localidad
## 1        Calle Cerrito     628   San Nicolás Buenos Aires      CABA
## 2         Junin y Guido      0      Recoleta Buenos Aires      CABA
## 3         Junin y Guido      0      Recoleta Buenos Aires      CABA
## 4         Junin y Guido      0      Recoleta Buenos Aires      CABA
## 5         Junin y Guido      0      Recoleta Buenos Aires      CABA
## 6 Rosario Vera Penaloza      0 Puerto Madero Buenos Aires      CABA
##      provincia      pais   latitud  longitud         telefono  duracion
## 1 Buenos Aires Argentina -34.59429 -58.38277 +54 11 4378-7100  < 1 hora
## 2 Buenos Aires Argentina -34.59020 -58.39882  +91 88002 37808          
## 3 Buenos Aires Argentina -34.59020 -58.39882  +91 88002 37808          
## 4 Buenos Aires Argentina -34.59020 -58.39882  +91 88002 37808          
## 5 Buenos Aires Argentina -34.59020 -58.39882  +91 88002 37808          
## 6 Buenos Aires Argentina -34.61154 -58.36257  +91 88002 37808 1-2 horas
##   ranking horario_lunes horario_martes horario_miercoles horario_jueves
## 1       1 10:00 - 14:00  10:00 - 14:00     10:00 - 14:00  10:00 - 14:00
## 2       2                                                              
## 3       2                                                              
## 4       2                                                              
## 5       2                                                              
## 6       3                                                              
##   horario_viernes horario_sabado horario_domingo comentarios_cantidad
## 1   10:00 - 14:00                                               20459
## 2                                                               19300
## 3                                                               19300
## 4                                                               19300
## 5                                                               19300
## 6                                                               36968
##   comentarios_calificacion cantidad_excelente cantidad_muybueno
## 1                      5.0                 80                16
## 2                      4.5                 59                35
## 3                      4.5                 59                35
## 4                      4.5                 59                35
## 5                      4.5                 59                35
## 6                      4.5                 57                35
##   cantidad_normal cantidad_malo cantidad_horrible
## 1               2             1                 1
## 2               4             1                 1
## 3               4             1                 1
## 4               4             1                 1
## 5               4             1                 1
## 6               6             1                 1
##                                                                                                                    link_tripadvisor
## 1  https://www.tripadvisor.com.ar/Attraction_Review-g312741-d311763-Reviews-Teatro_Colon-Buenos_Aires_Capital_Federal_District.html
## 2      https://www.tripadvisor.com.ar/Attraction_Review-g312741-d311775-Reviews-Recoleta-Buenos_Aires_Capital_Federal_District.html
## 3      https://www.tripadvisor.com.ar/Attraction_Review-g312741-d311775-Reviews-Recoleta-Buenos_Aires_Capital_Federal_District.html
## 4      https://www.tripadvisor.com.ar/Attraction_Review-g312741-d311775-Reviews-Recoleta-Buenos_Aires_Capital_Federal_District.html
## 5      https://www.tripadvisor.com.ar/Attraction_Review-g312741-d311775-Reviews-Recoleta-Buenos_Aires_Capital_Federal_District.html
## 6 https://www.tripadvisor.com.ar/Attraction_Review-g312741-d311777-Reviews-Puerto_Madero-Buenos_Aires_Capital_Federal_District.html
##   visible                   direccion_google id id_categoria
## 1       0 Cerrito 628, C1010 CABA, Argentina  1           24
## 2       0                               NULL  2            6
## 3       0                               NULL  3            5
## 4       0                               NULL  4            7
## 5       0                               NULL  5            2
## 6       0                               NULL  6            6
##                               cat1                               cat2
## 1        Conciertos y espectáculos                            Teatros
## 2 Atracciones y lugares de interés                        Vecindarios
## 3 Atracciones y lugares de interés                 Lugares históricos
## 4 Atracciones y lugares de interés      Lugares religiosos y sagrados
## 5 Atracciones y lugares de interés Edificios con valor arquitectónico
## 6 Atracciones y lugares de interés                        Vecindarios
##                            nueva_cat
## 1                            Teatros
## 2                            Barrios
## 3 Edificios con valor arquitectónico
## 4                 Lugares religiosos
## 5 Edificios con valor arquitectónico
## 6                            Barrios

Elimino los duplicados

atractivoslimpio <- distinct(seleccion, id_atractivo, .keep_all = TRUE)

Arreglos las categorías

Primero, agrupo las categorías de tripadvisor (cat2) a las nuevas categoías definidas por Observatorio Turismo (nueva_cat), para luego crear las categorías finales.

atractivoslimpio$nueva_cat <- atractivoslimpio$cat2

Corrijo los atractivos que están mal categorizados (de cat2 y los reasigno por ID a la nueva_cat que corresponde).

atractivoslimpio[atractivoslimpio$id_atractivo==101 | atractivoslimpio$id_atractivo==230 | atractivoslimpio$id_atractivo==118
        | atractivoslimpio$id_atractivo==370 | atractivoslimpio$id_atractivo==274 | atractivoslimpio$id_atractivo==12 | atractivoslimpio$id_atractivo==491 | atractivoslimpio$id_atractivo==106 | atractivoslimpio$id_atractivo==202 | atractivoslimpio$id_atractivo==1204 | atractivoslimpio$id_atractivo==96 | atractivoslimpio$id_atractivo==230 , "nueva_cat"] <- "Museos"

atractivoslimpio[atractivoslimpio$id_atractivo==121 | atractivoslimpio$id_atractivo==4 | atractivoslimpio$id_atractivo==269 | atractivoslimpio$id_atractivo==2 | atractivoslimpio$id_atractivo==22 | atractivoslimpio$id_atractivo==249 , "nueva_cat"] <- "Barrios"

atractivoslimpio[atractivoslimpio$id_atractivo==830 | atractivoslimpio$id_atractivo==1425 | atractivoslimpio$id_atractivo==52 | atractivoslimpio$id_atractivo==347 | atractivoslimpio$id_atractivo==827 | atractivoslimpio$id_atractivo==828 | atractivoslimpio$id_atractivo==825 | atractivoslimpio$id_atractivo==829 | atractivoslimpio$id_atractivo==834  | atractivoslimpio$id_atractivo==836 | atractivoslimpio$id_atractivo==852 | atractivoslimpio$id_atractivo==844 | atractivoslimpio$id_atractivo==838 | atractivoslimpio$id_atractivo==796 | atractivoslimpio$id_atractivo==843 | atractivoslimpio$id_atractivo==847 | atractivoslimpio$id_atractivo==1160 | atractivoslimpio$id_atractivo==848 | atractivoslimpio$id_atractivo==862 | atractivoslimpio$id_atractivo==850 | atractivoslimpio$id_atractivo==857 | atractivoslimpio$id_atractivo==861 | atractivoslimpio$id_atractivo==871 | atractivoslimpio$id_atractivo==294 , "nueva_cat"] <- "Teatros"

atractivoslimpio[atractivoslimpio$id_atractivo==290 | atractivoslimpio$id_atractivo==171 | atractivoslimpio$id_atractivo==226 | atractivoslimpio$id_atractivo==692 | atractivoslimpio$id_atractivo==466 | atractivoslimpio$id_atractivo==554 | atractivoslimpio$id_atractivo==565 | atractivoslimpio$id_atractivo==85 | atractivoslimpio$id_atractivo==137 | atractivoslimpio$id_atractivo==207 | atractivoslimpio$id_atractivo==180 | atractivoslimpio$id_atractivo==66 | atractivoslimpio$id_atractivo==389 | atractivoslimpio$id_atractivo==726 | atractivoslimpio$id_atractivo==193 | atractivoslimpio$id_atractivo==111 | atractivoslimpio$id_atractivo==793 | atractivoslimpio$id_atractivo==153 | atractivoslimpio$id_atractivo==302 | atractivoslimpio$id_atractivo==75 | atractivoslimpio$id_atractivo==69 | atractivoslimpio$id_atractivo==195 | atractivoslimpio$id_atractivo==728 | atractivoslimpio$id_atractivo==721 | atractivoslimpio$id_atractivo==723 | atractivoslimpio$id_atractivo==216 | atractivoslimpio$id_atractivo==234 | atractivoslimpio$id_atractivo==270 | atractivoslimpio$id_atractivo==307 | atractivoslimpio$id_atractivo==286 | atractivoslimpio$id_atractivo==320 | atractivoslimpio$id_atractivo==346 | atractivoslimpio$id_atractivo==365 | atractivoslimpio$id_atractivo==433 | atractivoslimpio$id_atractivo==321 | atractivoslimpio$id_atractivo==336 | atractivoslimpio$id_atractivo==403 | atractivoslimpio$id_atractivo==650 | atractivoslimpio$id_atractivo==631 | atractivoslimpio$id_atractivo==434 | atractivoslimpio$id_atractivo==371 | atractivoslimpio$id_atractivo==476 | atractivoslimpio$id_atractivo==643 | atractivoslimpio$id_atractivo==335 | atractivoslimpio$id_atractivo==350 | atractivoslimpio$id_atractivo==340 | atractivoslimpio$id_atractivo==366 | atractivoslimpio$id_atractivo==690 | atractivoslimpio$id_atractivo==478 | atractivoslimpio$id_atractivo==713 | atractivoslimpio$id_atractivo==624 | atractivoslimpio$id_atractivo==640 | atractivoslimpio$id_atractivo==62 | atractivoslimpio$id_atractivo==215 | atractivoslimpio$id_atractivo==1289 | atractivoslimpio$id_atractivo==99 | atractivoslimpio$id_atractivo==279 | atractivoslimpio$id_atractivo==362 | atractivoslimpio$id_atractivo==417 | atractivoslimpio$id_atractivo==435 | atractivoslimpio$id_atractivo==439 | atractivoslimpio$id_atractivo==1284 | atractivoslimpio$id_atractivo==486 | atractivoslimpio$id_atractivo==683 | atractivoslimpio$id_atractivo==149  | atractivoslimpio$id_atractivo==55 | atractivoslimpio$id_atractivo==109 ,"nueva_cat"] <- "Plazas y parques"

atractivoslimpio[atractivoslimpio$id_atractivo==922 , "nueva_cat"] <- "Mercados de pulgas y al aire libre"

atractivoslimpio[atractivoslimpio$id_atractivo==498 | atractivoslimpio$id_atractivo==201 | atractivoslimpio$id_atractivo==724 | atractivoslimpio$id_atractivo==106 | atractivoslimpio$id_atractivo==35 | atractivoslimpio$id_atractivo==94 | atractivoslimpio$id_atractivo==689 | atractivoslimpio$id_atractivo==450 | atractivoslimpio$id_atractivo==14 | atractivoslimpio$id_atractivo==460 | atractivoslimpio$id_atractivo==97 | atractivoslimpio$id_atractivo==15 | atractivoslimpio$id_atractivo==722 | atractivoslimpio$id_atractivo==802 | atractivoslimpio$id_atractivo==716 | atractivoslimpio$id_atractivo==474 | atractivoslimpio$id_atractivo==368 | atractivoslimpio$id_atractivo==536 | atractivoslimpio$id_atractivo==19 | atractivoslimpio$id_atractivo==56 | atractivoslimpio$id_atractivo==113 | atractivoslimpio$id_atractivo==236 | atractivoslimpio$id_atractivo==344 | atractivoslimpio$id_atractivo==414 | atractivoslimpio$id_atractivo==357 | atractivoslimpio$id_atractivo==406 | atractivoslimpio$id_atractivo==679 | atractivoslimpio$id_atractivo==553 | atractivoslimpio$id_atractivo==543 | atractivoslimpio$id_atractivo==326 | atractivoslimpio$id_atractivo==782 | atractivoslimpio$id_atractivo==454 | atractivoslimpio$id_atractivo==375 | atractivoslimpio$id_atractivo==228 | atractivoslimpio$id_atractivo==165 | atractivoslimpio$id_atractivo==236 | atractivoslimpio$id_atractivo==674 | atractivoslimpio$id_atractivo==497
                 , "nueva_cat"] <- "Edificios con valor arquitectónico"

atractivoslimpio[atractivoslimpio$id_atractivo==129 , "nueva_cat"] <- "Shoppings"


atractivoslimpio[atractivoslimpio$id_atractivo==104 | atractivoslimpio$id_atractivo==210, "nueva_cat"] <- "Otros"

atractivoslimpio[atractivoslimpio$id_atractivo==415 | atractivoslimpio$id_atractivo==688, "nueva_cat"] <- "transporte de pasajeros"

atractivoslimpio[atractivoslimpio$id_atractivo==86, "nueva_cat"] <- "Edificios gubernamentales"

atractivoslimpio[atractivoslimpio$id_atractivo==43 | atractivoslimpio$id_atractivo==20 | atractivoslimpio$id_atractivo==1286 | atractivoslimpio$id_atractivo==1288 | atractivoslimpio$id_atractivo==1294 | atractivoslimpio$id_atractivo==726 , "nueva_cat"] <- "Estadios y campos deportivos"

atractivoslimpio[atractivoslimpio$id_atractivo==369 | atractivoslimpio$id_atractivo==181 | atractivoslimpio$id_atractivo==64 | atractivoslimpio$id_atractivo==284 | atractivoslimpio$id_atractivo==6, "nueva_cat"] <- "Monumentos y estatuas"

atractivoslimpio[atractivoslimpio$id_atractivo==608 | atractivoslimpio$id_atractivo==110 | atractivoslimpio$id_atractivo==200 | atractivoslimpio$id_atractivo==259 | atractivoslimpio$id_atractivo==145 | atractivoslimpio$id_atractivo==196 | atractivoslimpio$id_atractivo==238 | atractivoslimpio$id_atractivo==159 | atractivoslimpio$id_atractivo==23 | atractivoslimpio$id_atractivo==694 | atractivoslimpio$id_atractivo==33 | atractivoslimpio$id_atractivo==296 | atractivoslimpio$id_atractivo==498 , "nueva_cat"] <- "Lugares religiosos"

atractivoslimpio[atractivoslimpio$id_atractivo==1352 | atractivoslimpio$id_atractivo==915 | atractivoslimpio$id_atractivo==326 | atractivoslimpio$id_atractivo==1365 | atractivoslimpio$id_atractivo==1244 | atractivoslimpio$id_atractivo==1237 | atractivoslimpio$id_atractivo==1363 | atractivoslimpio$id_atractivo==1366 | atractivoslimpio$id_atractivo==1471 | atractivoslimpio$id_atractivo==1367 | atractivoslimpio$id_atractivo==1381 | atractivoslimpio$id_atractivo==1322 | atractivoslimpio$id_atractivo==1353 | atractivoslimpio$id_atractivo==1323 | atractivoslimpio$id_atractivo==826 | atractivoslimpio$id_atractivo==819 | atractivoslimpio$id_atractivo==820 | atractivoslimpio$id_atractivo==821 | atractivoslimpio$id_atractivo==853 | atractivoslimpio$id_atractivo==870 | atractivoslimpio$id_atractivo==1401 | atractivoslimpio$id_atractivo==831 | atractivoslimpio$id_atractivo==1390 | atractivoslimpio$id_atractivo==1395 | atractivoslimpio$id_atractivo==818 | atractivoslimpio$id_atractivo==1396 | atractivoslimpio$id_atractivo==1234 | atractivoslimpio$id_atractivo==824 | atractivoslimpio$id_atractivo==1337 | atractivoslimpio$id_atractivo==1225 | atractivoslimpio$id_atractivo==846 | atractivoslimpio$id_atractivo==1226 | atractivoslimpio$id_atractivo==605 | atractivoslimpio$id_atractivo==636 | atractivoslimpio$id_atractivo==143 | atractivoslimpio$id_atractivo==413 | atractivoslimpio$id_atractivo==1241 , "nueva_cat"] <- "Milongas"

atractivoslimpio[atractivoslimpio$id_atractivo==1122 , "nueva_cat"] <- "Espectaculos y noche"

atractivoslimpio[atractivoslimpio$id_atractivo==330 | atractivoslimpio$id_atractivo==82 | atractivoslimpio$id_atractivo==432 | atractivoslimpio$id_atractivo==627 | atractivoslimpio$id_atractivo==714 | atractivoslimpio$id_atractivo==805 | atractivoslimpio$id_atractivo==898 | atractivoslimpio$id_atractivo==432 | atractivoslimpio$id_atractivo==856 | atractivoslimpio$id_atractivo==591 | atractivoslimpio$id_atractivo==1059 , "nueva_cat"] <- "Centros culturales"

atractivoslimpio[atractivoslimpio$id_atractivo==1110 | atractivoslimpio$id_atractivo==1111 , "nueva_cat"] <- "Casas de tango"


atractivoslimpio[atractivoslimpio$id_atractivo==252 | atractivoslimpio$id_atractivo==211 | atractivoslimpio$id_atractivo==1389 | atractivoslimpio$id_atractivo==1394 | atractivoslimpio$id_atractivo==1429 | atractivoslimpio$id_atractivo==116 | atractivoslimpio$id_atractivo==1725 | atractivoslimpio$id_atractivo==43 | atractivoslimpio$id_atractivo==1387 , "nueva_cat"] <- "Juegos y entretenimiento"

Genero las categorías finales.

atractivoslimpio$cat_final <- ""

atractivoslimpio$nueva_cat <- as.character(atractivoslimpio$nueva_cat)

atractivoslimpio[is.na(atractivoslimpio$nueva_cat),"nueva_cat"] <- "No relevante"

atractivoslimpio <- filter(atractivoslimpio, nueva_cat!="No relevante")

atractivoslimpio[atractivoslimpio$nueva_cat=="Museos" | atractivoslimpio$nueva_cat=="Galerias de arte" | atractivoslimpio$nueva_cat=="Galerías de arte" | atractivoslimpio$nueva_cat=="Museos de arte" | atractivoslimpio$nueva_cat=="Museos especializados" | atractivoslimpio$nueva_cat=="Museos para niños" | atractivoslimpio$nueva_cat=="Museos de historia natural" | atractivoslimpio$nueva_cat=="Museos de historia" | atractivoslimpio$nueva_cat=="Museos de ciencia"  | atractivoslimpio$nueva_cat=="Observatorios y planetarios" , "cat_final"] <- "Museos" 

atractivoslimpio[atractivoslimpio$nueva_cat=="Edificios con valor arquitectónico" | atractivoslimpio$nueva_cat=="Edificios gubernamentales" | atractivoslimpio$nueva_cat=="Centros educativos" | atractivoslimpio$nueva_cat=="Lugares educativos" | atractivoslimpio$nueva_cat=="Universidades y escuelas" , "cat_final"] <- "Edificios con valor arquitectónico/histórico" 

atractivoslimpio[atractivoslimpio$nueva_cat=="Mercados de pulgas y al aire libre" | atractivoslimpio$nueva_cat=="Calles comerciales" | atractivoslimpio$nueva_cat=="Shoppings" | atractivoslimpio$nueva_cat=="Centros comerciales" | atractivoslimpio$nueva_cat=="Mercados de agricultores" | atractivoslimpio$nueva_cat=="Tiendas de antigüedades" | atractivoslimpio$nueva_cat=="Grandes tiendas" | atractivoslimpio$nueva_cat=="Tiendas especializadas y de regalos" | atractivoslimpio$nueva_cat=="Tiendas de fábricas", "cat_final"] <- "Lugares de compras" 

atractivoslimpio[atractivoslimpio$nueva_cat=="Teatros" , "cat_final"] <- "Teatros" 

atractivoslimpio[atractivoslimpio$nueva_cat=="Tranvías" | atractivoslimpio$nueva_cat=="transporte de pasajeros" | atractivoslimpio$nueva_cat=="Sistemas de transporte masivo" | atractivoslimpio$nueva_cat=="Ferris" | atractivoslimpio$nueva_cat=="Taxis y otros servicios de traslado", "cat_final"] <- "Transporte de pasajeros"

atractivoslimpio[atractivoslimpio$nueva_cat=="Centros de juego y entretenimiento" | atractivoslimpio$nueva_cat=="Juegos y entretenimiento" | atractivoslimpio$nueva_cat=="Bolos" | atractivoslimpio$nueva_cat=="Juegos de escape" | atractivoslimpio$nueva_cat=="Cines" | atractivoslimpio$nueva_cat=="Más opciones de juego y entretenimiento", "cat_final"] <- "Juego y entreteniento"

atractivoslimpio[atractivoslimpio$nueva_cat=="Lugares religiosos" | atractivoslimpio$nueva_cat=="Iglesias y catedrales" | atractivoslimpio$nueva_cat=="Lugares religiosos y sagrados", "cat_final"] <- "Lugares religiosos" 

atractivoslimpio[atractivoslimpio$nueva_cat=="Monumentos y estatuas" | atractivoslimpio$nueva_cat=="Monumentos y estátuas" | atractivoslimpio$nueva_cat=="Monumentos y lugares de interés" | atractivoslimpio$nueva_cat=="Puentes" | atractivoslimpio$nueva_cat=="Cementerios", "cat_final"] <- "Monumentos y estátuas" 

atractivoslimpio[atractivoslimpio$nueva_cat=="Espectáculos y noche" | atractivoslimpio$nueva_cat=="Cafés" | atractivoslimpio$nueva_cat=="Piano bar" | atractivoslimpio$nueva_cat=="Centros culturales" | atractivoslimpio$nueva_cat=="Centros cívicos" | atractivoslimpio$nueva_cat=="Bares y discotecas" | atractivoslimpio$nueva_cat=="Clubs y bares de jazz" | atractivoslimpio$nueva_cat=="Bares de vinos" | atractivoslimpio$nueva_cat=="Cabarets" | atractivoslimpio$nueva_cat=="Clubes de comedia" | atractivoslimpio$nueva_cat=="Bares de karaoke" | atractivoslimpio$nueva_cat=="Bares para fumadores" | atractivoslimpio$nueva_cat=="Espectáculos" | atractivoslimpio$nueva_cat=="Clubs y bares de blues" | atractivoslimpio$nueva_cat=="Discotecas y clubes de baile" | atractivoslimpio$nueva_cat=="Clubs y bares gay" , "cat_final"] <- "Experiencias nocturnas" 

atractivoslimpio[atractivoslimpio$nueva_cat=="Estadios y campos deportivos" | atractivoslimpio$nueva_cat=="Pistas y carreras de autos"  | atractivoslimpio$nueva_cat=="Campos de juego y estadios" | atractivoslimpio$nueva_cat=="Complejos deportivos" | atractivoslimpio$nueva_cat=="Campos de golf" | atractivoslimpio$nueva_cat=="Campos de tiro", "cat_final"] <- "Estadios y campos deportivos" 

atractivoslimpio[atractivoslimpio$nueva_cat=="Barrios" | atractivoslimpio$nueva_cat=="Vecindarios", "cat_final"] <- "Barrios" 

atractivoslimpio[atractivoslimpio$nueva_cat=="Otros" | atractivoslimpio$nueva_cat=="Parques temáticos"  | atractivoslimpio$nueva_cat=="Centros de información turística", "cat_final"] <- "Otros" 

atractivoslimpio[atractivoslimpio$nueva_cat=="Milongas" | atractivoslimpio$nueva_cat=="Casas de tango" | atractivoslimpio$nueva_cat=="Teatros donde se puede cenar" , "cat_final"] <- "Tango" 


atractivoslimpio[atractivoslimpio$nueva_cat=="Experiencias privadas"| atractivoslimpio$nueva_cat=="Otros privados" | atractivoslimpio$nueva_cat=="Clases y talleres" | atractivoslimpio$nueva_cat=="Complejos deportivos"| atractivoslimpio$nueva_cat=="" | atractivoslimpio$nueva_cat=="" | atractivoslimpio$nueva_cat=="Áreas de naturaleza y vida silvestre" | atractivoslimpio$nueva_cat=="Tours de literatura, arte y música" | atractivoslimpio$nueva_cat=="Alquileres de barcos" | atractivoslimpio$nueva_cat=="Deportes acuáticos" | atractivoslimpio$nueva_cat=="Tours turísticos" | atractivoslimpio$nueva_cat=="Tours privados" | atractivoslimpio$nueva_cat=="Tours ecológicos" | atractivoslimpio$nueva_cat=="Paseos en góndola" | atractivoslimpio$nueva_cat=="Cervecerías" | atractivoslimpio$nueva_cat=="Tours en barco" | atractivoslimpio$nueva_cat=="Yoga y pilates" | atractivoslimpio$nueva_cat=="Tours de compras" | atractivoslimpio$nueva_cat=="Tours en bicicletas" | atractivoslimpio$nueva_cat=="Clubes de salud/entrenamiento y gimnasios" | atractivoslimpio$nueva_cat=="Tours por la Ciudad" | atractivoslimpio$nueva_cat=="Tours de bares, discotecas y pubs" | atractivoslimpio$nueva_cat=="Tours históricos" | atractivoslimpio$nueva_cat=="Escapadas de un día" | atractivoslimpio$nueva_cat=="Tours y catas de vinos" | atractivoslimpio$nueva_cat=="Más opciones gastronómicas" | atractivoslimpio$nueva_cat=="Islas" | atractivoslimpio$nueva_cat=="Ranchos" | atractivoslimpio$nueva_cat=="Bodegas y viñedos" | atractivoslimpio$nueva_cat=="Áreas de naturaleza y visa silvestre", "cat_final"] <- "Tours/experiencias privadas"

atractivoslimpio[atractivoslimpio$nueva_cat=="Parques y plazas"| atractivoslimpio$nueva_cat=="Jardines" | atractivoslimpio$nueva_cat=="Parques"| atractivoslimpio$nueva_cat=="Plazas" | atractivoslimpio$nueva_cat=="Masas de agua" | atractivoslimpio$nueva_cat=="Plazas y parques", "cat_final"] <- "Parques y plazas"

Corrijo la calificación nuevamente (la que viene por defaul no es exacta, la re-calculo en base a la proporción de comentarios entre excelente y horrible).

atractivoslimpio <- atractivoslimpio %>% 
  mutate(comentarios_calificacion=(cantidad_excelente *5 +  cantidad_muybueno *4    + cantidad_normal *3 +  cantidad_malo *2    + cantidad_horrible *1)/(cantidad_excelente + cantidad_normal + cantidad_malo + cantidad_muybueno + cantidad_horrible)) 

Borrar las tablas anteriores (para que funcione mejor la pc).

rm(atractivos)
rm(seleccion)
rm(categorias_por_atractivos)
rm(dim_categorias)

Análisis

Cantidad de comentarios por barrio. Utilizando pipe

cometariosporbarrio <- group_by(atractivoslimpio, barrio)%>%
summarise (totalbarrio = sum(comentarios_cantidad))

Cantidad de comentarios por barrio y cantidad de atractivos.

comentariosporbarrio <- group_by(atractivoslimpio, barrio)%>%
summarise (totalbarrio = sum(comentarios_cantidad))


head (comentariosporbarrio)
## # A tibble: 6 x 2
##   barrio    totalbarrio
##   <fct>           <int>
## 1 Agronomía          65
## 2 Almagro          1354
## 3 Balvanera        9922
## 4 Barracas         5606
## 5 Belgrano         6283
## 6 Boedo            1595

Visualización

Atractivos por cantidad de comentario y calificación

ggplot(atractivoslimpio) + geom_point(aes(x = comentarios_cantidad, y = comentarios_calificacion))

Le asigno color a cada categoría.

ggplot(atractivoslimpio) + 
    geom_point(aes(x = comentarios_cantidad, y = comentarios_calificacion, color = factor(cat_final)))

Color y tamaño , según cantidad de cometarios

ggplot(atractivoslimpio) + 
    geom_point(aes(x = comentarios_cantidad, y = comentarios_calificacion, size = comentarios_cantidad))

Análisis por categoría final.

ggplot(atractivoslimpio) + 
    geom_point(aes(x = comentarios_cantidad, y = comentarios_calificacion)) +
    facet_wrap(~cat_final)

Gráfico de barras para ver cantidad de comentarios por barrio.

ggplot(atractivoslimpio) +
    geom_bar(aes(x = barrio, weight = comentarios_cantidad)) +
    coord_flip()

Gráfico: Barrios por cantidad de cometarios y categoria.

ggplot(atractivoslimpio) +
    geom_bar(aes(x = barrio, weight = comentarios_cantidad, fill = cat_final)) +
    coord_flip()

Gráfico mejorado.

ggplot(atractivoslimpio) +
    geom_bar(aes(x = barrio, weight = comentarios_cantidad, fill = cat_final)) +
    coord_flip() +
    labs(title = "Barrios por cantidad de comentarios y categoría",
         subtitle = "CABA 2012 - 2019",
         caption = "Fuente: Plataforma on-line",
         x = "Barrio",
         y = "Cantidad de comentarios",
         fill = "Tipo de categoria")