Как отобразить 2 фрейма данных одновременно на карте, используя листовку Shiny? - PullRequest
0 голосов
/ 17 апреля 2019

Я довольно новичок в этой области и только начал самостоятельно изучать R. Я пытаюсь визуализировать набор данных деревьев Нью-Йорка с помощью приложения Shiny.

Пока что я могу получить адрес от своего пользователя и отобразить его на карте, но у меня возникают трудности с одновременным отображением деревьев после получения адреса пользователя.Я использую 2 кнопки действий: Поиск - для пользователя для поиска адреса.

Отображение деревьев - после того, как пользователь выполнил поиск по адресу и отобразил маркер на карте, деревья должны отображаться одновременно.

Пока мой код:

datatree <- read.csv("trees.csv", stringsAsFactors = FALSE)
r_colors <- rgb(t(col2rgb(colors()) / 255))
names(r_colors) <- colors()
ui <- fluidPage(
leafletOutput("mymap"),
p(),
textInput(inputId = "address", label = "Address", placeholder = "e.g 66 D Mary Street, Lodi, NJ 7644"),
actionButton("search", "Search"),
actionButton("displaytrees", "Display Trees")
)
server <- function(input, output, session) {

addresspoints <- eventReactive(input$search, {
p <- c(input$address)
q <- geocode(p)
points1 <- data.frame (q)
return(points1)
}, ignoreNULL = FALSE)

treepoints <- eventReactive(input$displaytrees,{
z <- rbind(datatree,addresspoints())
points2 <- data.frame(z)
})

observeEvent(input$search, {
addresspoints()
})
observeEvent(input$displaytrees, {
treepoints()
})

output$mymap <- renderLeaflet({
leaflet() %>%
addProviderTiles(providers$Stamen.TonerLite,
options = providerTileOptions(noWrap = TRUE)
) %>%
addMarkers(data=addresspoints(), label = input$address)
})
}
shinyApp(ui, server)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...