Я хочу сделать мой facet_grid опциональным с помощью флажка в блестящем - PullRequest
0 голосов
/ 20 мая 2019

Я создаю приложение, используя блестящий.Главное - просто показать пользователю сумму движения с определенными фильтрами.У меня действительно есть какой-то вариант, который вы можете выбрать, и график изменится в функции.Теперь я хочу пойти дальше и позволить человеку выбрать, хочет ли он, чтобы эти параметры отображались в виде сетки фасетов.Существует 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

...