Ярлыки на моей карте листовки показывают неверные названия штатов / районов при наведении курсора. В приведенном ниже коде мне осталось объединить два набора данных - файл формы и подмножество файла данных на основе выбранных пользователем входных данных. Этот объединенный файл подается в листовку для карты.
Я проверил, когда я просто строю свой файл формы, метки показывают правильную географию, но когда файл формы остается соединенным с файлом данных, метки указывают на неправильную географию.
Я также сделал вывод excel для нового объединенного фрейма данных, он выглядел правильно с точки зрения соответствия, но на карте он испортился.
Какие могут быть возможные причины для этого?
Я не привел воспроизводимый пример, потому что проблема, вероятно, в моем наборе данных. Хотя я не очень уверен.
server <- function(input, output, session) {
subsetData <- reactive({
if (input$vote =="All"|input$vote =="NA"){
df <- aishe_m %>%
filter(variable == input$indicator) %>%
filter(Year == input$year)
}
else{
df <- aishe_m %>%
filter(variable == input$indicator) %>%
filter(Year == input$year) %>%
filter(`leading party` == input$vote)
}
return(df)
})
lat = 20.899071
lng = 85.8007
zoom = 5
observe({
shape@data <- left_join(shape@data, as.data.frame(subsetData()), by = c("censuscode", "st_code"))
View(shape@data)
write_xlsx(shape@data, "/Users/shreyaagarwal/Desktop/shapefilenew.xlsx")
qpal <- colorQuantile("YlOrRd", shape@data$value, n = 4, na.color = "#bdbdbd")
leafletProxy("aishe_map") %>%
clearShapes() %>%
addPolygons(data = shape, fillColor = ~qpal(value), fillOpacity = 0.9, color = "white", weight = 2,
label = as.character(shape$State),
highlightOptions = highlightOptions(color = "yellow",
weight = 5,
bringToFront = TRUE))
})
qpal <- colorQuantile("YlOrRd", shape@data$value, n = 4, na.color = "#bdbdbd")
output$aishe_map <- renderLeaflet({
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
setMaxBounds(lng1 = 90, lat1 = 18, lng2=75, lat2=22) %>%
setView(lat = lat, lng = lng, zoom = zoom) %>%
addLegend(position = "topright", pal = qpal, title = input$indicator, values = subsetData()$value, opacity = 0.7)
})
}
# Run the application
shinyApp(ui = ui, server = server)