используйте R Shiny, чтобы разделить столбец для оси ggplot - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть следующий код, и я, по сути, хотел бы взять два входа и вернуть выходной график графика со временем по оси x и по оси y, являющимся отношением input1 / input2. Я пробовал с aes и aes_string, но не могу получить рабочий блок, отображающий соотношение внутри блестящего приложения. (Нет проблем при построении ввода1 против года.

ui <- navbarPage("y",
  tabPanel('Teacher Type Comparison',
        sidebarLayout(
            sidebarPanel(
                selectInput('teacherInputOne', 'Compare ratio of',
                           choices = teacher_inputs, selected = 'male_total_staff'),
                selectInput('teacherInputTwo', 'to ratio of:',
                           choices = teacher_inputs,  selected = 'female_total_staff'),
                checkboxGroupInput('teacherState','States / Territories',area_names)
            ),

            mainPanel(
            plotOutput('teacherTypePlot'))
        )
    )


  )
server <- function(input, output) {

    output$teacherTypePlot <- renderPlot({
        ggplot(data = data, aes(x= year, y = (input$teacherInputOne / input$teacherInputTwo))) + geom_line(aes(colour = state))
    })}

shinyApp(ui = ui, server = server)

1 Ответ

1 голос
/ 10 апреля 2020

Я не уверен, что полностью понимаю все ваши переменные, основываясь на предоставленном коде, но я бы изменил сервер для фильтрации ваших данных на основе выбранных входных данных в пользовательском интерфейсе, чтобы передать отфильтрованные значения вашим Yes. Я только предложил изменить код на сервере:

    server <- function(input, output) {

      output$teacherTypePlot <- renderPlot({


        data <- data %>% 
          filter(var1 == input$teacherInputOne, 
                 var2 == input$teacherInputTwo)

        ggplot(data = data, aes(x= year, y = var3)) + 
          geom_line(aes(colour = state))
      })}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...