Как я могу построить блестящее приложение с ggplot, представляющим% для 2 категориальных переменных - PullRequest
0 голосов
/ 18 ноября 2018

Я работаю с набором стандартных чайных данных в R и хочу создать блестящее приложение, чтобы представить 2 переменные и их частоту% ge.

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

ggplot(the, aes(x= clust,  group=breakfast)) + 
  geom_bar(aes(y = ..prop.., fill = factor(..x..)), stat="count") +
  geom_text(aes( label = scales::percent(..prop..),y= ..prop.. ), stat= "count", vjust = -.5) +
  labs(y = "Percent", fill="clust") +
  facet_grid(~breakfast) +
  scale_y_continuous(labels = scales::percent)

Вот мой блестящий интерфейс: очень простой и эффективный

library(shiny)

# ----- UI ----------------------------
pageWithSidebar(
  headerPanel('Representer les variables'),
    sidebarPanel(
    selectInput('xcol', 'X Variable', names(the)),
    selectInput('ycol', 'Y Variable', names(the)),
    selected=names(the)[[2]]
  ),
  mainPanel(
    plotOutput('plot1')
  )

)

Вот мой блестящий сервер, который не работает:

library(shiny)
library(ggplot2)
library(tidyr)


# ---- Server ----------------------------------
server=shinyServer(function(input, output, session) {
  selectedData <- reactive({
    mutate(group_by(count(the, input$xcol, input$ycol)),
                             input$xcol, prop = n / sum(n))
                          })
  output$plot1 <- renderPlot({
    ggplot(selectedData()) +
      geom_col(aes_string(x = input$xcol, y = prop, fill =input$ycol),
               position = "dodge")
                             })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...