r - Сортировка Barts-ggplot2 в блестящем с использованием реактивного - PullRequest
0 голосов
/ 21 июня 2020

Пожалуйста, найдите приведенный ниже код для блестящего приложения, использующего ggplot2, Я не знаю, как отсортировать их на сервере. R-код .

С помощью приведенного ниже кода я могу отобразите гистограмму и измените ее, но порядок данных кажется проблемой.

ui.R

ui <- fluidPage(
  titlePanel("Perdas no Gefin"),
  theme = shinythemes::shinytheme('yeti'),
    sidebarLayout(
    sidebarPanel(selectInput('mes', 'Selecione o mês', unique(month(roi$Data_Contab))),
      mainPanel(
        tabsetPanel(
          tabPanel('Word', plotly::plotlyOutput('contagem'))
                    ))
  )
)

server.R

server <- function(input, output, session){
  rcontagem <- reactive({
    roi %>%
      filter(month(Data_Contab) == input$mes) %>%
      unnest_tokens(word, Parecer) %>%
      anti_join(stop_words2) %>%
      count(word) %>%
      na.omit() %>%
      top_n(30) %>%
      arrange(desc(n))
      })
  
  output$contagem <- plotly::renderPlotly({
    rcontagem()%>%
    ggplot(aes(x = word, y = n)) +
    geom_col()  +
    # Flip the plot coordinates
    coord_flip() +
    ggtitle("Contagem de palavras")
  
  })
  }

shinyApp(ui = ui, server = server)

График без порядка : enter image description here

I already tried this: Сортировка Bars-ggplot2 в блестящем , но это не сработало, вероятно, потому что я использую реактивный.

1 Ответ

1 голос
/ 21 июня 2020

Вы можете попробовать что-то вроде этого на своем сервере:

server <- function(input, output, session){
  rcontagem <- reactive({
    roi %>%
      filter(month(Data_Contab) == input$mes) %>%
      unnest_tokens(word, Parecer) %>%
      anti_join(stop_words2) %>%
      count(word) %>%
      na.omit() %>%
      top_n(30) %>%
      arrange(desc(n))
      })
  
  output$contagem <- plotly::renderPlotly({
    rcontagem()%>%
    ggplot(aes(x = reorder(word,n), y = n)) +
    geom_col()  +
    # Flip the plot coordinates
    coord_flip() +
    ggtitle("Contagem de palavras")
  
  })
  }
...