В настоящее время создается приложение Shiny, в котором есть листовка с картой.Мне удалось успешно создать ползунок с переменной в моем наборе данных, которая соответствующим образом фильтрует сопоставленные данные, но я бы предпочел, чтобы это была группа реактивных флажков, и у меня много проблем с ее созданием.
Вот мои данные:
View(test)
person location ordinal_data
a WA 1
b WA 4
c WA 3
d WA 5
e WA 5
f WA 1
g WA 2
h WA 2
i WA 3
j WA 1
k WA 4
l WA 5
m WA 4
Вот мой интерфейс (работает слайдер, но я пытаюсь установить флажок - неисправная частьпомечен #
:
ui <- bootstrapPage(
tags$style(type = "text/css", "html, body {width:100%;height:100%}"),
leafletOutput("map", width = "100%", height = "100%"),
absolutePanel(
id = "controls",
class = "panel panel-default",
fixed = T,
draggable = T,
top = 60, left = "auto", right = 20, bottom = "auto",
width = 200, height = "auto",
h2("Control panel"),
#FUNCTIONAL SLIDER
sliderInput(
"range",
"Ordinal Data",
min(test$ordinal_data),
max(test$ordinal_data),
value = range(test$ordinal_data),
step = 1
),
#MALFUNCTIONING CHECKBOX GROUP
#checkboxGroupInput("checkbox",
# "Ordinal Data",
# choices = unique(as.character(test$ordinal_data)))
)
)
и вот мой сервер (вы увидите, что неисправный флажок обозначен #):
server <- function(input, output, session) {
filteredDATA <- reactive({
test[test$ordinal_data >= input$range[1] &
test$ordinal_data <= input$range[2],]
})
# filteredDATA_checkbox <- reactive({
# test[input$checkbox == 1 & input$checkbox == 2 & input$checkbox == 3 &
# input$checkbox == 4 & input$checkbox == 5]
# })
output$map <- renderLeaflet({
leaflet(test) %>%
addTiles() %>%
setView(lng = -3.754877, lat = 56.36077, zoom = 6) %>%
addLegend(
pal = pal,
values = ~ simplified_wgs_las$CHECK,
opacity = 0.7,
title = "Legend",
position = "bottomright"
)
})
#the functional slider
observe({
leafletProxy("map", data = filteredDATA()) %>%
addPolygons(
data = simplified_wgs_las,
fillColor = ~ pal(CHECK),
weight = 1,
opacity = 2,
color = "black",
fillOpacity = 0.7,
highlight = highlightOptions(
weight = 2,
color = "white",
bringToFront = TRUE
),
label = labels,
labelOptions = labelOptions(
style = list("font-weight" = "normal", padding = "3px 8px"),
textsize = "15px",
direction = "auto"
)
)
})
}
shinyApp(ui, server)
Все остальное в приложенииработает нормально - любое руководство по включению этой группы флажков было бы наиболее полезным.