library(shiny)
library(leaflet)
## Warning: package 'leaflet' was built under R version 4.3.1
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(htmltools)
library(readr)
# Cargar los datos
df_Propiedades <- read.csv("propiedades_ventas.csv")
# Filtrar y ordenar los datos
df_Filtrada <- df_Propiedades %>%
select(latitud, longitud, precio, recamaras, banios, estacionamientos, direccion) %>%
mutate(
latitud = as.numeric(latitud),
longitud = as.numeric(longitud),
precio = as.numeric(precio)
) %>%
arrange(desc(precio))
maximos <- head(df_Filtrada, 20)
# Crear el mapa de la Ciudad de México
mapa_cdmx <- leaflet() %>%
setView(lng = -99.1332, lat = 19.4326, zoom = 10) %>%
addTiles() %>%
addProviderTiles("CartoDB.Positron")
# Agregar los puntos de la visualización al mapa con tooltips personalizados
for (i in seq_len(nrow(df_Filtrada))) {
punto <- df_Filtrada[i, ]
tooltip_content <- paste(
"Precio: $", punto$precio,
"<br/>Recámaras: ", punto$recamaras,
"<br/>Baños: ", punto$banios,
"<br/>Estacionamientos: ", punto$estacionamientos,
"<br/>Dirección: ", punto$direccion
)
mapa_cdmx <- mapa_cdmx %>%
addMarkers(lng = punto$longitud, lat = punto$latitud,
label = htmltools::HTML(tooltip_content))
}
# Crear la aplicación Shiny
ui <- fluidPage(
titlePanel("Visualización de Propiedades en la Ciudad de México"),
leafletOutput("mapaOutput", width = "100%", height = "500px")
)
server <- function(input, output) {
output$mapaOutput <- renderLeaflet({
mapa_cdmx
})
}
shinyApp(ui, server)
## PhantomJS not found. You can install it with webshot::install_phantomjs(). If it is installed, please make sure the phantomjs executable can be found via the PATH variable.
Shiny applications not supported in static R Markdown documents