Daniel Agustín Chávez Leal A01177542
Andrea Jazmín Guzmán Cruz A01174724
Carolina Rojas Alejo A00832087
Ana Sofia Mijares Suarez A01721591
Larissa Alexandra Landazuri Gaponchuk A00831892
Nuevo León, uno de los estados más dinámicos y económicamente relevantes de México, también destaca por su potencial en el sector turístico. Ubicado en el noreste del país, este estado ofrece una variedad de atracciones que van desde su rica historia y cultura hasta su impresionante belleza natural y su vibrante escena urbana. En este análisis exploratorio veremos la oferta y demanda turística de Nuevo León y examinaremos varios aspectos que influyen en este sector clave de la economía del estado.
El objetivo de este análisis exploratorio es brindar una visión integral de la oferta y demanda turística en Nuevo León, identificando oportunidades y desafíos para el desarrollo sustentable del sector. Al comprender mejor las características y tendencias del turismo en el estado, se pueden diseñar estrategias y políticas para promover el crecimiento económico equitativo, la satisfacción de las necesidades y expectativas de los visitantes.
OfertaLa oferta se refiere a la cantidad de bienes y servicios que los productores están dispuestos y pueden ofrecer al mercado.
Demanda. Dentro de este análisis la demanda representa las características demográficas que abarca la población del estado.
Para solucionar este problema tenemos a nuestra disposición las bases de datos del Directorio Estadístico Nacional de Unidades Económicas (DENUE), las cuales han sido previamente depuradas. Estas bases de datos contienen información detallada de las diversas unidades económicas, demográficas e instituciones de los municipios de Nuevo León. Este recurso nos brinda una visión más completa y detallada que nos permitirá identificar áreas de oportunidad específicas y desarrollar estrategias adaptadas a las necesidades de Nuevo León, el análisis de estos factores puede proporcionar una comprensión más profunda de cómo funciona la economía de Nuevo León y cómo se relacionan la oferta y la demanda en la región.
## Oferta
Identificamos la densidad de población por cada municipio de Nuevo León
knitr::opts_chunk$set(warning = FALSE)
library(leaflet.extras) # to provide extra functionality to the leaflet R package
## Loading required package: leaflet
library(gmapsdistance) # allows to calculate distances for a database through Google maps
#library(rworldmap) # visualizing global data
library(tidyverse) # collection of R packages designed for data science
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(htmltools) # tools for HTML generation and output
library(magrittr) # decrease development time and improve readability and maintainability of code
##
## Attaching package: 'magrittr'
##
## The following object is masked from 'package:purrr':
##
## set_names
##
## The following object is masked from 'package:tidyr':
##
## extract
library(leafsync) # create small multiples of several leaflet web maps
library(jsonlite) # a fast JSON parser and generator, optimized for statistical data and the web
##
## Attaching package: 'jsonlite'
##
## The following object is masked from 'package:purrr':
##
## flatten
library(leaflet) # a leading open-source JavaScript library for mobile-friendly interactive maps
library(foreign) # reading and writing data stored by several formats
library(mapview) # provides functions to conveniently create interactive visualizations of spatial data
library(tigris) # allows users to directly download and use TIGER/Line shapefiles from US Census
## To enable caching of data, set `options(tigris_use_cache = TRUE)`
## in your R script or .Rprofile.
#library(rgdal) # Geospatial Data Abstraction Library
library(ggmap) # to visualize spatial data and models on top of static maps from various online sources
## ℹ Google's Terms of Service: <https://mapsplatform.google.com>
## Stadia Maps' Terms of Service: <https://stadiamaps.com/terms-of-service/>
## OpenStreetMap's Tile Usage Policy: <https://operations.osmfoundation.org/policies/tiles/>
## ℹ Please cite ggmap if you use it! Use `citation("ggmap")` for details.
##
## Attaching package: 'ggmap'
##
##
## The following object is masked from 'package:magrittr':
##
## inset
library(knitr) # integrates computing and reporting
library(spdep) # to create spatial weights matrix objects from polygon contiguities,
## Loading required package: spData
## To access larger datasets in this package, install the spDataLarge
## package with: `install.packages('spDataLarge',
## repos='https://nowosad.github.io/drat/', type='source')`
## Loading required package: sf
## Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE
# from point patterns by distance and tessellations
library(sfdep) # an interface to 'spdep' to integrate with 'sf' objects and the 'tidyverse
library(tmap) # thematic maps can be generated with great flexibility
## Breaking News: tmap 3.x is retiring. Please test v4, e.g. with
## remotes::install_github('r-tmap/tmap')
library(sf) # a standardized way to encode spatial vector data
library(readxl)
sf <- read_sf("/Users/sofiamijares/Downloads/r/Quiz_3/nl_map/nl_mpios_auto_acc.shp")
knitr::opts_chunk$set(warning = FALSE)
library(readxl)
datab <- read_excel("/Users/sofiamijares/Downloads/r/Quiz_3/NL_Demográficoslll.xlsx")
datab$POBTOT <- as.numeric(datab$POBTOT)
datab$POBFEM <- as.numeric(datab$POBFEM)
datab$POBMAS <- as.numeric(datab$POBMAS)
datab$P_3A5 <- as.numeric(datab$P_3A5)
datab$P_6A11 <- as.numeric(datab$P_6A11)
datab$P_8A14 <- as.numeric(datab$P_8A14)
datab$P_12A14 <- as.numeric(datab$P_12A14)
datab$P_15A17 <- as.numeric(datab$P_15A17)
datab$P_18A24 <- as.numeric(datab$P_18A24)
datab$P_60YMAS <- as.numeric(datab$P_60YMAS)
sf <- sf %>%
select(-auto_accid,-tasa_auto_,-edad,-pop,-gini,-densidad_p,-cinturon,-zona_subur,-zona_urb,-grado_educ, -sexo,-aliento)
# preparing georeferenced dataset
nl_mpio_geodata <- geo_join(sf, datab,'IDUNICO','IDUNICO',how='left')
nl_mpio_geodata <- subset(nl_mpio_geodata, select = -rank)
tm_shape(nl_mpio_geodata) +
tm_polygons("POBTOT", palette = "Purples", style="quantile", title="NL Population Density across Mpios") +
tmap_mode("view")
## tmap mode set to interactive viewing
tmap_last()
## tmap mode set to interactive viewing
fem <- tm_shape(nl_mpio_geodata) +
tm_polygons(col = "POBMAS", palette="YlOrRd", style="quantile", n=10, title="Población Maculina") +
tm_layout(main.title= 'Mexico Central Region - GMI = 0.63***', title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)
mas <- tm_shape(nl_mpio_geodata) +
tm_polygons(col = "POBFEM", palette="YlOrRd", style="quantile", n=10, title="Población Femenina") +
tm_layout(main.title= 'Mexico Central Region - GMI = 0.63***', title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)
tmap_arrange(fem,mas, ncol = 2)
## legend.postion is used for plot mode. Use view.legend.position in tm_view to set the legend position in view mode.
## legend.postion is used for plot mode. Use view.legend.position in tm_view to set the legend position in view mode.
# Seleccionar las columnas "POBTOT" y "mpio" del DataFrame nl_mpio_geodata
df_subset <- nl_mpio_geodata[, c("POBTOT", "mpio")]
# Filtrar las filas donde el total de población es mayor o igual a 100,000
datos_filtrados <- subset(df_subset, POBTOT >= 100000)
# Crear un vector con los totales por región
totales_por_region <- datos_filtrados$POBTOT
# Crear la gráfica de barras
barplot(totales_por_region,
names.arg = datos_filtrados$mpio, # Usar los nombres de los municipios como etiquetas en el eje x
main = "Población total por Región",
xlab = "Región",
ylab = "Total",
col = "skyblue",
ylim = c(0, max(totales_por_region) * 1.2),
las = 2) +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotar etiquetas del eje x si es necesario
## NULL
tm_shape(datos_filtrados) +
tm_polygons("POBTOT", palette = "Purples", style="quantile", title="2020 Population Density of MTY Metropolitan Zone") +
tm_text(text = "mpio", size = "POBTOT")
## Text size will be constant in view mode. Set tm_view(text.size.variable = TRUE) to enable variable text sizes.
Rangos de edad en la población
df_subset1 <- nl_mpio_geodata[, c("POBTOT", "mpio","P_3A5","P_6A11","P_8A14","P_12A14","P_15A17","P_18A24","P_60YMAS","Poblacion_Economicamente_Activa")]
df_subset1$P_3A11 <- df_subset1$P_3A5 + df_subset1$P_6A11
df_subset1$P_12A17 <- df_subset1$P_12A14 + df_subset1$P_15A17
# Filtrar las filas donde el total de población es mayor o igual a 100,000
datos_filtrados1 <- subset(df_subset1, POBTOT >= 100000)
p3a11 <- tm_shape(datos_filtrados1) +
tm_polygons("P_3A11", palette = "Purples", style="quantile", title="Población de 3 a 11 años") +
tm_text(text = "mpio", size = "P_3A11")
p12a17 <- tm_shape(datos_filtrados1) +
tm_polygons("P_12A17", palette = "Purples", style="quantile", title="Población de 12 a 17 años") +
tm_text(text = "mpio", size = "P_12A17")
tmap_arrange(p3a11,p12a17, ncol = 2)
## Text size will be constant in view mode. Set tm_view(text.size.variable = TRUE) to enable variable text sizes.
## Text size will be constant in view mode. Set tm_view(text.size.variable = TRUE) to enable variable text sizes.
Para las edades de 3 a 11 años vemos cómo su presencia predomina en Apodaca, Juárez y Monterrey
De 12 a 17 años en Apodaca, Guadalupe y Monterrey
Concluimos que Apodaca y Monterrey es donde hay más presencia de niños y jóvenes en todo Nuevo León, por lo tanto identificamos que tiende a haber en su mayoría familias con integrantes de estas edades como hijos
p18a24 <- tm_shape(datos_filtrados1) +
tm_polygons("P_8A14", palette = "Purples", style="quantile", title="Población de 18 a 24") +
tm_text(text = "mpio", size = "P_18A24")
p60 <- tm_shape(datos_filtrados1) +
tm_polygons("P_60YMAS", palette = "Purples", style="quantile", title="Población de 60 y más") +
tm_text(text = "mpio", size = "P_60YMAS")
tmap_arrange(p18a24,p60, ncol = 2)
## Text size will be constant in view mode. Set tm_view(text.size.variable = TRUE) to enable variable text sizes.
## Text size will be constant in view mode. Set tm_view(text.size.variable = TRUE) to enable variable text sizes.
df_subset2 <- datos_filtrados1[, c("POBTOT", "mpio","Poblacion_Economicamente_Activa","P_3A11","P_12A17","P_18A24","P_60YMAS")]
# Definir los puntos de corte para los intervalos
puntos_corte <- c(0, 0.35, 0.55, 1) # Definimos los límites de los intervalos
# Definir los nombres de las categorías
nombres_categorias <- c("Bajo", "Medio", "Alto")
# Crear la nueva columna categorizada
df_subset2$CategoriaIngresos <- cut(df_subset2$Poblacion_Economicamente_Activa, breaks = puntos_corte, labels = nombres_categorias, include.lowest = TRUE)
# Ver el resultado
print(df)
## function (x, df1, df2, ncp, log = FALSE)
## {
## if (missing(ncp))
## .Call(C_df, x, df1, df2, log)
## else .Call(C_dnf, x, df1, df2, ncp, log)
## }
## <bytecode: 0x13635a9e8>
## <environment: namespace:stats>
ggplot(df_subset2, aes(x=reorder(mpio,-P_3A11), y = P_3A11, fill = P_3A11)) +
geom_bar(stat = "identity" , position="dodge") + # Usar geom_bar() con stat = "identity" para representar los valores directamente
labs(title = "Población de 3 a 11 años de edad",
x = "Municipio",
y = "Población") +
scale_fill_gradient(low = "#CAFF70", high = "#556B2F") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplot(df_subset2, aes(x=reorder(mpio,-P_12A17), y = P_12A17, fill = P_12A17)) +
geom_bar(stat = "identity" , position="dodge") + # Usar geom_bar() con stat = "identity" para representar los valores directamente
labs(title = "Población de 12 a 17 años de edad",
x = "Municipio",
y = "Población") +
scale_fill_gradient(low = "#CAFF70", high = "#556B2F")+
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplot(df_subset2, aes(x=reorder(mpio,-P_18A24), y = P_18A24, fill = P_18A24)) +
geom_bar(stat = "identity" , position="dodge") + # Usar geom_bar() con stat = "identity" para representar los valores directamente
labs(title = "Población de 18 a 24 años de edad",
x = "Municipio",
y = "Población") +
scale_fill_gradient(low = "#CAFF70", high = "#556B2F") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplot(df_subset2, aes(x=reorder(mpio,-P_60YMAS), y = P_60YMAS, fill = P_60YMAS)) +
geom_bar(stat = "identity" , position="dodge") + # Usar geom_bar() con stat = "identity" para representar los valores directamente
labs(title = "Población de 60 y más años de edad",
x = "Municipio",
y = "Población") +
scale_fill_gradient(low = "#CAFF70", high = "#556B2F") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
summary(df_subset2)
## POBTOT mpio Poblacion_Economicamente_Activa
## Min. : 102149 Length:13 Min. :0.3370
## 1st Qu.: 132169 Class :character 1st Qu.:0.5190
## Median : 397205 Mode :character Median :0.5560
## Mean : 393832 Mean :0.5394
## 3rd Qu.: 481213 3rd Qu.:0.5770
## Max. :1142994 Max. :0.6340
## P_3A11 P_12A17 P_18A24 P_60YMAS
## Min. : 12952 Min. : 9025 Min. : 13052 Min. : 2810
## 1st Qu.: 21822 1st Qu.:12411 1st Qu.: 15474 1st Qu.: 12403
## Median : 43661 Median :30261 Median : 46905 Median : 25456
## Mean : 57045 Mean :36961 Mean : 48097 Mean : 43699
## 3rd Qu.: 78658 3rd Qu.:52942 3rd Qu.: 61718 3rd Qu.: 40606
## Max. :133918 Max. :94288 Max. :135096 Max. :193946
## geometry CategoriaIngresos
## POLYGON :13 Bajo :1
## epsg:4326 : 0 Medio:5
## +proj=long...: 0 Alto :7
##
##
##
En Nuevo Leon hay mayor población femenina que masculina, sin embargo la diferencia es menor al 7%
Monterrey es el estado con más densidad poblacional, en su mayoría se encuentran las personas menores a 25 años.
Los municipios con mayor población son de la zona metropolitana de Nuevo León, estos tienen mayor actividad económica, y en su mayoría la población es joven - adulta y mujeres.
La población economicamente activa dentro de los municipios representa a las personas que tienen ingresos y están en condiciones de consumir bienes y servicios. Esto relacionado con la demanda puede impulsar la creación y el mantenimiento de establecimientos, como restaurantes, parques, centros de entretenimiento, servicios de salud, educación, entre otros.
ec <- tm_shape(datos_filtrados1) +
tm_polygons("Poblacion_Economicamente_Activa", palette = "Purples", style="quantile", title="Economia activa por poblacion") +
tm_text(text = "mpio", size = "Poblacion_Economicamente_Activa")
ec
## Text size will be constant in view mode. Set tm_view(text.size.variable = TRUE) to enable variable text sizes.
df_subset2$CategoriaIngresos <- as.factor(df_subset2$CategoriaIngresos)
ml <- tm_shape(df_subset2) +
tm_fill("CategoriaIngresos", title = "Ingreso promedio de municipios", palette = "-PuRd") +
tm_borders() +
tm_layout(title = "ZMM Rezago Social", title.size = 0.8, title.position = c("left", "bottom"), legend.outside = FALSE, legend.outside.position = "right") +
tm_text(text = "mpio", size = "POBTOT")
ml
## Text size will be constant in view mode. Set tm_view(text.size.variable = TRUE) to enable variable text sizes.
dotchart(df_subset2$Poblacion_Economicamente_Activa, labels = df_subset2$mpio, pch = 21, bg = "green", pt.cex = 1.5)
La distribución geográfica de la actividad económica se ve concentrada en una solo área, santa catarina, Monterrey y San pedro Garza García, se pudiera deducir que esto se debe a que estas áreas se tienen infraestructura desarrollada y la presencia de empresas importantes. La cercanía de estos municipios puede indicar que este factor tiene posible expansión con el tiempo debido a estas características, además de que también son las que se identificó con anterioridad con mayor porcentaje poblacional, por lo tanto la actividad económica tiende a hacer mayor por su fuerza laboral.
La concentración de la actividad económica en ciertas áreas como Santa Catarina, Monterrey y San Pedro Garza García puede estar relacionada con la infraestructura desarrollada, la presencia de empresas importantes y otros factores:
Infraestructura desarrollada: Estas comunidades generalmente tienen una infraestructura mejor desarrollada en comparación con otras áreas del estado. Esta infraestructura desarrollada proporciona un entorno propicio para la actividad empresarial y la inversión.
Presencia de grandes empresas: En estas comunidades suelen estar ubicadas grandes empresas tanto nacionales como internacionales. La presencia de grandes corporaciones y negocios locales influye en la creación de empleo, la atracción de talento y la inversión en la región.
Proximidad y complementariedad: La proximidad entre estos municipios puede facilitar la colaboración y la complementariedad entre empresas y servicios.
Potencial de expansión: Debido a su entorno favorable para los negocios y su infraestructura desarrollada, estas comunidades tienen un alto potencial de expansión económica en el futuro.
En conjunto, estos factores contribuyen a la concentración de la actividad económica en ciertas áreas y con ello se contempla que dichas areas tienen un potencial significativo para continuar con el crecimiento económico y desarrollo en el estado.
datab2 <- read_excel("/Users/sofiamijares/Downloads/r/todosmtytur2020.xlsx")
# preparing georeferenced dataset
nl2 <- geo_join(sf, datab2,'mpio','mpio',how='inner')
summary(nl2)
## OBJECTID CODELAG CVE_ENT IDUNICO Shape_Leng
## Min. : 1.000 Min. :2199 Min. :19 Min. :19006 Min. :0.3572
## 1st Qu.: 6.000 1st Qu.:2204 1st Qu.:19 1st Qu.:19021 1st Qu.:0.5114
## Median : 7.000 Median :2205 Median :19 Median :19039 Median :1.0619
## Mean : 9.356 Mean :2207 Mean :19 Mean :19031 Mean :0.9373
## 3rd Qu.:10.000 3rd Qu.:2208 3rd Qu.:19 3rd Qu.:19039 3rd Qu.:1.1352
## Max. :47.000 Max. :2245 Max. :19 Max. :19049 Max. :2.5407
##
## Shape_Area OBJECTID_1 IDUNICO_1 mpio
## Min. :0.005413 Min. : 1.000 Min. :19006 Length:15829
## 1st Qu.:0.010582 1st Qu.: 6.000 1st Qu.:19021 Class :character
## Median :0.022224 Median : 7.000 Median :19039 Mode :character
## Mean :0.027679 Mean : 9.356 Mean :19031
## 3rd Qu.:0.029195 3rd Qu.:10.000 3rd Qu.:19039
## Max. :0.150516 Max. :47.000 Max. :19049
##
## region geometry id codigo_act
## Length:15829 POLYGON :15829 Min. :2914878 Min. :711111
## Class :character epsg:4326 : 0 1st Qu.:2996745 1st Qu.:722512
## Mode :character +proj=long...: 0 Median :7351043 Median :722514
## Mean :6116636 Mean :726245
## 3rd Qu.:8524419 3rd Qu.:722514
## Max. :9331146 Max. :812410
##
## nombre_act nom_estab per_ocu cod_postal
## Length:15829 Length:15829 Length:15829 Min. : 0
## Class :character Class :character Class :character 1st Qu.:64530
## Mode :character Mode :character Mode :character Median :66150
## Mean :65797
## 3rd Qu.:66646
## Max. :99999
## NA's :85
## entidad cve_mun ageb latitud
## Length:15829 Min. : 6.00 Length:15829 Min. :10.26
## Class :character 1st Qu.:21.00 Class :character 1st Qu.:25.67
## Mode :character Median :39.00 Mode :character Median :25.69
## Mean :31.12 Mean :25.67
## 3rd Qu.:39.00 3rd Qu.:25.76
## Max. :49.00 Max. :25.99
##
## longitud fecha_alta tamaño tipo_plan
## Min. :-124.45 Length:15829 Length:15829 Length:15829
## 1st Qu.:-100.34 Class :character Class :character Class :character
## Median :-100.29 Mode :character Mode :character Mode :character
## Mean :-100.34
## 3rd Qu.:-100.23
## Max. : -99.81
##
# Convertimos a factor
nl2$id <- as.factor(nl2$id)
nl2$codigo_act <- as.factor(nl2$codigo_act)
nl2$per_ocu <- as.factor(nl2$per_ocu)
nl2$cod_postal <- as.factor(nl2$cod_postal)
nl2$cve_mun <- as.factor(nl2$cve_mun)
nl2$municipio <- as.factor(nl2$mpio)
nl2$ageb <- as.numeric(nl2$ageb)
nl2tamaño <- as.factor(nl2$tamaño)
summary(nl2)
## OBJECTID CODELAG CVE_ENT IDUNICO Shape_Leng
## Min. : 1.000 Min. :2199 Min. :19 Min. :19006 Min. :0.3572
## 1st Qu.: 6.000 1st Qu.:2204 1st Qu.:19 1st Qu.:19021 1st Qu.:0.5114
## Median : 7.000 Median :2205 Median :19 Median :19039 Median :1.0619
## Mean : 9.356 Mean :2207 Mean :19 Mean :19031 Mean :0.9373
## 3rd Qu.:10.000 3rd Qu.:2208 3rd Qu.:19 3rd Qu.:19039 3rd Qu.:1.1352
## Max. :47.000 Max. :2245 Max. :19 Max. :19049 Max. :2.5407
##
## Shape_Area OBJECTID_1 IDUNICO_1 mpio
## Min. :0.005413 Min. : 1.000 Min. :19006 Length:15829
## 1st Qu.:0.010582 1st Qu.: 6.000 1st Qu.:19021 Class :character
## Median :0.022224 Median : 7.000 Median :19039 Mode :character
## Mean :0.027679 Mean : 9.356 Mean :19031
## 3rd Qu.:0.029195 3rd Qu.:10.000 3rd Qu.:19039
## Max. :0.150516 Max. :47.000 Max. :19049
##
## region geometry id codigo_act
## Length:15829 POLYGON :15829 2914878: 1 722514 :5589
## Class :character epsg:4326 : 0 2914904: 1 722517 :2982
## Mode :character +proj=long...: 0 2914905: 1 722511 :2359
## 2914954: 1 722513 :2151
## 2914956: 1 722512 : 642
## 2914959: 1 722412 : 607
## (Other):15823 (Other):1499
## nombre_act nom_estab per_ocu
## Length:15829 Length:15829 0 a 5 personas :12725
## Class :character Class :character 101 a 250 personas: 57
## Mode :character Mode :character 11 a 30 personas : 1011
## 251 y más personas: 10
## 31 a 50 personas : 291
## 51 a 100 personas : 124
## 6 a 10 personas : 1611
## cod_postal entidad cve_mun ageb
## 64000 : 1429 Length:15829 39 :5921 Min. : 11
## 67190 : 389 Class :character 26 :2199 1st Qu.: 478
## 66050 : 330 Mode :character 46 :1563 Median :1187
## 67250 : 327 6 :1486 Mean :1373
## 66220 : 234 21 :1144 3rd Qu.:1741
## (Other):13035 31 : 714 Max. :5570
## NA's : 85 (Other):2802 NA's :1340
## latitud longitud fecha_alta tamaño
## Min. :10.26 Min. :-124.45 Length:15829 Length:15829
## 1st Qu.:25.67 1st Qu.:-100.34 Class :character Class :character
## Median :25.69 Median :-100.29 Mode :character Mode :character
## Mean :25.67 Mean :-100.34
## 3rd Qu.:25.76 3rd Qu.:-100.23
## Max. :25.99 Max. : -99.81
##
## tipo_plan municipio
## Length:15829 Monterrey :5921
## Class :character Guadalupe :2199
## Mode :character San Nicolas de los Garza:1563
## Apodaca :1486
## General Escobedo :1144
## Juarez : 714
## (Other) :2802
dim(nl2)
## [1] 15829 26
Como parte de este análisis agregamos una clasificación de establecimientos por tipo de plan, es decir, el tipo de actividad adecuada a la edad de la persona, esto para simplificar los establecimientos por área;
(Los tipos de planes no discriminan a los habitantes, sin embargo se busca categorizarlas)
nl2 %>%
group_by(tamaño, per_ocu) %>%
summarise(nom_estab = n()) %>%
arrange(desc(nom_estab))
## Simple feature collection with 7 features and 3 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -100.8619 ymin: 25.22379 xmax: -99.6862 ymax: 26.39517
## Geodetic CRS: WGS 84
## # A tibble: 7 × 4
## # Groups: tamaño [4]
## tamaño per_ocu nom_estab geometry
## <chr> <fct> <int> <POLYGON [°]>
## 1 Microempresa 0 a 5 personas 12725 ((-100.1042 25.83155, -100.1038 25.…
## 2 Pequeña 6 a 10 personas 1611 ((-99.78207 25.67142, -99.78089 25.…
## 3 Pequeña 11 a 30 personas 1011 ((-100.1042 25.83155, -100.1038 25.…
## 4 Mediana 31 a 50 personas 291 ((-100.4685 25.89827, -100.4902 25.…
## 5 Mediana 51 a 100 personas 124 ((-100.3441 25.58979, -100.3444 25.…
## 6 Grande 101 a 250 personas 57 ((-100.3392 25.76242, -100.3481 25.…
## 7 Grande 251 y más personas 10 ((-100.1674 25.51694, -100.1679 25.…
# filtramos para solo tener empresas pequeñas, medianas y grandes
tamaño <- nl2$tamaño %in% c("Pequeña", "Mediana", "Grande")
d2018_2023 <- nl2[tamaño,]
dim(nl2)
## [1] 15829 26
tam <- nl2 %>%
group_by(tipo_plan) %>%
summarise(nom_estab = n()) %>%
mutate(Porcentaje = paste(round((nom_estab / sum(nom_estab)) * 100, 1), "%")) %>%
arrange(desc(nom_estab))
tam
## Simple feature collection with 4 features and 3 fields
## Geometry type: GEOMETRY
## Dimension: XY
## Bounding box: xmin: -100.8619 ymin: 25.22379 xmax: -99.6862 ymax: 26.39517
## Geodetic CRS: WGS 84
## # A tibble: 4 × 4
## tipo_plan nom_estab geometry Porcentaje
## <chr> <int> <GEOMETRY [°]> <chr>
## 1 Servicios 14706 POLYGON ((-100.1042 25.83155, -1… 92.9 %
## 2 Vida Nocturna 780 POLYGON ((-100.1068 25.70141, -1… 4.9 %
## 3 Familia y amigos 236 POLYGON ((-100.0582 25.3615, -10… 1.5 %
## 4 Culturales y artisticos 107 MULTIPOLYGON (((-100.1183 26.038… 0.7 %
pie(tam$nom_estab, labels = paste(tam$tamaño, "(", tam$Porcentaje, ")"), col = c("deepskyblue", "yellow","violetred1"), radius = 1, main = "Diagrama de pastel - tamaño de establecimientos")
La mayoría de la base de datos son servicios de comida (restaurantes), de estacionamiento (estacionamientos) e higiénicos (baños públicos). Es interesante observar que hay más establecimientos para la vida nocturna que para realizar actividades recreativas con la familia y amigos o como tipo cultural. Las muestras culturales y artísticas son fundamentales para llamar la atención turística.
Mapas de cantidad de establecimientos en los municipios por tipo de plan
# Nueva tabla agrupada por municipio
cant_mun <- nl2 %>%
group_by(mpio, tipo_plan) %>%
summarise(nom_estab = n()) %>%
arrange(mpio)
# Transponemos los datos
datos_ancho <- pivot_wider(cant_mun, names_from = tipo_plan, values_from = nom_estab, values_fill = 0)
print(datos_ancho)
## Simple feature collection with 16 features and 5 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -100.8619 ymin: 25.22379 xmax: -99.6862 ymax: 26.39517
## Geodetic CRS: WGS 84
## # A tibble: 16 × 6
## mpio geometry Culturales y artisti…¹ `Familia y amigos`
## <chr> <POLYGON [°]> <int> <int>
## 1 Apodaca ((-100.1142 25.83685, -1… 5 22
## 2 Cadereyt… ((-99.78384 25.672, -99.… 2 1
## 3 Cienega … ((-100.1183 26.03849, -1… 1 2
## 4 El Carmen ((-100.3713 25.98224, -1… 0 3
## 5 Garcia ((-100.504 25.90081, -10… 3 2
## 6 General … ((-100.4283 25.89513, -1… 2 21
## 7 General … ((-100.0655 25.9189, -10… 0 2
## 8 Guadalupe ((-100.1206 25.6974, -10… 9 25
## 9 Juarez ((-99.9929 25.68308, -99… 2 7
## 10 Monterrey ((-100.3392 25.76242, -1… 55 89
## 11 Pesqueria ((-100.1047 25.83112, -1… 0 2
## 12 Salinas … ((-100.1885 26.32678, -1… 0 0
## 13 San Nico… ((-100.2067 25.73276, -1… 6 27
## 14 San Pedr… ((-100.3342 25.60689, -1… 15 15
## 15 Santa Ca… ((-100.4436 25.72061, -1… 3 5
## 16 Santiago ((-100.1683 25.51653, -1… 4 13
## # ℹ abbreviated name: ¹`Culturales y artisticos`
## # ℹ 2 more variables: Servicios <int>, `Vida Nocturna` <int>
Se grapan los datos por municipio y tipo de plan, luego se cuenta el número de establecimientos (nom_estab) en cada grupo, y al final se ordena los resultados por municipio. Podemos ver que el municipio que cuenta con un mayor número de establecimientos culturales y artísticos es Monterrey, siguiéndole San Pedro y Guadalupe, mientras que Juárez, Cadereyta, Pesquería, entre otros, no cuentan con ningún centro cultural o artístico. El municipio que cuenta con mayor vida nocturna es Monterrey, seguido de Guadalupe y San Pedro en comparación de los municipios localizados en la zona este como Juárez, Cadereyta y Pesquería, los cuales no cuentan con presencia de vida nocturna.
datos_ancho$mpio <- chartr("áéíóú", "aeiou", datos_ancho$mpio)
nlgeodata <- st_join(datos_ancho, sf)
plan <- tm_shape(nlgeodata) +
tm_polygons(col = "Familia y amigos", palette="PuBuGn", style="quantile", n=8, title="Cantidad de establecimientos") +
tm_layout(main.title= 'Familia y amigos', title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)
plan2 <- tm_shape(nlgeodata) +
tm_polygons(col = "Vida Nocturna", palette="OrRd", style="quantile", n=8, title="Cantidad de establecimientos") +
tm_layout(main.title= 'Vida Nocturna', title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)
plan3 <- tm_shape(nlgeodata) +
tm_polygons(col = "Servicios", palette="PuBuGn", style="quantile", n=8, title="Cantidad de establecimientos") +
tm_layout(main.title= 'Servicios', title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)
tmap_arrange(plan2,plan3,plan, ncol = 3)
## legend.postion is used for plot mode. Use view.legend.position in tm_view to set the legend position in view mode.
## legend.postion is used for plot mode. Use view.legend.position in tm_view to set the legend position in view mode.
## legend.postion is used for plot mode. Use view.legend.position in tm_view to set the legend position in view mode.
En primera instancia, podemos observar que el municipio de Monterrey, que se encuentra en el centro del mapa, es el que tiene la mayor cantidad de establecimientos en general (Familia y amigos, Vida nocturna, Servicios y Culturales), debido a que es el centro de la ciudad tiene sentido que sea así,también municipios como San Pedro, Guadalupe y San Nicolás son los que cuentan con una mayor presencia de estos; sin embargo, si queremos ampliar el turismo a otros municipios que no cuentan con una alta presencia como Pesquería, Zuazua, Juarez, Cadereyta, Escobedo y el Carmen. En el ámbito cultural y artístico podemos ver que muy pocos municipios como Monterrey y San Pedro cuentan con presencia de actividades artístico-culturales. En el ámbito Vida Nocturna se puede identificar que hay un cluster en la zona centro del estado conformado por Monterrey, Guadalupe, San Pedro y San Nicolás, dejando las zonas aledañas con un menor número de actividades enfocadas a la vida nocturna. Podemos visualizar que en servicios la mayor cantidad de servicios se encuentra en la zona centro y este del estado donde se identifica una mayor presencia en los municipios de Monterrey, Guadalupe, San Pedro, San Nicolas, Garcia y Santa Catarina.
library(ggmap)
gmaps_key<-'AIzaSyBVI8a3gFigNbWMETmrP3Z2ZNDICBX4jtM' # Aqui deberia estar la api de google maps
register_google(key = gmaps_key)
library(googleway)
# Starting point - Macroplaza
latitude <- 25.66928
longitude <- -100.31094
r <- 50000
search_str<-google_places(search_string = 'antro', location=c(latitude,longitude), radius=r, key=gmaps_key)
search_str_add<-google_places(search_string = 'antro', location=c(latitude,longitude), radius=r, key=gmaps_key, page_token = search_str$next_page_token)
business_name<-c(search_str$results$name, search_str_add$results$name)
business_rating<-c(search_str$results$rating, search_str_add$results$rating)
user_ratings_total<-c(search_str$results$user_ratings_total, search_str_add$results$user_ratings_total)
place_id<-c(search_str$results$place_id, search_str_add$results$place_id)
lat<-c(search_str$results$geometry$location$lat, search_str_add$results$geometry$location$lat)
lon<-c(search_str$results$geometry$location$lng, search_str_add$results$geometry$location$lng)
databar<-data.frame(business_name,business_rating,user_ratings_total,place_id,lat,lon)
data_top_ratings <- databar %>% slice_max(business_rating, n = 10)
data_low_ratings <- databar %>% slice_min(business_rating, n = 10)
databar
## business_name business_rating user_ratings_total
## 1 Kika's Bar's 4.3 3
## 2 Mentirosa 5.0 1
## 3 Mekele 4.3 268
## 4 Will Club 4.4 19
## 5 La Palapa del Rock 4.4 1072
## 6 "E" Evolution 5.0 2
## 7 ART STUDIOS 4.3 620
## 8 YES Club 4.3 273
## 9 Misa&Beto's Bar 4.3 6
## 10 Los Rieles 4.1 37
## 11 Club 5.0 6
## 12 BUNKER ZONA ROSA 4.0 495
## 13 Protein Bar Diversidad.2 4.8 6
## 14 Kiko bar 3.0 2
## 15 CALAVERA'S BAR 5.0 2
## 16 Bootsy MTY 5.0 3
## 17 Toto San Pedro 2.2 68
## 18 Major Tom San Pedro 4.4 978
## 19 La 7 bar 5.0 1
## 20 Antro multidimensional el nirvana 5.0 2
## place_id lat lon
## 1 ChIJndRI0SrrYoYRmgX-M7xpbNI 25.74212 -100.1897
## 2 ChIJZ7bLu9eTYoYRYu-ZXLX-f0g 25.78187 -100.3289
## 3 ChIJSyAp7V3tYoYRGJPfozNbiL0 25.77867 -100.1862
## 4 ChIJJ-TNJS6XYoYR2J7KMb4s21M 25.67371 -100.3564
## 5 ChIJT1knrXyVYoYRoD5Y--9pGjQ 25.68178 -100.2937
## 6 ChIJGS1nJIeVYoYRxP0d4sWRmj0 25.67766 -100.3115
## 7 ChIJK_UerS2-YoYROFysi0KX3rY 25.66643 -100.3081
## 8 ChIJBQSIEPrrYoYRIR5gQme2Wzk 25.70341 -100.2370
## 9 ChIJff1k6frrYoYRcTcu2nd3U1w 25.74194 -100.1900
## 10 ChIJlSRz20aUYoYR16KdGFzyXgU 25.73712 -100.3186
## 11 ChIJv33JY_KVYoYRZrrtGHGY99Q 25.68271 -100.3251
## 12 ChIJG7Jw_S6-YoYR56bGpPXQWLY 25.66696 -100.3133
## 13 ChIJF-jxL9OdYoYRSmnRURQPYxM 25.79109 -100.5871
## 14 ChIJC2e62jyZYoYRKy6Lgnq7IMw 25.68642 -100.4405
## 15 ChIJa7wL0hTtYoYRnFGVE74T9Lo 25.78206 -100.2499
## 16 ChIJl-Zgn8WXYoYRqLoVer0Lr4g 25.67803 -100.3553
## 17 ChIJ-8TmdIm9YoYR875mF8HjYjI 25.64996 -100.3579
## 18 ChIJO3KWHe69YoYRNjhCYhG-mtU 25.65965 -100.3657
## 19 ChIJ9d-e0RujYoYRcCaC6KYKu-U 25.66059 -100.4545
## 20 ChIJhWM_DGqZYoYRkWYOgifqZeY 25.72694 -100.5090
top_ratings_plot <- ggplot(data_top_ratings, aes(x=reorder(business_name,business_rating), y=business_rating)) +
geom_bar(stat="identity", fill="lightblue") +
labs(title="Bar - Top 10 Bar Ratings", subtitle = "ZMM") +
coord_flip()
top_ratings_plot
register_google(key = gmaps_key)
ggmap(get_googlemap(center = c(lon = longitude, lat = latitude), zoom = 12)) +
stat_density2d(data = data_top_ratings, aes(lon, lat, fill = ..level..),
geom = "polygon", alpha = 0.42) +
scale_fill_gradient(low = "green", high = "red", guide = "none") +
labs(x = '', y = '', title = "ZMM - Antros")
## ℹ <https://maps.googleapis.com/maps/api/staticmap?center=25.66928,-100.31094&zoom=12&size=640x640&scale=2&maptype=terrain&key=xxx>
library(ggmap)
gmaps_key<-'AIzaSyBVI8a3gFigNbWMETmrP3Z2ZNDICBX4jtM' # Aqui deberia estar la api de google maps
register_google(key = gmaps_key)
library(googleway)
# Starting point - Macroplaza
latitude <- 25.66928
longitude <- -100.31094
r <- 50000
search_str<-google_places(search_string = 'parque', location=c(latitude,longitude), radius=r, key=gmaps_key)
search_str_add<-google_places(search_string = 'parque', location=c(latitude,longitude), radius=r, key=gmaps_key, page_token = search_str$next_page_token)
business_name<-c(search_str$results$name, search_str_add$results$name)
business_rating<-c(search_str$results$rating, search_str_add$results$rating)
user_ratings_total<-c(search_str$results$user_ratings_total, search_str_add$results$user_ratings_total)
place_id<-c(search_str$results$place_id, search_str_add$results$place_id)
lat<-c(search_str$results$geometry$location$lat, search_str_add$results$geometry$location$lat)
lon<-c(search_str$results$geometry$location$lng, search_str_add$results$geometry$location$lng)
databar<-data.frame(business_name,business_rating,user_ratings_total,place_id,lat,lon)
data_top_ratings <- databar %>% slice_max(business_rating, n = 10)
data_low_ratings <- databar %>% slice_min(business_rating, n = 10)
databar
## business_name business_rating user_ratings_total
## 1 Rufino Tamayo Park 4.7 6102
## 2 Las Brisas Park 4.6 569
## 3 Parque Santa Cecilia, Apodaca Nuevo Leon 4.6 1708
## 4 Parque La Primavera 4.5 558
## 5 Parque El Sabino 4.7 161
## 6 Parque Jardines del Valle 4.5 181
## 7 Hundido Park 4.4 208
## 8 "La Aurora" Park 4.3 201
## 9 Mirasierra Park 4.7 339
## 10 Parque Hundido Amado Nervo 4.7 699
## 11 Parque Las Lomas 4.5 116
## 12 Parque Vista Hermosa 4.6 799
## 13 Parque Torremolinos 4.7 123
## 14 Cumbres Park 4.5 225
## 15 Parque Lomas del Campestre 4.6 74
## 16 Parque Miguel Nieto 3.9 158
## 17 Paseo de Cumbres Norte Park 4.6 131
## 18 Parque Tucán 4.2 2492
## 19 Pedregal Cumbres Park 4.5 140
## 20 Lineal Escobedo, N.L. Park 4.6 3844
## place_id lat lon
## 1 ChIJD-kWO2q-YoYR6P9mnvaVW5o 25.64490 -100.3289
## 2 ChIJaytLhQy_YoYRnkl8zp1HiWM 25.62383 -100.2846
## 3 ChIJoYuj8p_sYoYRPvKfIT823vI 25.77419 -100.2358
## 4 ChIJrYecS5S_YoYRPy8t0Bm7g6E 25.65199 -100.2809
## 5 ChIJdaSPCPq9YoYRGkBX6sLCE6g 25.66514 -100.3612
## 6 ChIJd0Lnb429YoYRAYJFxsDLbKY 25.66028 -100.3738
## 7 ChIJrQ6ies2UYoYRJYNh_YxFgc0 25.73792 -100.2622
## 8 ChIJaZnefp_BYoYR1PzyFOuzVmM 25.63995 -100.1925
## 9 ChIJAQAArJ69YoYRx2_cSWLkN60 25.65336 -100.3891
## 10 ChIJ1_IENPeUYoYRmeqh1Oy5M7k 25.73639 -100.2996
## 11 ChIJBfdjrxiRYoYR1dETE7bboGY 25.76678 -100.4284
## 12 ChIJTyKiJnOWYoYRiJcfIEw6mAg 25.69635 -100.3579
## 13 ChIJN0Afhpu_YoYRNk8Qjldu6Mc 25.63716 -100.2747
## 14 ChIJX8qKs2eWYoYR9AT2BawygKA 25.70803 -100.3697
## 15 ChIJ83fc7Ga-YoYR-tKVcRsR1jw 25.63484 -100.3315
## 16 ChIJQ8k0Df6VYoYR4hjxXNoBnmY 25.69175 -100.3272
## 17 ChIJSXjjFjCXYoYR6MFi4VJaCmk 25.75155 -100.4068
## 18 ChIJrSx69O-WYoYRSAnBhmrkw38 25.72962 -100.3849
## 19 ChIJMVShQOKWYoYRRNw3JI_7YMU 25.73258 -100.3925
## 20 ChIJGZ-g-JmTYoYRFtmN7W0UaQc 25.78610 -100.3157
top_ratings_plot <- ggplot(data_top_ratings, aes(x=reorder(business_name,business_rating), y=business_rating)) +
geom_bar(stat="identity", fill="lightblue") +
labs(title="Bar - Top 10 Bar Ratings", subtitle = "ZMM") +
coord_flip()
top_ratings_plot
register_google(key = gmaps_key)
ggmap(get_googlemap(center = c(lon = longitude, lat = latitude), zoom = 12)) +
stat_density2d(data = data_top_ratings, aes(lon, lat, fill = ..level..),
geom = "polygon", alpha = 0.42) +
scale_fill_gradient(low = "green", high = "red", guide = "none") +
labs(x = '', y = '', title = "ZMM - Parques")
## ℹ <https://maps.googleapis.com/maps/api/staticmap?center=25.66928,-100.31094&zoom=12&size=640x640&scale=2&maptype=terrain&key=xxx>
latitudes = c(25.64490, 25.73639, 25.70803, 25.66514)
longitudes = c(-100.3289, -100.2996,-100.3697,-100.3612)
markers = c("Rufino Tamayo Park", "Parque Hundido Amado Nervo", "Cumbres Park", "Parque El Sabinoo")
df = data.frame(latitudes, longitudes, markers)
# *Matrix Distance and Travel Time*
set.api.key("AIzaSyBVI8a3gFigNbWMETmrP3Z2ZNDICBX4jtM")
#### Setting the origin. Previously, we set several destinations across ZMM.
location=paste(df$latitudes,df$longitudes,sep =",")
Starting = "25.66944, -100.30992" ### Macroplaza, Monterrey, Nuevo Leon
#### Building a dataframe to include both origin and destination info.
Timedist=gmapsdistance(Starting, location, mode="driving", shape = "long")
Timedist2=data.frame(Timedist) ##create dataframe
names(Timedist2) <- c("Starting","Destination", "Time", "Location_Name","col2","Distance","col3","col4","Status")
Timedist2$Location_Name <-df$markers ## Add location name
Timedist2$col2 <- NULL ## delete repeated cols
Timedist2$col3<- NULL
Timedist2$col4 <- NULL
Timedist2$Time <- Timedist2$Time/3600 ## hour
Timedist$Distance <- Timedist2$Distance/1000 ## KM
#### based on origin and destination we can display the matrix distance and travel time.
knitr::kable(head(Timedist2),caption = "Matrix Distance and Travel Time")
| Starting | Destination | Time | Location_Name | Distance | Status |
|---|---|---|---|---|---|
| 25.66944, -100.30992 | 25.6449,-100.3289 | 1.892222 | Rufino Tamayo Park | 616 | OK |
| 25.66944, -100.30992 | 25.73639,-100.2996 | 2.596389 | Parque Hundido Amado Nervo | 994 | OK |
| 25.66944, -100.30992 | 25.70803,-100.3697 | 2.923333 | Cumbres Park | 821 | OK |
| 25.66944, -100.30992 | 25.66514,-100.3612 | 1.986389 | Parque El Sabinoo | 591 | OK |
p18 <- tm_shape(datos_filtrados1) +
tm_polygons("P_8A14", palette = "Purples", style="quantile", title="Demanda de Población de 18 a 24") +
tm_text(text = "mpio", size = "P_18A24")
p2 <- tm_shape(nlgeodata) +
tm_polygons(col = "Vida Nocturna", palette="OrRd", style="quantile", n=8, title="Oferta de Cantidad de establecimientos") +
tm_layout(main.title= 'Demanda Vida Nocturna', title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)
tmap_arrange(p18a24,p2, ncol = 2)
## Text size will be constant in view mode. Set tm_view(text.size.variable = TRUE) to enable variable text sizes.
## legend.postion is used for plot mode. Use view.legend.position in tm_view to set the legend position in view mode.
| Demanda | Oferta |
|---|---|
Municipios con mayor numero de jovenes (18 a 24) |
Cantidad de establecimientos para el segmento |
|
|
|
|
|
En base a la población total de jóvenes de 18 a 24 años en Nuevo León, que es de 135,096 habitantes, y el total de establecimientos de vida nocturna considerados para este rango de edad, que es de 425, podemos calcular la relación entre la población joven y la cantidad de establecimientos en Monterrey, que es el único municipio que cumple con la demanda según lo mencionado.
Para calcular la relación entre la población joven y la cantidad de establecimientos en Monterrey, dividiremos la población total de jóvenes entre el número de establecimientos:
\[ \text{Relación} = \frac{\text{Población de jóvenes}}{\text{Número de establecimientos}} \]
Sustituyendo los valores conocidos:
\[ \text{Relación} = \frac{135,096}{425} \approx 317.4 \]
Por lo tanto, en Monterrey hay aproximadamente 317.4 personas entre 18 y 24 años por cada establecimiento de vida nocturna.
Este cálculo proporciona una idea de la densidad poblacional joven en relación con la disponibilidad de establecimientos de vida nocturna en Monterrey. Es importante considerar que este número no refleja necesariamente la satisfacción de la demanda, ya que factores como la calidad, diversidad y accesibilidad de los establecimientos también influyen en la experiencia de entretenimiento nocturno para la población joven. Además, sería importante considerar la distribución geográfica de estos establecimientos dentro de Monterrey para asegurar que estén disponibles y accesibles para toda la población joven en la ciudad. Sin embargo, por medio de investigacion cualitativa y observando las caracteristicas de capacidad de dichos lugares, identificamos esta cifra como oportuna para el cubrimiento y satisfaccion del nicho.
p3 <- tm_shape(datos_filtrados1) +
tm_polygons("P_3A11", palette = "Purples", style="quantile", title="Demanda de Población de 3 a 11 años") +
tm_text(text = "mpio", size = "P_3A11")
pl <- tm_shape(nlgeodata) +
tm_polygons(col = "Familia y amigos", palette="PuBuGn", style="quantile", n=8, title="Oferta de Cantidad de establecimientos") +
tm_layout(main.title= 'Familia y amigos', title.position = c('right', 'top'), legend.position= c("left", "bottom"), title.size = 1)
tmap_arrange(p3,pl, ncol = 2)
## Text size will be constant in view mode. Set tm_view(text.size.variable = TRUE) to enable variable text sizes.
## legend.postion is used for plot mode. Use view.legend.position in tm_view to set the legend position in view mode.
En el mismo caso para situacion de familias y la oferta de establecimientos que se ofrece analisamos de la misma manera la densidad de poblacion y establecimientos, vemos como la población de 3 a 11 años es mayor en Juares, Monterrey y Apodaca, y la presencia de establecimientos familiraias es más fuerte en San nicolas de los garza y Monterrey.
Cuantificando las cifras y proporciones de los datos tomams Apodaca como ejemplo, identificamps que tiene 100,597 habitantes de 3 a 11 años, mientras que cuenta con tan solo 22 establecimientos para este sector poblacional, que principalmente son parques, restaurantes y otras atracciones de interés familiar.
Relación entre la población joven de 3 a 11 años y la cantidad de establecimientos familiares en Apodaca utilizando los datos proporcionados:
Para calcular la relación entre la población joven y la cantidad de establecimientos familiares en Apodaca, dividiremos la población total de niños entre el número de establecimientos:
\[ \text{Relación} = \frac{\text{Población de niños}}{\text{Número de establecimientos}} \]
Sustituyendo los valores conocidos:
\[ \text{Relación} = \frac{100,597}{22} \approx 4572.6 \]
Por lo tanto, en Apodaca hay aproximadamente 4572.6 niños entre 3 y 11 años por cada establecimiento familiar.
Este cálculo proporciona una medida de la densidad de población joven en relación con la disponibilidad de establecimientos familiares en Apodaca. De igual manera que en el caso de establecimientos para vida nocturna, es importante considerar que esta métrica es solo un indicador básico y que otros factores, como la calidad de los establecimientos y su capacidad para atender a las familias, también son importantes para evaluar la satisfacción de la demanda.
El análisis de la relación entre población y número de establecimiento en las diferentes ciudades de Nuevo León revela una situación alarmante en cuanto a la cobertura de la demanda por parte de los negocios disponibles.
Tomemos el caso de Apodaca, por ejemplo, donde el número de niños de 3 a 11 años es de 100.597 y solo existen 22 establecimientos familiares, la relación resultante es de alrededor de 4572.6 niños por cada institución. Esto indica un claro desequilibrio entre la oferta y la demanda de servicios en este sector de la población.
Asimismo, en otras ciudades que tienen una alta densidad de jóvenes, como Juárez, Monterrey y San Nicolás de los Garza, la presencia de lugares suficientes para cubrir las necesidades de esta población también parece insuficiente. De igual manera se podrían considerar la evaluacion de otros servicios como estacionamientos, ya que muchos establecimientos de “Vida Nocturna” y “Familia y Amigos” se encuentran en otros municipios, como Santa Catarina y Guadalupe, sería pertinente que tambien esten cubiertas necesidades como la construcción de más estacionamientos en estas áreas.
Demanda insatisfecha: Si hay una gran cantidad de jóvenes en Monterrey y una oferta limitada de actividades recreativas adecuadas para ellos, esto puede generar una demanda insatisfecha. Los jóvenes pueden sentirse frustrados o aburridos al no tener opciones de entretenimiento que se ajusten a sus intereses y preferencias.
Impacto en la economía local: La falta de actividades recreativas también puede tener un impacto en la economía local. Si los jóvenes no tienen opciones de entretenimiento en su ciudad, es posible que gasten su dinero en otras actividades fuera de la región, lo que podría afectar negativamente a los negocios locales y la economía en general. Predicciones de crecimiento de cantidad de establecimientos
La falta de cobertura de locales comerciales en comparación con la población indica una brecha en la prestación de servicios y entretenimiento que satisfagan las necesidades específicas de los diversos grupos de edad. Esta brecha debe abordarse para garantizar el bienestar y la calidad de vida de la comunidad, especialmente de los niños y adolescentes, así como para fomentar la creación de un entorno urbano más equitativo y dinámico.
En resumen, se necesita una mayor atención por parte de los gobiernos locales y de los responsables de la planificación urbana para identificar estas deficiencias y tomar medidas para mejorar la provisión de instalaciones y servicios que satisfagan las necesidades de los residentes en todas las etapas de la vida. Esto podría incluir iniciativas para fomentar el desarrollo de locales comerciales, parques y áreas recreativas más amigables para las familias, así como diversificar las opciones de entretenimiento para diferentes grupos de edad.