Introducción

La base de “Habilitaciones aprobadas” disponible en DATA BUENOS AIRES es producida por la Agencia de Control Gubernamental. Dicha base puede descargarse en dos archivos CSV: uno que contiene información de 2015 a 2018 y otro que contiene información de 2019. Las habilitaciones aprobadas podrían mostrarnos ciertos comportamientos económicos del territorio, por eso resulta interesante analizar las bases.

Exploración de la base de Habilitaciones

La base a explorar es un “listado de habilitaciones otorgadas por la Agencia Gubernamental de Control a establecimientos comerciales de la Ciudad de Buenos Aires a partir de 2015”.

Disponible en: https://data.buenosaires.gob.ar/dataset/habilitaciones-aprobadas

Para comenzar, vamos a cargar las librerías que vamos a utilizar:

library(tidyverse)
library(ggplot2)
library(sf)
library(rgdal)

Ahora vamos a cargar las bases a explorar. Hay una que contiene la información entre 2015 y 2018:

habilitaciones.20152018 <- read.csv("http://cdn.buenosaires.gob.ar/datosabiertos/datasets/habilitaciones-aprobadas/habilitaciones-2015-a-2018.csv", encoding = "UTF-8")

Y otra que contiene la información de 2019:

habilitaciones.2019 <- read.csv("http://cdn.buenosaires.gob.ar/datosabiertos/datasets/habilitaciones-aprobadas/habilitaciones-2019.csv", encoding = "UTF-8")

Veamos las dimensiones de cada una:

dim(habilitaciones.20152018)
## [1] 137463     18
dim(habilitaciones.2019)
## [1] 14203    27

Veamos un resumen de cada una:

summary(habilitaciones.20152018)
##    solicitud                     tipo_tramite    tipo_expediente  
##  Min.   :     6   Ampliación           :   167   especial:  1037  
##  1st Qu.:243587   Habilitación         :135428   simple  :136426  
##  Median :306080   Redistribución de uso:    17                    
##  Mean   :298590   Transferencia        :  1851                    
##  3rd Qu.:353422                                                   
##  Max.   :377761                                                   
##                                                                   
##            subtipo_expediente  fecha_habilitacion
##  con planos         :54493              :  1851  
##  Habilitación Previa:  909    2014-10-28:  1205  
##  Inspección Previa  :  128    2014-12-31:   983  
##  sin planos         :81933    2015-01-28:   982  
##                               2017-04-25:   952  
##                               2015-05-27:   860  
##                               (Other)   :130630  
##                        numero_expediente   codigo_rubro   
##  EX-2015-26799857-   -MGEYA-DGHP:    47   Min.   :102024  
##  EX-2017-26281531-   -MGEYA-DGHP:    40   1st Qu.:601010  
##  EX-2017-24655388-   -MGEYA-DGHP:    38   Median :603089  
##  EX-2015-27702111-   -MGEYA-DGHP:    34   Mean   :595589  
##  EX-2016-12452477-   -MGEYA-DGHP:    34   3rd Qu.:603310  
##  EX-2017-21604901-   -MGEYA-DGHP:    33   Max.   :888888  
##  (Other)                        :137237                   
##                                                                    descripcion_rubro
##  COM.MIN.DE ARTIC. PERSONALES Y PARA REGALOS                                : 8519  
##  COM.MIN.DE ROPA CONFECCION., LENCERIA, BLANCO,MANTEL.TEXT. EN GRAL.Y PIELES: 7808  
##  COM.MIN.DE BEBIDAS EN GENERAL ENVASADAS                                    : 7763  
##  COM.MIN.DE CALZADOS EN GRAL., ART.DE CUERO. TALABARTERIA, MARROQUINERIA    : 5603  
##  COM.MIN. DE PRODUCTOS ALIMENTICIOS EN GENERAL                              : 4971  
##  COM.MIN. DE PRODUCTOS ALIMENTICIOS ENVASADOS                               : 4702  
##  (Other)                                                                    :98097  
##    superficie           seccion         manzana          parcela      
##  Min.   :     0.00   9      :15643   006    :  2000   001    :  5308  
##  1st Qu.:    45.41   77     : 6360   001    :  1863   011    :  3023  
##  Median :    94.22   65     : 5995   004    :  1761   002    :  2968  
##  Mean   :   163.85   19     : 4593   013    :  1727   010    :  2927  
##  3rd Qu.:   198.75   5      : 3382   012    :  1726   013    :  2866  
##  Max.   :230369.21   15     : 3329   002    :  1635   007    :  2815  
##                      (Other):98161   (Other):126751   (Other):117556  
##  partida_matriz   partida_horizontal
##  191188 :   268          :59561     
##  433699 :   234   ;      :  416     
##  448299 :   196   1963088:   87     
##  223955 :   190   1262095:   68     
##  300241 :   189   1003617:   67     
##  207907 :   188   1860745:   67     
##  (Other):136198   (Other):77197     
##                                                                                                         calles      
##  SALGUERO, JERONIMO 3212;SALGUERO, JERONIMO 3216;CAVIA 3297;SALGUERO, JERONIMO 3312;SALGUERO, JERONIMO 3360:   100  
##  FERNANDEZ DE LA CRUZ, F., GRAL. AV. 4602                                                                  :    98  
##                                                                                                            :    95  
##  CORRIENTES AV. 2314                                                                                       :    92  
##  PASTEUR 261                                                                                               :    92  
##  MITRE, BARTOLOME 2757                                                                                     :    87  
##  (Other)                                                                                                   :136899  
##  unidad_funcional                                      titulares     
##         :59434    DIA ARGENTINA S.A.                        :  1217  
##  0001   :29594    INC S.A.                                  :   301  
##  0002   :15322    DIA ARGENTINA S A                         :   187  
##  0003   : 6616    Farmcity S.A.                             :   180  
##  0004   : 4074    VISION 101 S.A.                           :   136  
##  0005   : 2556    PAN AMERICAN ENERGY LLC SUCURSAL ARGENTINA:   112  
##  (Other):19867    (Other)                                   :135330  
##          cuits       
##  30685849751:  1501  
##  30692138747:   317  
##  30687310434:   301  
##  30708648414:   165  
##  30695542476:   112  
##  27946233582:   102  
##  (Other)    :134965
summary(habilitaciones.2019)
##    solicitud            tipo_tramite   tipo_expediente 
##  Min.   :222986   Habilitación:14203   especial:  111  
##  1st Qu.:342292                        simple  :14092  
##  Median :366292                                        
##  Mean   :344608                                        
##  3rd Qu.:375987                                        
##  Max.   :379691                                        
##                                                        
##            subtipo_expediente   superficie        fecha_habilitacion
##  con planos         :8398     Min.   :    2.25   2019-03-25:  412   
##  Habilitación Previa: 109     1st Qu.:   50.00   2019-04-05:  394   
##  Inspección Previa  :   2     Median :  108.25   2019-06-30:  359   
##  sin planos         :5694     Mean   :  210.85   2019-06-11:  282   
##                               3rd Qu.:  243.51   2019-04-04:  241   
##                               Max.   :34233.20   2019-01-10:  228   
##                                                  (Other)   :12287   
##      hora_habilitacion                       numero_expediente
##  10:30:00 a.m.:   41                                  :  378  
##  11:40:20 a.m.:   38   EX-2019-03316906-   -MGEYA-DGHP:   52  
##  10:00:12 a.m.:   33   EX-2019-00663864-   -MGEYA-DGHP:   41  
##  03:36:29 p.m.:   32   EX-2019-03650531-   -MGEYA-DGHP:   40  
##  08:19:41 a.m.:   32   EX-2019-03979638-   -MGEYA-DGHP:   40  
##  04:58:33 p.m.:   30   EX-2018-08361263-   -MGEYA-DGHP:   33  
##  (Other)      :13997   (Other)                        :13619  
##   codigo_rubro   
##  Min.   :500028  
##  1st Qu.:601010  
##  Median :602070  
##  Mean   :599720  
##  3rd Qu.:603310  
##  Max.   :801060  
##                  
##                                                                    descripcion_rubro
##  COM.MIN.DE BEBIDAS EN GENERAL ENVASADAS                                    :  951  
##  COM.MIN.DE ARTIC. PERSONALES Y PARA REGALOS                                :  641  
##  COM.MIN. DE PRODUCTOS ALIMENTICIOS ENVASADOS                               :  613  
##  COM.MIN. DE PRODUCTOS ALIMENTICIOS EN GENERAL                              :  582  
##  COM.MIN.DE ROPA CONFECCION., LENCERIA, BLANCO,MANTEL.TEXT. EN GRAL.Y PIELES:  559  
##  CAFÉ BAR                                                                   :  469  
##  (Other)                                                                    :10388  
##  unidad_funcional    seccion         manzana         parcela     
##         :6328     9      : 1212   34     :  230   1      :  608  
##  1      :3154     19     :  589   60     :  215   11     :  390  
##  2      :1761     77     :  527   12     :  179   15     :  343  
##  3      : 737     65     :  421   13     :  177   12     :  325  
##  4      : 309     1      :  401   1      :  169   2      :  321  
##  5      : 192     15     :  393   19     :  169   8      :  317  
##  (Other):1722     (Other):10660   (Other):13064   (Other):11899  
##  partida_matriz  partida_horizontal
##  207907 :   84          :6344      
##  300241 :   53   ;      : 132      
##  191188 :   52   1114291:  52      
##  206714 :   52   1758265:  40      
##         :   50   1896743:  40      
##  433800 :   48   1935493:  33      
##  (Other):13864   (Other):7562      
##                                                                                        direccion    
##  LARREA 387                                                                                 :   52  
##  PASO 260;CASTELLI 265;PASO 270;CASTELLI 279;PASO 266;CASTELLI 269;CASTELLI 273;CASTELLI 277:   44  
##  MITRE, BARTOLOME 2279                                                                      :   41  
##  AZCUENAGA 223                                                                              :   40  
##  CASTELLI 196                                                                               :   40  
##  MITRE, BARTOLOME 2673                                                                      :   33  
##  (Other)                                                                                    :13953  
##               titulares             cuits                 calle_nombre 
##  DIA ARGENTINA S.A.:  239   30685849751:  271                   :2955  
##  FARMCITY S.A.     :   94   30692138747:  142   RIVADAVIA AV.   : 421  
##  INNOQ S.R.L.      :   52   30716239965:   52   CORRIENTES AV.  : 360  
##  NOBS S.A.         :   43   30661041486:   46   CABILDO AV.     : 207  
##  CD TIGRE S.R.L.   :   41   30712215689:   43   SANTA FE AV.    : 190  
##  LIU, JING         :   40   30712481486:   41   MITRE, BARTOLOME: 175  
##  (Other)           :13694   (Other)    :13608   (Other)         :9895  
##   calle_altura        long             lat                 barrio    
##  Min.   :    1   Min.   :-58.53   Min.   :-34.69              :3075  
##  1st Qu.:  779   1st Qu.:-58.47   1st Qu.:-34.62   Balvanera  :1469  
##  Median : 1970   Median :-58.43   Median :-34.61   Palermo    :1120  
##  Mean   : 2289   Mean   :-58.44   Mean   :-34.61   Flores     : 595  
##  3rd Qu.: 3328   3rd Qu.:-58.40   3rd Qu.:-34.59   San Nicolas: 587  
##  Max.   :12280   Max.   :-58.36   Max.   :-34.54   Belgrano   : 581  
##  NA's   :2955    NA's   :2955     NA's   :2955     (Other)    :6776  
##        comuna     codigo_postal  codigo_postal_argentino
##           :3075   Min.   :1001           : 3115         
##  Comuna 3 :1581   1st Qu.:1120   C1030AAG:   52         
##  Comuna 1 :1463   Median :1407   C1046AAO:   42         
##  Comuna 14:1120   Mean   :1297   C1039AAI:   41         
##  Comuna 13: 865   3rd Qu.:1425   C1029AAE:   40         
##  Comuna 10: 805   Max.   :1440   C1031AAD:   40         
##  (Other)  :5294   NA's   :3088   (Other) :10873

La base de 2019 tiene más información que la de 2015 a 2018.

Contiene información de: * barrio/comuna * lat/long * CP/CPA

Todos estos datos, nos permiten realizar rápidamente una serie de cruces y visualizaciones.

Para poder tener un ID vinculable con otras bases, le agregaremos el dato de smp normalizado en un solo campo:

habilitaciones.2019 <- habilitaciones.2019%>%
  mutate(smp = paste(seccion, manzana, parcela, sep = "-"),
         smp = toupper(smp))

Veamos cómo quedó:

summary(habilitaciones.2019)
##    solicitud            tipo_tramite   tipo_expediente 
##  Min.   :222986   Habilitación:14203   especial:  111  
##  1st Qu.:342292                        simple  :14092  
##  Median :366292                                        
##  Mean   :344608                                        
##  3rd Qu.:375987                                        
##  Max.   :379691                                        
##                                                        
##            subtipo_expediente   superficie        fecha_habilitacion
##  con planos         :8398     Min.   :    2.25   2019-03-25:  412   
##  Habilitación Previa: 109     1st Qu.:   50.00   2019-04-05:  394   
##  Inspección Previa  :   2     Median :  108.25   2019-06-30:  359   
##  sin planos         :5694     Mean   :  210.85   2019-06-11:  282   
##                               3rd Qu.:  243.51   2019-04-04:  241   
##                               Max.   :34233.20   2019-01-10:  228   
##                                                  (Other)   :12287   
##      hora_habilitacion                       numero_expediente
##  10:30:00 a.m.:   41                                  :  378  
##  11:40:20 a.m.:   38   EX-2019-03316906-   -MGEYA-DGHP:   52  
##  10:00:12 a.m.:   33   EX-2019-00663864-   -MGEYA-DGHP:   41  
##  03:36:29 p.m.:   32   EX-2019-03650531-   -MGEYA-DGHP:   40  
##  08:19:41 a.m.:   32   EX-2019-03979638-   -MGEYA-DGHP:   40  
##  04:58:33 p.m.:   30   EX-2018-08361263-   -MGEYA-DGHP:   33  
##  (Other)      :13997   (Other)                        :13619  
##   codigo_rubro   
##  Min.   :500028  
##  1st Qu.:601010  
##  Median :602070  
##  Mean   :599720  
##  3rd Qu.:603310  
##  Max.   :801060  
##                  
##                                                                    descripcion_rubro
##  COM.MIN.DE BEBIDAS EN GENERAL ENVASADAS                                    :  951  
##  COM.MIN.DE ARTIC. PERSONALES Y PARA REGALOS                                :  641  
##  COM.MIN. DE PRODUCTOS ALIMENTICIOS ENVASADOS                               :  613  
##  COM.MIN. DE PRODUCTOS ALIMENTICIOS EN GENERAL                              :  582  
##  COM.MIN.DE ROPA CONFECCION., LENCERIA, BLANCO,MANTEL.TEXT. EN GRAL.Y PIELES:  559  
##  CAFÉ BAR                                                                   :  469  
##  (Other)                                                                    :10388  
##  unidad_funcional    seccion         manzana         parcela     
##         :6328     9      : 1212   34     :  230   1      :  608  
##  1      :3154     19     :  589   60     :  215   11     :  390  
##  2      :1761     77     :  527   12     :  179   15     :  343  
##  3      : 737     65     :  421   13     :  177   12     :  325  
##  4      : 309     1      :  401   1      :  169   2      :  321  
##  5      : 192     15     :  393   19     :  169   8      :  317  
##  (Other):1722     (Other):10660   (Other):13064   (Other):11899  
##  partida_matriz  partida_horizontal
##  207907 :   84          :6344      
##  300241 :   53   ;      : 132      
##  191188 :   52   1114291:  52      
##  206714 :   52   1758265:  40      
##         :   50   1896743:  40      
##  433800 :   48   1935493:  33      
##  (Other):13864   (Other):7562      
##                                                                                        direccion    
##  LARREA 387                                                                                 :   52  
##  PASO 260;CASTELLI 265;PASO 270;CASTELLI 279;PASO 266;CASTELLI 269;CASTELLI 273;CASTELLI 277:   44  
##  MITRE, BARTOLOME 2279                                                                      :   41  
##  AZCUENAGA 223                                                                              :   40  
##  CASTELLI 196                                                                               :   40  
##  MITRE, BARTOLOME 2673                                                                      :   33  
##  (Other)                                                                                    :13953  
##               titulares             cuits                 calle_nombre 
##  DIA ARGENTINA S.A.:  239   30685849751:  271                   :2955  
##  FARMCITY S.A.     :   94   30692138747:  142   RIVADAVIA AV.   : 421  
##  INNOQ S.R.L.      :   52   30716239965:   52   CORRIENTES AV.  : 360  
##  NOBS S.A.         :   43   30661041486:   46   CABILDO AV.     : 207  
##  CD TIGRE S.R.L.   :   41   30712215689:   43   SANTA FE AV.    : 190  
##  LIU, JING         :   40   30712481486:   41   MITRE, BARTOLOME: 175  
##  (Other)           :13694   (Other)    :13608   (Other)         :9895  
##   calle_altura        long             lat                 barrio    
##  Min.   :    1   Min.   :-58.53   Min.   :-34.69              :3075  
##  1st Qu.:  779   1st Qu.:-58.47   1st Qu.:-34.62   Balvanera  :1469  
##  Median : 1970   Median :-58.43   Median :-34.61   Palermo    :1120  
##  Mean   : 2289   Mean   :-58.44   Mean   :-34.61   Flores     : 595  
##  3rd Qu.: 3328   3rd Qu.:-58.40   3rd Qu.:-34.59   San Nicolas: 587  
##  Max.   :12280   Max.   :-58.36   Max.   :-34.54   Belgrano   : 581  
##  NA's   :2955    NA's   :2955     NA's   :2955     (Other)    :6776  
##        comuna     codigo_postal  codigo_postal_argentino
##           :3075   Min.   :1001           : 3115         
##  Comuna 3 :1581   1st Qu.:1120   C1030AAG:   52         
##  Comuna 1 :1463   Median :1407   C1046AAO:   42         
##  Comuna 14:1120   Mean   :1297   C1039AAI:   41         
##  Comuna 13: 865   3rd Qu.:1425   C1029AAE:   40         
##  Comuna 10: 805   Max.   :1440   C1031AAD:   40         
##  (Other)  :5294   NA's   :3088   (Other) :10873         
##      smp           
##  Length:14203      
##  Class :character  
##  Mode  :character  
##                    
##                    
##                    
## 

Agrupemos por barrio las habilitaciones efectuadas:

habilitaciones_2019_barrio <- habilitaciones.2019 %>%
  select(smp,barrio) %>%
  group_by (barrio) %>%
  summarise(n_smp = n ())

Veamos qué tal queda esta base:

habilitaciones_2019_barrio
## # A tibble: 49 x 2
##    barrio    n_smp
##    <fct>     <int>
##  1 ""         3075
##  2 Agronomia    14
##  3 Almagro     370
##  4 Balvanera  1469
##  5 Barracas    159
##  6 Belgrano    581
##  7 Boca        102
##  8 Boedo       109
##  9 Caballito   458
## 10 Chacarita   165
## # ... with 39 more rows

Vemos que Nuñez aparece escrito como “Nu\u00f1ez” lo cual posteriormente nos va a dificultar el trabajo de join, por lo que intenté corregirlo, pero no pude.

De esta manera, podemos ver que lo que en un principio eran 14203 observaciones correspondientes a las habilitaciones de 2019, representan un total de 3075 parcelas habilitadas.

Veamos cómo se distribuyen entonces estas habilitaciones en la CABA.

Para esto, podemos cargar la capa de barrios disponible en Buenos Aires Data:

barrios <- st_read("http://cdn.buenosaires.gob.ar/datosabiertos/datasets/barrios/barrios.geojson")
## Reading layer `barrios_badata' from data source `http://cdn.buenosaires.gob.ar/datosabiertos/datasets/barrios/barrios.geojson' using driver `GeoJSON'
## Simple feature collection with 48 features and 4 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: -58.53152 ymin: -34.70529 xmax: -58.33515 ymax: -34.52649
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs

Crucemos la data:

Antes de generar el cruce, vemos ambas bases:

barrios
## Simple feature collection with 48 features and 4 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: -58.53152 ymin: -34.70529 xmax: -58.33515 ymax: -34.52649
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs
## First 10 features:
##              barrio comuna perimetro    area
## 1         CHACARITA     15  7724.853 3115707
## 2          PATERNAL     15  7087.513 2229829
## 3      VILLA CRESPO     15  8131.857 3615978
## 4  VILLA DEL PARQUE     11  7705.390 3399596
## 5           ALMAGRO      5  8537.901 4050752
## 6         CABALLITO      6 10990.964 6851029
## 7  VILLA SANTA RITA     11  5757.752 2153691
## 8      MONTE CASTRO     10  7361.036 2627481
## 9        VILLA REAL     10  5070.966 1334146
## 10           FLORES      7 15772.440 8590784
##                          geometry
## 1  POLYGON ((-58.45282 -34.595...
## 2  POLYGON ((-58.46558 -34.596...
## 3  POLYGON ((-58.42375 -34.597...
## 4  POLYGON ((-58.49461 -34.614...
## 5  POLYGON ((-58.41287 -34.614...
## 6  POLYGON ((-58.43061 -34.607...
## 7  POLYGON ((-58.48192 -34.624...
## 8  POLYGON ((-58.50349 -34.624...
## 9  POLYGON ((-58.52512 -34.614...
## 10 POLYGON ((-58.46041 -34.656...
habilitaciones_2019_barrio
## # A tibble: 49 x 2
##    barrio    n_smp
##    <fct>     <int>
##  1 ""         3075
##  2 Agronomia    14
##  3 Almagro     370
##  4 Balvanera  1469
##  5 Barracas    159
##  6 Belgrano    581
##  7 Boca        102
##  8 Boedo       109
##  9 Caballito   458
## 10 Chacarita   165
## # ... with 39 more rows

Como vemos que en un caso está en mayúsculas y en otro en minúsculas, normalizamos:

habilitaciones_2019_barrio <- habilitaciones_2019_barrio%>%
  mutate(barrio = toupper(barrio))

Veamos cómo quedó:

habilitaciones_2019_barrio
## # A tibble: 49 x 2
##    barrio    n_smp
##    <chr>     <int>
##  1 ""         3075
##  2 AGRONOMIA    14
##  3 ALMAGRO     370
##  4 BALVANERA  1469
##  5 BARRACAS    159
##  6 BELGRANO    581
##  7 BOCA        102
##  8 BOEDO       109
##  9 CABALLITO   458
## 10 CHACARITA   165
## # ... with 39 more rows

Ahora sí, crucemos la data:

barrios_habilitaciones <- left_join(barrios, habilitaciones_2019_barrio)

Veamos cómo quedó:

barrios_habilitaciones
## Simple feature collection with 48 features and 5 fields
## geometry type:  POLYGON
## dimension:      XY
## bbox:           xmin: -58.53152 ymin: -34.70529 xmax: -58.33515 ymax: -34.52649
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs
## First 10 features:
##              barrio comuna perimetro    area n_smp
## 1         CHACARITA     15  7724.853 3115707   165
## 2          PATERNAL     15  7087.513 2229829    77
## 3      VILLA CRESPO     15  8131.857 3615978   397
## 4  VILLA DEL PARQUE     11  7705.390 3399596   163
## 5           ALMAGRO      5  8537.901 4050752   370
## 6         CABALLITO      6 10990.964 6851029   458
## 7  VILLA SANTA RITA     11  5757.752 2153691    91
## 8      MONTE CASTRO     10  7361.036 2627481    87
## 9        VILLA REAL     10  5070.966 1334146    42
## 10           FLORES      7 15772.440 8590784   595
##                          geometry
## 1  POLYGON ((-58.45282 -34.595...
## 2  POLYGON ((-58.46558 -34.596...
## 3  POLYGON ((-58.42375 -34.597...
## 4  POLYGON ((-58.49461 -34.614...
## 5  POLYGON ((-58.41287 -34.614...
## 6  POLYGON ((-58.43061 -34.607...
## 7  POLYGON ((-58.48192 -34.624...
## 8  POLYGON ((-58.50349 -34.624...
## 9  POLYGON ((-58.52512 -34.614...
## 10 POLYGON ((-58.46041 -34.656...

Veamos cómo se distribuyen espacialmente las habilitaciones realizadas durante este año:

ggplot()+
  geom_sf(data = barrios_habilitaciones, aes(fill=n_smp), color=NA) +
    scale_fill_viridis_c() +
    labs(title = "Habilitaciones x Barrio",
         subtitle = "Ciudad Autónoma de Buenos Aires",
         fill = "# habilitaciones")

Podemos ver que los barrios de Palermo y Balvanera poseen un número de habilitaciones notablemente mayor.

Veamos si esta tendencia se mantiene ponderando los datos de habilitaciones por los de superficie de los barrios, es decir creando una especie de “densidad de habilitaciones”:

ggplot()+
  geom_sf(data = barrios_habilitaciones, aes(fill=n_smp/area), color=NA) +
    scale_fill_viridis_c() +
    labs(title = "Densidad de Habilitaciones x Barrio",
         subtitle = "Ciudad Autónoma de Buenos Aires",
         fill = "Habilitaciones/m2")

Ponderando la información por la superficie de cada barrio, vemos que además del barrio de Balvanera, que sigue siendo el primero en la clasificación, toman protagonismo los barrios de San Nicolás, Montserrat y Floresta.

Entiendo que esto nos puede dar un indicio de cierta celeridad de recambio de negocios en estos barrios que poseen importantes zonas comerciales.

Esta información también podemos visualizarla con un gráfico:

ggplot(barrios_habilitaciones) +
  geom_bar(aes(barrio, weight=n_smp))+
    coord_flip()+
    labs(title = "Habilitaciones x Barrio",
         subtitle = "Ciudad Autónoma de Buenos Aires",
         x = "Barrio",
         y = "Habilitaciones")

Rubros

Otra cuestión que me resulta interesante indagar, es la clasificación de las habilitaciones. Para cada negocio se otorgan múltiples habilitaciones, veamos esto:

ggplot(habilitaciones.2019) + geom_point(aes(x = descripcion_rubro, y = barrio))+
    labs(title = "Rubros x Barrio",
         subtitle = "Ciudad Autónoma de Buenos Aires",
         x = "Rubro",
         y = "Barrio")

Si bien este gráfico es prácticamente ilegible, resulta interesante porque muestra la dificultad que contiene la base para poder clasificar y estructurar la información.

Veamos cuántos códigos de rubros distintos hay en la base:

unique(habilitaciones.2019$codigo_rubro) %>% length()
## [1] 423

Y veamos cuántos entre 2015 y 2018:

unique(habilitaciones.20152018$codigo_rubro) %>% length()
## [1] 843

Titulares

Un dato que llama la atención en la primera exploración de la base de 2015 a 2018 es cómo se posiciona DIA ARGENTINA S.A. por encima de los demás titulares de las habilitaciones aprobadas. DIA ARGENTINA S.A. posee 1217 habilitaciones, mientras que INC S.A. le sigue con 301 También podemos ver que en el “tercer puesto”, se encuentro “DIA ARGENTINA S A”, y esto nos da un indicio de que probablemente hayan habilitaciones registradas a nombre del mismo titular con diferentes formas de nombrarlo.

Es por eso que vamos a rastrear las distintas denominaciones de dicho titular y cuántas veces se repite cada uno en el data frame:

habilitaciones.20152018 %>% 
  filter(str_detect(toupper(titulares), "DIA AR")) %>% 
  group_by(titulares) %>% 
  summarise(freq = n())
## # A tibble: 6 x 2
##   titulares                 freq
##   <fct>                    <int>
## 1 DIA ARGENTINA  S A          11
## 2 DIA ARGENTINA S A          187
## 3 DIA ARGENTINA S.A           54
## 4 Dia Argentina S.A.          23
## 5 DIA ARGENTINA S.A.        1217
## 6 EXPEDIA ARGENTINA S.R.L.     1

Sabiendo cuáles son dichas denominaciones, podemos agregar un valor que los contenga a todos para realizar distintas operaciones:

nombres_dia <- c("DIA ARGENTINA S A", "DIA ARGENTINA S A    ",
                 "DIA ARGENTINA S.A", "Dia Argentina S.A.",
                 "DIA ARGENTINA S.A.")

Ahora, vamos a transformar la base para obtener todos los Supermercados DIA (en todas sus denominaciones) y agregarle una columna que contenga de manera concatenada los datos de sección, manzana y parcela (ID):

dia <- habilitaciones.20152018%>%
  filter(titulares %in% nombres_dia) %>%
  mutate(smp = paste(seccion, manzana, parcela, sep = "-"),
         smp = toupper(smp))

Veamos un resumen rápido de la base:

summary(dia)
##    solicitud                     tipo_tramite  tipo_expediente
##  Min.   :235994   Ampliación           :   0   especial:  18  
##  1st Qu.:300351   Habilitación         :1481   simple  :1463  
##  Median :348694   Redistribución de uso:   0                  
##  Mean   :325838   Transferencia        :   0                  
##  3rd Qu.:361525                                               
##  Max.   :375941                                               
##                                                               
##            subtipo_expediente  fecha_habilitacion
##  con planos         :1463     2018-01-22:  94    
##  Habilitación Previa:  18     2018-08-31:  93    
##  Inspección Previa  :   0     2018-11-07:  85    
##  sin planos         :   0     2017-12-27:  52    
##                               2018-06-08:  48    
##                               2016-07-06:  47    
##                               (Other)   :1062    
##                        numero_expediente  codigo_rubro   
##  EX-2018-29639406-   -MGEYA-DGHP:  12    Min.   :600000  
##  EX-2018-29928281-   -MGEYA-DGHP:  12    1st Qu.:600030  
##  EX-2018-31603408-   -MGEYA-DGHP:  12    Median :601005  
##  EX-2016-13581511-   -MGEYA-DGHP:  11    Mean   :601327  
##  EX-2016-15563759-   -MGEYA-DGHP:  11    3rd Qu.:603120  
##  EX-2016-15563914-   -MGEYA-DGHP:  11    Max.   :603400  
##  (Other)                        :1412                    
##                                                                 descripcion_rubro
##  COM.MIN. DE PRODUCTOS ALIMENTICIOS ENVASADOS                            :160    
##  COM.MIN.DE BEBIDAS EN GENERAL ENVASADAS                                 :160    
##  COM.MIN.DE VERDURAS, FRUTAS, CARBON (EN BOLSA)                          :159    
##  COM.MIN. DE ARTICULOS DE PERFUMERIA Y TOCADOR                           :158    
##  COM.MIN.DE ARTICUL.DE LIMPIEZA                                          :158    
##  COM.MIN.AVES MUERTAS Y PELADAS,CHIVITOS,PROD.GRANJA,HUEVOS h/ 60 DOCENAS:156    
##  (Other)                                                                 :530    
##    superficie       seccion        manzana        parcela    
##  Min.   :139.1   40     :  61   052    :  47   014    :  65  
##  1st Qu.:215.9   47     :  56   047    :  41   019    :  65  
##  Median :281.0   37     :  48   014    :  36   004    :  60  
##  Mean   :290.6   48     :  47   010    :  31   007    :  60  
##  3rd Qu.:349.5   31     :  46   086    :  26   008    :  57  
##  Max.   :964.9   36     :  45   116    :  22   013    :  57  
##                  (Other):1178   (Other):1278   (Other):1117  
##  partida_matriz partida_horizontal                             calles    
##  147551 :  19          :1115       ALBERDI, JUAN BAUTISTA AV. 2859:  19  
##  410129 :  19   1037993:  19       AMENABAR 1145                  :  19  
##  450711 :  19   3168843:  19       SANTA FE AV. 927               :  19  
##  155740 :  12   ;      :  18       GUAYAQUIL 264                  :  12  
##  225455 :  12   1037743:  11       GURRUCHAGA 431                 :  12  
##  430091 :  12   3991247:  11       SCALABRINI ORTIZ, RAUL 3170    :  12  
##  (Other):1388   (Other): 288       (Other)                        :1388  
##  unidad_funcional                       titulares            cuits     
##         :1115     DIA ARGENTINA S.A.         :1217   30685849751:1481  
##  0001   : 249     DIA ARGENTINA S A          : 187   20040204386:   0  
##  0002   :  25     DIA ARGENTINA S.A          :  54   20040427490:   0  
##  ;      :  18     Dia Argentina S.A.         :  23   20040498088:   0  
##  0038   :  11     " RETAIL ARGENTINA S.A.U. ":   0   20040977490:   0  
##  0003   :  10     " VFAN S.A. "              :   0   20041112493:   0  
##  (Other):  53     (Other)                    :   0   (Other)    :   0  
##      smp           
##  Length:1481       
##  Class :character  
##  Mode  :character  
##                    
##                    
##                    
## 

Ahora que cada registro tiene asociado un ID en una misma columna, podemos chequear la cantidad real de supermercados habilitados, ya que para cada supermercado se da más de una habilitación:

unique(dia$smp) %>% length()
## [1] 164

Es así que vemos que las 1481 observaciones que figuran en la base de habilitaciones asignadas al mismo CUIT se corresponden con 164 supermercados en la realidad.

Conclusiones

En cuanto al análisis de la información contenida en las bases de habilitaciones es interesante una primera observación al respecto de la estructura de las bases: son diferentes. La base de 2019 contiene más información que la de 2015-2018 (lat, long, barrio, comuna, CP, CPA).

Por otro lado, es difícil clasificar la información de las bases de habilitaciones: entre 2015 y 2018 se manejaban 843 códigos de rubros y a partir de 2019 423. Estos números complican las visualizaciones de la información y no he encontrado aún manera de agruparlos, creo que este será el próximo paso del trabajo para poder extraer información más valiosa de las bases. Existen resoluciones y anexos recientes donde aparecen algunas categorías y subcategorías pero en un formato poco amigable para procesar. Además de la cantidad de rubros, cada parcela es habilitada por más de un rubro y no hay aparente jerarquización de los mismos.

Creo que los datos más relevantes obtenidos en la exploración son los barrios que demuestran un mayor dinamismo comercial: Balvanera, Palermo, San Nicolás, Montserrat y Floresta; y los titulares con mayor cantidad de habilitaciones aprobadas: DIA ARGENTINA S.A.