在 r shiny 中处理大型数据集时,我发现Mapdeck是一种非常酷的替代映射方法。但是,我发现很难传递多个数据集以扩展结果地图的复杂性。
例如:我试图通过从第二个数据框中提取信息来填充工具提示以创建一个带有“两个”项目的弹出窗口(以说明一对多的关系)。但我无法让它工作。有什么想法吗?
数据样本
Map_DF <- data.frame("Point_ID" = 1:3, "Latitude" = c(38.05, 39.08, 40.05), "Longitude" = c(-107.00, -107.05, -108.00))
PointUse_DF <- data.frame("Point_ID" = c(1, 1, 2, 2, 3), "PointUse" = c("farm", "house", "farm", "house", "farm"))
编码。
# ################################################################################################
# ################################################################################################
# # Sec 1a. Needed Libaries & Input Files
library(shiny)
library(shinydashboard)
library(mapdeck)
library(dplyr)
################################################################################################
################################################################################################
#UI
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
mapdeckOutput(outputId = 'mapA')
)
)
################################################################################################
################################################################################################
server <- function(input, output) {
##The MapDeck Token
key <- '## put your own token here ##'
set_token(key) ## set your access token
### The Map
output$mapA <- renderMapdeck({
mapdeck() %>%
add_scatterplot(
data = Map_DF,
lat = "Latitude",
lon = "Longitude",
layer_id = 'Point_ID',
tooltip = c("Point_ID",
PointUse_DF$PointUse[Map_DF$Point_ID] # the idea of passing in a a key and returning multiple items
)
)
})
}
################################################################################################
################################################################################################
shinyApp(ui = ui, server = server)