在R中创建带光泽的交互式传单地图

在R中创建带光泽的交互式传单地图,r,shiny,leaflet,r-leaflet,R,Shiny,Leaflet,R Leaflet,我用传单创建了一个闪亮的应用程序,效果很好 library(shiny) library(shinythemes) library(leaflet) ui2 <- fluidPage(theme = shinytheme("united"), tabsetPanel( tabPanel( titlePanel("titel"), mainPanel( leafletOutput(outputId = "mym

我用传单创建了一个闪亮的应用程序,效果很好

library(shiny)
library(shinythemes)
library(leaflet)

ui2 <- fluidPage(theme = shinytheme("united"), tabsetPanel(

  tabPanel(
           titlePanel("titel"),

           mainPanel(

             leafletOutput(outputId = "mymap")),

           sidebarPanel(
             fluidRow(

               dateRangeInput("a", h4("date"),language = "en",separator = " to "),
               selectInput("select", h4("location"),
                           c(data8$city)),
               submitButton("search"))
           ))
  )
)

server <- function(input, output) {

  popupa <- paste(titel)

  output$mymap <- renderLeaflet({
    leaflet(data8) %>%
      addTiles() %>%
      addMarkers(lng = ~lng, lat = ~lat, popup = popupa)
  }) 
}
shinyApp(ui2, server)
有人知道怎么做吗?谢谢你的帮助! 关于

您可以尝试以下方法:

ui2 <- fluidPage(theme = shinytheme("united"), tabsetPanel(

  tabPanel(
    titlePanel("titel"),

    mainPanel(

      leafletOutput(outputId = "mymap"),
      dataTableOutput("mytable")),

    sidebarPanel(
      fluidRow(

        dateRangeInput("a", h4("date"),language = "en",separator = " to "),
        selectInput("selectLoc", h4("location"),
                    as.character(data8$city)),
        submitButton("search"))
    ))
)
)

server <- function(input, output) {

  popupa <- paste("titel")

  datatoPlot <- reactive({


    date_start <- as.character(input$a[1])
    date_end <- as.character(input$a[2])

    data8$date_start <- as.Date(data8$date_start, format = "%Y-%m-%d")
    data8 <- data8[as.Date(data8$date_start) >= date_start & as.Date(data8$date_start) <= date_end, ]
    data8 <- data8 %>% dplyr::filter(city == input$selectLoc)

  })

  output$mymap <- renderLeaflet({
    leaflet(datatoPlot()) %>%
      addTiles() %>%
      addMarkers(lng = ~lng, lat = ~lat, popup = popupa)
  }) 


  output$mytable <- renderDataTable(datatoPlot())

}
shinyApp(ui2, server)

ui2不清楚如何过滤数据集。开始日期是否为
date\u end
?使用date\u start sorryahr这个解决方案真是太棒了!你能告诉我如何以同样的方式使用位置字段吗?我尝试在data0Plot中创建一个nwe变量
ui2 <- fluidPage(theme = shinytheme("united"), tabsetPanel(

  tabPanel(
    titlePanel("titel"),

    mainPanel(

      leafletOutput(outputId = "mymap"),
      dataTableOutput("mytable")),

    sidebarPanel(
      fluidRow(

        dateRangeInput("a", h4("date"),language = "en",separator = " to "),
        selectInput("selectLoc", h4("location"),
                    as.character(data8$city)),
        submitButton("search"))
    ))
)
)

server <- function(input, output) {

  popupa <- paste("titel")

  datatoPlot <- reactive({


    date_start <- as.character(input$a[1])
    date_end <- as.character(input$a[2])

    data8$date_start <- as.Date(data8$date_start, format = "%Y-%m-%d")
    data8 <- data8[as.Date(data8$date_start) >= date_start & as.Date(data8$date_start) <= date_end, ]
    data8 <- data8 %>% dplyr::filter(city == input$selectLoc)

  })

  output$mymap <- renderLeaflet({
    leaflet(datatoPlot()) %>%
      addTiles() %>%
      addMarkers(lng = ~lng, lat = ~lat, popup = popupa)
  }) 


  output$mytable <- renderDataTable(datatoPlot())

}
shinyApp(ui2, server)