OBJETIVO DEL ESTUDIO

En el año 2008, por medio de la Ley 2972 se crea en la Ciudad Autónoma de Buenos Aires el Distrito Tecnológico. El fin que se persigue es el de crear un polo (cluster) que fomente la radicación y el desarrollo de las industrias TIC. Dentro de la normativa constitutiva se contemplan beneficios e incentivos financieros con el fin de atraer empresas dentro de esta nueva área, la cual se encuentra delimitada por los barrios porteños de Parque Patricios, Nueva Pompeya y Boedo.

Mas información sobre el Distrito Tecnológico: https://buenosaires.gob.ar/distrito-tecnologico https://boletinoficial.buenosaires.gob.ar/normativaba/norma/123755

Transcurridos 15 años desde la sanción de la ley que establece la creación del distrito tecnológico, nos proponemos analizar los patrones puntuales de localización de las industrias TIC y poder dar respuesta a los siguientes interrogantes: - ¿efectivamente se han concentrado empresas TIC en dicha área? - ¿que tipo de agrupamiento se produjo? - ¿existen patrones de agrupamiento? ¿son homogeneos o heterogeneos? - ¿dentro del área definida, existen zonas de mayor concentración (intensidad) de empresas TIC? - ¿existe agregación o dispersión en la localización de las empresas TIC? - otros interrogantes que surgan del estudio

PROCESAMIENTO Y ANALISIS DE DATOS

Cargamos las librerias que utlizaremos durante el estudio:

Cargamos los datasets (fuentes de datos) que vamos a utilizar:

Para desarrollar el presente trabajo utilizaremos un dataset del GCBA (https://data.buenosaires.gob.ar/dataset/empresas-distrito-tecnologico) con fecha de actualización de 17 de Marzo de 2023. El mismo contiene el detalle de las empresas radicadas en el distrito tecnológico, razón social, origen, sector, ubicación geográfica.

A su vez utilizaremos un dataset con el limite de todos los barrios de la CABA.

Los datos importados los vamos a proyectar al CRS 5347 Posgar 94 - Faja 5 (https://ramsac.ign.gob.ar/posgar07_pg_web/documentos/Informe_sobre_codigos_oficiales_EPSG.pdf)

dt <- read.csv("../entradas/empresas-del-distrito-tecnologico.csv",
               stringsAsFactors = TRUE,
                      encoding="UTF-8") |> 
  filter(long != "" & lat != "") |> 
  st_as_sf(coords = 1:2, crs = 4326) |> 
  st_transform(5347)

Analizamos los datasets importados:

class(dt)
## [1] "sf"         "data.frame"
str(dt)
## Classes 'sf' and 'data.frame':   306 obs. of  18 variables:
##  $ id                     : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ nombre                 : Factor w/ 297 levels "ABACO","ACCENTURE",..: 252 146 261 131 65 74 19 100 97 117 ...
##  $ sector                 : Factor w/ 8 levels "BPO","DATA CENTER",..: 6 1 1 8 8 8 8 6 8 8 ...
##  $ origen                 : Factor w/ 3 levels "","Extranjero",..: 3 2 2 3 3 3 3 3 3 3 ...
##  $ grado_de_a             : Factor w/ 2 levels "En Obra","En Operación": 2 2 2 2 2 2 2 2 2 2 ...
##  $ fecha_de_i             : Factor w/ 101 levels "","abr-10","abr-12",..: 24 91 92 74 74 91 16 34 91 85 ...
##  $ año_de_i               : Factor w/ 14 levels "-","2009","2010",..: 5 14 2 2 2 14 3 6 14 2 ...
##  $ mes_de_i               : Factor w/ 14 levels "-","01","02",..: 2 14 10 12 12 14 13 3 14 11 ...
##  $ jurisdicci             : Factor w/ 3 levels "","CABA","OTRA": 2 2 2 2 2 2 2 2 2 2 ...
##  $ calle                  : Factor w/ 96 levels "15 de Noviembre de 1889",..: 87 7 93 38 38 38 66 40 65 57 ...
##  $ altura                 : int  758 2482 2034 2930 3230 3251 2011 3436 1963 1981 ...
##  $ piso_dpto              : Factor w/ 84 levels "","1 B","1°",..: 1 1 1 29 45 1 1 1 82 1 ...
##  $ calle2                 : Factor w/ 6 levels "","24 de Noviembre",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ barrio                 : Factor w/ 3 levels "Boedo","Nueva Pompeya",..: 3 3 3 3 3 3 3 1 3 3 ...
##  $ comuna                 : Factor w/ 2 levels "Comuna 4","Comuna 5": 1 1 1 1 1 1 1 2 1 1 ...
##  $ codigo_postal          : num  1437 1283 1282 1261 1261 ...
##  $ codigo_postal_argentino: Factor w/ 123 levels "","C1239AAX",..: 69 59 58 32 34 33 10 26 19 14 ...
##  $ geometry               :sfc_POINT of length 306; first list element:  'XY' num  5645858 6165407
##  - attr(*, "sf_column")= chr "geometry"
##  - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA NA NA NA ...
##   ..- attr(*, "names")= chr [1:17] "id" "nombre" "sector" "origen" ...
summary(dt)
##        id                                  nombre            sector   
##  Min.   :  1.00   ATOS ARGENTINA S.A.         :  2   SOFTWARE   :212  
##  1st Qu.: 77.25   DATAWISE S.A.               :  2   BPO        : 63  
##  Median :154.50   Grupo Recaudador S.A        :  2   HARDWARE   : 13  
##  Mean   :158.11   INTERGRABO                  :  2   e-COMMERCE :  6  
##  3rd Qu.:230.75   Multivirtual S.A            :  2   DATA CENTER:  5  
##  Max.   :325.00   PRAGMATICA TECHNOLOGIES S.A.:  2   EDUCACION  :  3  
##                   (Other)                     :294   (Other)    :  4  
##         origen           grado_de_a            fecha_de_i     año_de_i 
##            :  4   En Obra     : 61                  : 39   2014   :57  
##  Extranjero: 29   En Operación:245   sep-14         : 11   -      :39  
##  Nacional  :273                      Previo Ley 2972: 10   2017   :36  
##                                      dic-14         :  9   2016   :33  
##                                      jun-12         :  9   2015   :29  
##                                      mar-16         :  7   2012   :27  
##                                      (Other)        :221   (Other):85  
##     mes_de_i   jurisdicci             calle         altura       piso_dpto  
##  -      : 39       :  3   Av. Caseros    : 34   Min.   :   0          :165  
##  12     : 34   CABA:300   Rondeau        : 16   1st Qu.:1963   Piso 1 :  8  
##  06     : 30   OTRA:  3   CASEROS        : 15   Median :2664   Piso 3 :  8  
##  11     : 28              CATULO CASTILLO: 15   Mean   :2276   PB     :  6  
##  08     : 27              JUJUY          : 15   3rd Qu.:3227   Piso 2 :  5  
##  09     : 26              RONDEAU        : 15   Max.   :3867   Piso 4 :  5  
##  (Other):122              (Other)        :196                  (Other):109  
##              calle2                 barrio         comuna    codigo_postal 
##                 :301   Boedo           : 43   Comuna 4:263   Min.   :1239  
##  24 de Noviembre:  1   Nueva Pompeya   : 32   Comuna 5: 43   1st Qu.:1261  
##  Agosto 2016    :  1   Parque Patricios:231                  Median :1263  
##  Av. Caseros    :  1                                         Mean   :1325  
##  Caseros        :  1                                         3rd Qu.:1437  
##  Rondeau        :  1                                         Max.   :1437  
##                                                              NA's   :2     
##  codigo_postal_argentino          geometry  
##  C1247ABH: 15            POINT        :306  
##  C1263AAP: 12            epsg:5347    :  0  
##  C1263AAD: 10            +proj=tmer...:  0  
##  C1262ABL:  9                               
##  C1247ABW:  8                               
##  C1260ACA:  8                               
##  (Other) :244

Algunas comentarios sobre el dataset importado: - 306 empresas TIC radicadas en el Distrito Tecnológico. - La mayoría se dedican al desarrollo de software. - La mayoría son de origen nacional. - El año pico de radicación de empresas fue en el 2014. - La mayoría de las empresas están localizadas en el barrio de Parque Patricios (comuna 4).

Corremos algunos gráficos para comprender los datos.

Mapa interactivo por sector con información de cada empresa TIC.

tmap_mode("view")
## tmap mode set to interactive viewing
tm_shape(dt) +
  tm_dots(col = "sector" , popup.vars = c("nombre", 
                                           "sector", "origen",
                                           "grado_de_a", "año_de_i"))
ggplot(dt) + 
geom_bar(aes(x =año_de_i, fill=sector)) +
   labs(title="Distrito Tecnológico - CABA",
        subtitle= "Radicaión de TIC por años", 
       fill="Referencias", 
       x = "Año de radicación",
       y = "Cantidad de empresas",
       caption = "Fuente: BA Data (https://data.buenosaires.gob.ar/dataset/empresas-distrito-tecnologico) ") +
  theme_minimal() +
  scale_fill_viridis_d() 

ggplot(dt) + 
geom_bar(aes(x =barrio, fill=origen)) +
   labs(title="Distrito Tecnológico - CABA",
        subtitle= "Localización por Barrio y Origen", 
       fill="Referencias", 
       x = "Barrio",
       y = "Cantidad de empresas",
       caption = "Fuente: BA Data (https://data.buenosaires.gob.ar/dataset/empresas-distrito-tecnologico) ") +
  theme_minimal() +
  scale_fill_viridis_d() 

Importamos el dataset del GCBA con los limites de los Barrios. Filtramos los 3 barrios que integran el distrito tecnológico (Parque Patricios, Boedo, Nueva Pompeya).

barrios <- st_read("../entradas/barrios.csv", 
                  crs = 4326) |> 
   filter (BARRIO == "PARQUE PATRICIOS" | BARRIO == "BOEDO" | BARRIO == "NUEVA POMPEYA") |>
   st_transform(5347)
## Reading layer `BARRIOS' from data source 
##   `C:\Users\a0602687\Desktop\FLACSO_M5\ENTRADAS\BARRIOS.CSV' 
##   using driver `CSV'
## Simple feature collection with 48 features and 6 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -58.53152 ymin: -34.70529 xmax: -58.33515 ymax: -34.52649
## Geodetic CRS:  WGS 84

Visualizamos de forma general todos los datasets juntos.

ggplot() + 
  geom_sf(data = barrios, color = "grey60", fill = NA)+
  geom_sf(data = dt, aes(shape = sector), alpha = 0.8, size = 4, color = "tomato4") + 
  geom_sf_text(data=barrios, aes(label = BARRIO), size=4, color = "black") +
  labs(title = "Distrito Tecnológico - CABA",
       subtitle = "Parque Patricios / Boedo / Nueva Pompeya",
       shape = "Sector" ,
       caption = "Fuente: BA Data (https://data.buenosaires.gob.ar/dataset/empresas-distrito-tecnologico) ",
       x= "Longitud",
       y= "Latitud") +
  theme_minimal()
## Warning: The shape palette can deal with a maximum of 6 discrete values because
## more than 6 becomes difficult to discriminate; you have 8. Consider
## specifying shapes manually if you must have them.
## Warning: Removed 215 rows containing missing values (`geom_sf()`)

ENFOQUE METOLÓGICO

Con el dataset importado realizaremos un anállisis de patrones/procesos puntuales. Aspiramos a generar un resumen espacial calculando la concentración (intensidad) de empresas TIC dentro del área del Distrito Tecnológico. A su vez testearemos hipotesis sobre el proceso que generó el patron puntual (homogeneo/heterogeneo - al azar/agrupado/regular)

Nota: La localización de las empresas dentro del Distrito fue promovida por medio de la Ley sancionada. Entendemos que la ubicación espacial de las mismas dentro de los limites establecidos se ha producido de manera azarosa.

Preparamos los datos para el análisis de patrones de puntos:

Definimos la ventana (área de estudio) en la cual vamos a trabajar. En este caso los 3 barrios que integran el Distrito Tecnológico.

CABA <- summarise(barrios)
CABA <- nngeo::st_remove_holes(CABA)

ventana <- as.owin(st_geometry(CABA))
unitname(ventana) <- "Meter"

plot(ventana)

Generamos el patrón de puntos en base al dataset de las empresas TIC.

empresas_ppp <- as.ppp(st_geometry(dt), W = ventana)
## Warning: data contain duplicated points

Movemos de forma aleatoria los puntos para evitar puntos duplicados.

set.seed(200)
empresas_ppp <- rjitter(empresas_ppp, retry=TRUE, nsim = 1, 
                       radius = 2, drop = TRUE)

cat("\nExisten puntos duplicados:", any(duplicated.ppp(empresas_ppp)))
## 
## Existen puntos duplicados: FALSE
plot(empresas_ppp, cols = "tomato4")

A simple vista observamos agrupación de puntos en algunos sectores específicos y una distribución aleatoria en la localización de las empresas.

Observamos el interior del objeto.

summary(empresas_ppp)
## Planar point pattern:  306 points
## Average intensity 2.705403e-05 points per square Meter
## 
## Coordinates are given to 1 decimal place
## i.e. rounded to the nearest multiple of 0.1 Meter
## 
## Window: polygonal boundary
## single connected closed polygon with 401 vertices
## enclosing rectangle: [5643492, 5647632] x [6163735, 6168312] Meter
##                      (4141 x 4577 Meter)
## Window area = 11310700 square Meter
## Unit of length: 1 Meter
## Fraction of frame area: 0.597

Estadísticas de resumen de primer orden (contrastes basados en cuadrantes)

Intensidad del patrón de puntos

Averiguamos la intensidad/concentración del patrón de las empresas TIC (cuantas empresas hay localizadas por unidad de área).)

cat("Intensidad de empresas por metro cuadrado:", 
    intensity(empresas_ppp) |> format(scientific = F), 
    "\n")
## Intensidad de empresas por metro cuadrado: 0.00002705403
cat("Intensidad de empresas por kilómetro cuadrado:", 
    format( (intensity(empresas_ppp) * (1000^2) ), 
            scientific = F, digits = 4, decimal.mark = ",") )
## Intensidad de empresas por kilómetro cuadrado: 27,05

Este valor da por asumido que el patron de puntos (intensidad) es homogéneo, pero esto no es así. Para profundizar en este estudio vamos a medir la intensidad por cuadrantes dividiendo la ventana original generada oportunamente.

Intensidad por cuadrantes

Vamos a verificar si existe un patron aleatorio de localización. Subdividimos la ventana y calculamos la intensidad en cada una de las áreas.

QC_empresas <- quadratcount(empresas_ppp, nx = 5, ny = 5)

QC_empresas
## tile
## Tile row 1, col 1 Tile row 1, col 2 Tile row 1, col 3 Tile row 1, col 4 
##                 0                 0                 0                 0 
## Tile row 1, col 5 Tile row 2, col 1 Tile row 2, col 2 Tile row 2, col 3 
##                 0                 0                 0                27 
## Tile row 2, col 4 Tile row 2, col 5 Tile row 3, col 1 Tile row 3, col 2 
##                99                23                 0                 0 
## Tile row 3, col 3 Tile row 3, col 4 Tile row 3, col 5 Tile row 4, col 1 
##                65                71                13                 0 
## Tile row 4, col 2 Tile row 4, col 3 Tile row 4, col 4 Tile row 4, col 5 
##                 0                 7                 1                 0 
## Tile row 5, col 1 Tile row 5, col 2 Tile row 5, col 3 Tile row 5, col 4 
##                 0                 0                 0                 0
plot(empresas_ppp, 
     main = "Conteo por cuadrante",
     cols = "tomato4")
plot(QC_empresas, add = TRUE, cex = 1)

Generamos una teselación similar a la anterior pero en este caso dividimos la ventana con hexágonos de 300m de lado.

H <- hextess(ventana, 300)

QC_empresas_HEX <- quadratcount(empresas_ppp, tess = H)

plot(empresas_ppp, 
     main = "Conteo por cuadrante (hexagonal)",
     cols = "tomato4")
plot(QC_empresas_HEX, add = TRUE, cex = 1)

Graficamos la intensidad con un mapa de calor.

intensity(QC_empresas_HEX, image = T) |> 
  plot(main = "Intensidad por cuadrante (hexagonal)")

plot(empresas_ppp, add = T, cols = "grey")

Los gráficos evidencia que existe un patron de puntos con un proceso heterogeneo. Validamos esta información con un test estadístico.

Test de Hipotesis

Realizamos un test de hipotesis para evaluar si existe un patron homegeneo de Poisson (CRS) en la distribución de las empresas TIC.

Significacia de \(0.05\)

quadrat.test(QC_empresas_HEX, method = "MonteCarlo", nsim = 1000)
## 
##  Conditional Monte Carlo test of CSR using quadrat counts
##  Test statistic: Pearson X2 statistic
## 
## data:  
## X2 = 1441, p-value = 0.001998
## alternative hypothesis: two.sided
## 
## Quadrats: 69 tiles (irregular windows)

Dado que el p-value es menor a \(0.05\) se rechaza la Hipotesis nula. Hay evidencia suficiente que indicaría que el patrón de distribución espacial de las industrias TIC no es homogeneo.

Test de Hipotesis - Particion en cuadrantes

quadrat.test(empresas_ppp, nx = 5, ny = 5, method = "MonteCarlo")
## 
##  Conditional Monte Carlo test of CSR using quadrat counts
##  Test statistic: Pearson X2 statistic
## 
## data:  empresas_ppp
## X2 = 716.07, p-value = 0.002
## alternative hypothesis: two.sided
## 
## Quadrats: 24 tiles (irregular windows)

Test de Hipotesis - Particion en hexagonos

quadrat.test(QC_empresas_HEX, tess = H, method = "MonteCarlo")
## Warning: : unrecognised argument 'tess' was ignored
## 
##  Conditional Monte Carlo test of CSR using quadrat counts
##  Test statistic: Pearson X2 statistic
## 
## data:  
## X2 = 1441, p-value = 0.001
## alternative hypothesis: two.sided
## 
## Quadrats: 69 tiles (irregular windows)

Graficamos los resultados del test por cuadrantes.

quadrat.test(empresas_ppp, nx = 5, ny = 5, method = "MonteCarlo") |> 
  plot(cex = 1, main = "Test de hipótesis (valores por cuadrante)")

Estimación de la densidad mediante función kernel

Al encontrar patrones puntales agrupados podemos estimar la intensidad (densidad) del emplazamiento de las empresas TIC.

DD <- density(empresas_ppp, edge = F)
plot(DD, main='densidad de empresas en CABA')

class(DD)
## [1] "im"
attr(DD, "sigma")
## [1] 517.5803

Corremos diferentes escenarios/metodos y generamos un mapa de los mismos: - Corrección de efectos de borde - Corrección diggle - Optimización de banda - Otros

par(mfrow = c(3, 2))

  density(empresas_ppp, edge = T) |> plot()
  density(empresas_ppp, diggle = T) |> plot()
  
  density(empresas_ppp, diggle = T, sigma = bw.diggle) |> plot()
  density(empresas_ppp, diggle = T, sigma = bw.ppl) |> plot()

  adaptive.density(empresas_ppp, f = 0.1, method = "voronoi") |> plot()
  adaptive.density(empresas_ppp, method = "kernel") |> plot()

par(mfrow = c(1, 1))

Comparamos los valores de sigma en los diferentes métodos

cat("Cross Validated (Diggle):", bw.diggle(empresas_ppp), "\n")
## Cross Validated (Diggle): 2.025754
cat("Likelihood Cross Validation:", bw.ppl(empresas_ppp), "\n")
## Likelihood Cross Validation: 54.61341
cat("Scott's Rule:", bw.scott(empresas_ppp), "\n")
## Scott's Rule: 201.6063 143.1223

Estadísticas de resumen de segundo orden (contrastes basados en distancias)

Las siguientes funciones nos permiten determinar si los puntos tienden a formar agregaciones o presentar dispersión (regularidad) en un rango de distancias.

Función K

K_empresas <- Kest(empresas_ppp)

class(K_empresas)
## [1] "fv"         "data.frame"
plot(K_empresas)

Contrastamos con la banda de confianza para la curva teorica.

AcceptPoisson_K <- envelope(empresas_ppp, Kest, nsim = 50)
## Generating 50 simulations of CSR  ...
## 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
## 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
## 41, 42, 43, 44, 45, 46, 47, 48, 49, 
## 50.
## 
## Done.
plot(AcceptPoisson_K)

El gráfico anterior evidencia que los puntos de las localizaciones tienden a formar agregaciones (por arriba de la función esperada).

Observamos el intervalo de confianza que presenta la distribución de la función en nuestro patron de puntos.

IC_K <-  lohboot(empresas_ppp, Kest)
## Warning: strings not representable in native encoding will be translated to
## UTF-8
## Warning: input string '<b7>' cannot be translated to UTF-8, is it valid in
## 'UTF-8'?

## Warning: input string '<b7>' cannot be translated to UTF-8, is it valid in
## 'UTF-8'?
## Warning in spatstatLocalFunctionInfo(fun): strings not representable in native
## encoding will be translated to UTF-8
## Warning in spatstatLocalFunctionInfo(fun): input string '<b7>' cannot be
## translated to UTF-8, is it valid in 'UTF-8'?
## 1, 2, 3, .5....10....15....20....25....30....35....40....45....50..
## ..55....60....65....70....75....80....85....90....95....100....105....110
## ....115....120....125....130....135....140....145....150....155....160....165...
## .170....175....180....185....190....195....200....205....210....215....220....225.
## ...230....235....240....245....250....255....260....265....270....275....280....
## 285....290....295....300....305
## 306.
plot(IC_K)

Función L

AcceptPoisson_L <- envelope(empresas_ppp, Lest, nsim = 50)
## Generating 50 simulations of CSR  ...
## 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
## 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
## 41, 42, 43, 44, 45, 46, 47, 48, 49, 
## 50.
## 
## Done.
plot(AcceptPoisson_L) 

Función g (correlación de a pares)

AcceptPoisson_g <- envelope(empresas_ppp, pcf, nsim = 20)
## Generating 20 simulations of CSR  ...
## 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 
## 20.
## 
## Done.
plot(AcceptPoisson_g)

El grafico anterior nos permite detectar a que escala hay cambios en el patron de puntos.

Función G

AcceptPoisson_G <- envelope(empresas_ppp, Gest, nsim = 100)
## Generating 100 simulations of CSR  ...
## 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
## 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
## 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
## 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
## 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 
## 100.
## 
## Done.
plot(AcceptPoisson_G) 

El grafico anterior evidencia que los puntos de las localizaciones tienden a formar agregaciones (por arriba de la función esperada). Mayor porcentaje de distancias cortas al vecino mas cercano.

Función F

AcceptPoisson_F <- envelope(empresas_ppp, Fest, nsim = 100)
## Generating 100 simulations of CSR  ...
## 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
## 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
## 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
## 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
## 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 
## 100.
## 
## Done.
plot(AcceptPoisson_F) 

El gráfico anterior evidencia que los puntos de las localizaciones tienden a formar agregaciones (por debajo de la función esperada). Mayor porcentaje de distancias cortas al vecino mas cercano.

Función J

J_empresas <- Jest(empresas_ppp, 100)
plot(J_empresas)

J(r) < 1 Agregación

AcceptPoisson_J<- envelope(empresas_ppp, Jest, nsim = 50)
## Generating 50 simulations of CSR  ...
## 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
## 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
## 41, 42, 43, 44, 45, 46, 47, 48, 49, 
## 50.
## 
## Done.
plot(AcceptPoisson_J) 

Todas las funciones juntas

todas_empresas <- allstats(empresas_ppp)
plot(todas_empresas)

plot(todas_empresas, subset=c("r<=300", "r<=300", "r<=300", "r<=300"))

REFLEXIONES FINALES

El presente estudio nos ha permitido arribar a las siguientes conclusiones: - Se ha producido la relocalización de empresas TIC dentro del área del Distrito. - Se ha producido un agrupamiento heterogéneo de las empresas. - Existen zonas de mayor concentración (intensidad) de empresas TIC dentro del área del Distrito (estadísticos de intensidad de 1er orden). - Existen zonas donde hay agregación de patrones puntales (estadísticos de intensidad de 2do orden). - Obtuvimos gráficos de intensidad kernel para las empresas TIC localizadas dentro del Distrito.

Considero que sería útil para el estudio medir el efecto de covariables (variables potencialmente explicativas) en la intensidad de agrupamiento. Se podría incorporar los datos correspondientes al valor del m2 de la zona (propiedades y terrenos) y ver que incidencia tiene en el agrupamiento de las empresas TIC.

Final del TP.-