Col plot is not grouping by input in shiny











up vote
0
down vote

favorite












I'm trying to make a small app with ggplot in siny. As i see it? it should be a bar plot, where a user can choose from 3 inputs. Input 1 goes for filtering, input 2 goes for grouping and x axis, input 3 is going to Y axis.



```



# Inputs
sidebarLayout(
sidebarPanel(
# Select a retail network
selectInput(inputId = "filter",
label = "Головной_контрагент:",
choices = act_nets,
selected = act_names[1],
selectize = TRUE),
# X axis
selectInput(inputId = "X",
label = "Разбивка по:",
choices = df_orkb_act1 %>%
select(Месяц,Контрагент, Номенклатура) %>% names(),
selected = "Контрагент"
),
# Y axis
selectInput(inputId = "Y",
label = "Показатель:",
choices = unique(df_orkb_act1$Показатель),
selected = "Количество",
selectize = TRUE)
),




# Show a plot of the generated distribution
mainPanel(
plotlyOutput("barPlot")
)
)
)



# Define server logic required to draw a histogram


server <- function(input, output) {

output$barPlot <- renderPlotly({


ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == input$filter, Показатель == input$Y) %>%
group_by(input$X) %>%
summarise(Значение = sum(Значение, na.rm = T)) %>%
ggplot(aes_string(x = "input$X", y = "Значение")) +
geom_col(position = "dodge") +
ylab(input$Y) +
ggtitle(input$filter) )

})
}


```



and i get what is on left side of a printscreen, insted of what i need (the plot in an Rstudio viewer)enter image description here



What is wrong?



code for the plot in the viewer is basicly the same, just with selected inputs:



ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == "супермаркет Фреш 25", Показатель == "Количество накладных") %>%
group_by(Месяц, Акция) %>%
summarise(Значение = sum(Значение, na.rm = T)) %>%
ggplot(aes(x = factor(Месяц), y = Значение, fill = Акция)) +
geom_col(position = "dodge") )


and the data looks like this:



Observations: 70,077
Variables: 10
$ Подразделение <chr> "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ...
$ Проект <chr> "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья...
$ `Головной контрагент` <chr> "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Алек...
$ Номенклатура <chr> "Баночка 500 мл One Time (5 шт.)", "Вилка белая One Time (10 шт.)", "Контейнер 600 мл One Tim...
$ Контрагент <chr> "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Алек...
$ `Серия номенклатуры` <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N...
$ Акция <chr> "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Б...
$ Месяц <dttm> 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-...
$ Показатель <chr> "Количество", "Количество", "Количество", "Количество", "Количество", "Количество", "Количест...
$ Значение <dbl> 20, 60, 22, 45, 48, 54, 40, 56, 40, 54, 60, 80, 70, 60, 60, 1, 1, 60, 60, 60, 60, 60, 3, 9, 3...









share|improve this question




























    up vote
    0
    down vote

    favorite












    I'm trying to make a small app with ggplot in siny. As i see it? it should be a bar plot, where a user can choose from 3 inputs. Input 1 goes for filtering, input 2 goes for grouping and x axis, input 3 is going to Y axis.



    ```



    # Inputs
    sidebarLayout(
    sidebarPanel(
    # Select a retail network
    selectInput(inputId = "filter",
    label = "Головной_контрагент:",
    choices = act_nets,
    selected = act_names[1],
    selectize = TRUE),
    # X axis
    selectInput(inputId = "X",
    label = "Разбивка по:",
    choices = df_orkb_act1 %>%
    select(Месяц,Контрагент, Номенклатура) %>% names(),
    selected = "Контрагент"
    ),
    # Y axis
    selectInput(inputId = "Y",
    label = "Показатель:",
    choices = unique(df_orkb_act1$Показатель),
    selected = "Количество",
    selectize = TRUE)
    ),




    # Show a plot of the generated distribution
    mainPanel(
    plotlyOutput("barPlot")
    )
    )
    )



    # Define server logic required to draw a histogram


    server <- function(input, output) {

    output$barPlot <- renderPlotly({


    ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == input$filter, Показатель == input$Y) %>%
    group_by(input$X) %>%
    summarise(Значение = sum(Значение, na.rm = T)) %>%
    ggplot(aes_string(x = "input$X", y = "Значение")) +
    geom_col(position = "dodge") +
    ylab(input$Y) +
    ggtitle(input$filter) )

    })
    }


    ```



    and i get what is on left side of a printscreen, insted of what i need (the plot in an Rstudio viewer)enter image description here



    What is wrong?



    code for the plot in the viewer is basicly the same, just with selected inputs:



    ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == "супермаркет Фреш 25", Показатель == "Количество накладных") %>%
    group_by(Месяц, Акция) %>%
    summarise(Значение = sum(Значение, na.rm = T)) %>%
    ggplot(aes(x = factor(Месяц), y = Значение, fill = Акция)) +
    geom_col(position = "dodge") )


    and the data looks like this:



    Observations: 70,077
    Variables: 10
    $ Подразделение <chr> "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ...
    $ Проект <chr> "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья...
    $ `Головной контрагент` <chr> "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Алек...
    $ Номенклатура <chr> "Баночка 500 мл One Time (5 шт.)", "Вилка белая One Time (10 шт.)", "Контейнер 600 мл One Tim...
    $ Контрагент <chr> "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Алек...
    $ `Серия номенклатуры` <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N...
    $ Акция <chr> "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Б...
    $ Месяц <dttm> 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-...
    $ Показатель <chr> "Количество", "Количество", "Количество", "Количество", "Количество", "Количество", "Количест...
    $ Значение <dbl> 20, 60, 22, 45, 48, 54, 40, 56, 40, 54, 60, 80, 70, 60, 60, 1, 1, 60, 60, 60, 60, 60, 3, 9, 3...









    share|improve this question


























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm trying to make a small app with ggplot in siny. As i see it? it should be a bar plot, where a user can choose from 3 inputs. Input 1 goes for filtering, input 2 goes for grouping and x axis, input 3 is going to Y axis.



      ```



      # Inputs
      sidebarLayout(
      sidebarPanel(
      # Select a retail network
      selectInput(inputId = "filter",
      label = "Головной_контрагент:",
      choices = act_nets,
      selected = act_names[1],
      selectize = TRUE),
      # X axis
      selectInput(inputId = "X",
      label = "Разбивка по:",
      choices = df_orkb_act1 %>%
      select(Месяц,Контрагент, Номенклатура) %>% names(),
      selected = "Контрагент"
      ),
      # Y axis
      selectInput(inputId = "Y",
      label = "Показатель:",
      choices = unique(df_orkb_act1$Показатель),
      selected = "Количество",
      selectize = TRUE)
      ),




      # Show a plot of the generated distribution
      mainPanel(
      plotlyOutput("barPlot")
      )
      )
      )



      # Define server logic required to draw a histogram


      server <- function(input, output) {

      output$barPlot <- renderPlotly({


      ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == input$filter, Показатель == input$Y) %>%
      group_by(input$X) %>%
      summarise(Значение = sum(Значение, na.rm = T)) %>%
      ggplot(aes_string(x = "input$X", y = "Значение")) +
      geom_col(position = "dodge") +
      ylab(input$Y) +
      ggtitle(input$filter) )

      })
      }


      ```



      and i get what is on left side of a printscreen, insted of what i need (the plot in an Rstudio viewer)enter image description here



      What is wrong?



      code for the plot in the viewer is basicly the same, just with selected inputs:



      ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == "супермаркет Фреш 25", Показатель == "Количество накладных") %>%
      group_by(Месяц, Акция) %>%
      summarise(Значение = sum(Значение, na.rm = T)) %>%
      ggplot(aes(x = factor(Месяц), y = Значение, fill = Акция)) +
      geom_col(position = "dodge") )


      and the data looks like this:



      Observations: 70,077
      Variables: 10
      $ Подразделение <chr> "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ...
      $ Проект <chr> "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья...
      $ `Головной контрагент` <chr> "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Алек...
      $ Номенклатура <chr> "Баночка 500 мл One Time (5 шт.)", "Вилка белая One Time (10 шт.)", "Контейнер 600 мл One Tim...
      $ Контрагент <chr> "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Алек...
      $ `Серия номенклатуры` <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N...
      $ Акция <chr> "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Б...
      $ Месяц <dttm> 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-...
      $ Показатель <chr> "Количество", "Количество", "Количество", "Количество", "Количество", "Количество", "Количест...
      $ Значение <dbl> 20, 60, 22, 45, 48, 54, 40, 56, 40, 54, 60, 80, 70, 60, 60, 1, 1, 60, 60, 60, 60, 60, 3, 9, 3...









      share|improve this question















      I'm trying to make a small app with ggplot in siny. As i see it? it should be a bar plot, where a user can choose from 3 inputs. Input 1 goes for filtering, input 2 goes for grouping and x axis, input 3 is going to Y axis.



      ```



      # Inputs
      sidebarLayout(
      sidebarPanel(
      # Select a retail network
      selectInput(inputId = "filter",
      label = "Головной_контрагент:",
      choices = act_nets,
      selected = act_names[1],
      selectize = TRUE),
      # X axis
      selectInput(inputId = "X",
      label = "Разбивка по:",
      choices = df_orkb_act1 %>%
      select(Месяц,Контрагент, Номенклатура) %>% names(),
      selected = "Контрагент"
      ),
      # Y axis
      selectInput(inputId = "Y",
      label = "Показатель:",
      choices = unique(df_orkb_act1$Показатель),
      selected = "Количество",
      selectize = TRUE)
      ),




      # Show a plot of the generated distribution
      mainPanel(
      plotlyOutput("barPlot")
      )
      )
      )



      # Define server logic required to draw a histogram


      server <- function(input, output) {

      output$barPlot <- renderPlotly({


      ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == input$filter, Показатель == input$Y) %>%
      group_by(input$X) %>%
      summarise(Значение = sum(Значение, na.rm = T)) %>%
      ggplot(aes_string(x = "input$X", y = "Значение")) +
      geom_col(position = "dodge") +
      ylab(input$Y) +
      ggtitle(input$filter) )

      })
      }


      ```



      and i get what is on left side of a printscreen, insted of what i need (the plot in an Rstudio viewer)enter image description here



      What is wrong?



      code for the plot in the viewer is basicly the same, just with selected inputs:



      ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == "супермаркет Фреш 25", Показатель == "Количество накладных") %>%
      group_by(Месяц, Акция) %>%
      summarise(Значение = sum(Значение, na.rm = T)) %>%
      ggplot(aes(x = factor(Месяц), y = Значение, fill = Акция)) +
      geom_col(position = "dodge") )


      and the data looks like this:



      Observations: 70,077
      Variables: 10
      $ Подразделение <chr> "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ...
      $ Проект <chr> "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья...
      $ `Головной контрагент` <chr> "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Алек...
      $ Номенклатура <chr> "Баночка 500 мл One Time (5 шт.)", "Вилка белая One Time (10 шт.)", "Контейнер 600 мл One Tim...
      $ Контрагент <chr> "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Алек...
      $ `Серия номенклатуры` <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N...
      $ Акция <chr> "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Б...
      $ Месяц <dttm> 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-...
      $ Показатель <chr> "Количество", "Количество", "Количество", "Количество", "Количество", "Количество", "Количест...
      $ Значение <dbl> 20, 60, 22, 45, 48, 54, 40, 56, 40, 54, 60, 80, 70, 60, 60, 1, 1, 60, 60, 60, 60, 60, 3, 9, 3...






      r ggplot2 shiny plotly ggplotly






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 22 at 7:51

























      asked Nov 22 at 7:25









      Дмитрий Перепечин

      165




      165





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53425794%2fcol-plot-is-not-grouping-by-input-in-shiny%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53425794%2fcol-plot-is-not-grouping-by-input-in-shiny%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

          Calculate evaluation metrics using cross_val_predict sklearn

          Insert data from modal to MySQL (multiple modal on website)