Я создаю приложение, используя блестящий.Главное - просто показать пользователю сумму движения с определенными фильтрами.У меня действительно есть какой-то вариант, который вы можете выбрать, и график изменится в функции.Теперь я хочу пойти дальше и позволить человеку выбрать, хочет ли он, чтобы эти параметры отображались в виде сетки фасетов.Существует 3 категории, которые могут отображаться в сетке фасетов: оператор, сегмент и область
, так выглядит мой набор данных:
см. Изображение ниже [1]
и это мой код:
region <-c('Wallonia', 'Brussels','Flanders')
tms <- c('OthersB2C', 'OthersB2B', 'Eagle', 'Panther', 'Dolphin', 'Koala', 'Cheetah','Shape Intense', 'Shape Ultimate', 'Shape Traveller', 'Shape Plus', 'Shape Light', 'Shape Basic')
opers <- c('Others', 'Proximus', 'Telenet', 'Base')
segm <- c('CMA', 'MASS', 'SMA', 'SOHO')
ui <- fluidPage(
titlePanel("MNP Movements"),
mainPanel(
dropdownButton(
tags$h3("List of Input"),
dateRangeInput("daterange", label = "Choose a date range:",
start = "2017-06-28",
end = "2018-03-20",
min = "2016-06-30",
max = "2019-04-30",
format = "dd/mm/yy",
separator = " - "),
prettyCheckboxGroup("operators","Choose an operator",
choices = opers,
selected = "Proximus", inline = TRUE, outline = TRUE,
animation = "smooth", shape = "round", fill = TRUE, bigger = TRUE),
prettyCheckboxGroup("segment","Choose an operator",
choices = segm,
selected = "MASS", inline = TRUE, outline = TRUE,
animation = "smooth", shape = "round", fill = TRUE, bigger = TRUE),
prettyCheckboxGroup("tmg","Choose an operator",
choices = tms,
selected = "Koala", inline = TRUE, outline = TRUE,
animation = "smooth", shape = "round", fill = TRUE, bigger = TRUE),
prettyCheckboxGroup("reg","Choose an operator",
choices = region,
selected = "Brussels", inline = TRUE, outline = TRUE,
animation = "smooth", shape = "round", fill = TRUE, bigger = TRUE),
prettyCheckboxGroup("facet","Comparison?",
choices = c("REGION", "SEGMENT", "OPERATOR"),
selected = "REGION", inline = TRUE, outline = TRUE,
animation = "smooth", shape = "round", fill = TRUE, bigger = TRUE),
circle = TRUE, status = "danger", icon = icon("gear"), width = "300px",
tooltip = tooltipOptions(title = "Click to see inputs !"))
),
mainPanel(
plotOutput("mnp_raw")
)
)
server <- function(input, output) {
output$mnp_raw <- renderPlot({
mnp <- mnp_raw %>%
filter(OPERATOR%in%input$operators,
PORT_DT > input$daterange[2],
PORT_DT < input$daterange[2])%>%
filter(SEGMENT%in%input$segment,
PORT_DT > input$daterange[2],
PORT_DT < input$daterange[2])%>%
filter(TARIFF_MODEL_GROUP%in%input$tmg,
PORT_DT > input$daterange[2],
PORT_DT < input$daterange[2])%>%
filter(REGION%in%input$reg,
PORT_DT > input$daterange[2],
PORT_DT < input$daterange[2])%>%
group_by(PORT_DT) %>%
summarise(total = sum(MOVEMENT))
ggplot(mnp, aes(x = PORT_DT, y = total))+
geom_bar(stat="identity")
})
}
shinyApp(ui = ui, server = server)
Как видите, кнопка сравнения не работает.Я хочу, чтобы пользователь нажимал на то, что он хочет сравнить (регион, оператор или сегмент), и если он не нажимал это, это просто нормальная сумма всего.
Пожалуйста, кто-нибудь может мне помочь?
*** [1]: https://i.stack.imgur.com/nv3Mf.png