Блестящая карта приложения не подключается должным образом к radioButtons - PullRequest
1 голос
/ 02 мая 2019

Я пытаюсь создать карту, в которой при выборе различных параметров радиопереключателя отображается карта ЕС, окрашенная по плотности.Однако, когда я использую input $ для подключения радиокнопок к разделу сервера, он подключается неправильно.Что я делаю не так?

Данные - это количество животных на страну в 5 столбцах.Когда я записываю заголовок столбца непосредственно в код в разделе сервера, я получаю карту, показывающую относительное население по градациям цвета (что я и хочу), но когда я пытаюсь ввести $ в радиокнопках, он просто показывает все страныУ меня есть данные о том, что они одного цвета (не различают цвета в зависимости от размера популяции).Как я могу исправить $ соединение с радиокнопкой?

ui<- fluidPage( 
  radioButtons(inputId = "type", "Choose an animal", 
           c("Cat" = "cat_pop",
             "Dog" = "dog_pop",
             "Chicken" = "chicken_pop", 
             "Dairy Cow" = "dcow_pop",
             "Grey Wolf" = "wolf_pop")),
    plotOutput(outputId = "graph")
)


server<- function(input, output) {
  output$graph<- renderPlot({
    EU_base + 
      geom_polygon(data = animalmap, aes(fill = input$type)) +
      geom_polygon(color = "black", fill = NA) +
      theme_bw() +
      ditch_the_axes} + 
      coord_fixed(xlim = c(30, -10),  ylim = c(36, 70), ratio = 1.3)
  )
}

shinyApp(ui = ui, server = server)
# когда я заменяю aes (fill = cat_pop), тогда он работает должным образом, но не может быть изменен с помощью радиокнопок

1 Ответ

0 голосов
/ 02 мая 2019

aes() ожидает аргументы без кавычек , но вы передаете аргумент в кавычках, когда используете input$type. Попробуйте aes_string()

ui<- fluidPage( 
  radioButtons(inputId = "type", "Choose an animal", 
           c("Cat" = "cat_pop",
             "Dog" = "dog_pop",
             "Chicken" = "chicken_pop", 
             "Dairy Cow" = "dcow_pop",
             "Grey Wolf" = "wolf_pop")),
    plotOutput(outputId = "graph")
)


server<- function(input, output) {
  output$graph<- renderPlot({
    EU_base + 
      geom_polygon(data = animalmap, aes_string(fill = input$type)) +
      geom_polygon(color = "black", fill = NA) +
      theme_bw() +
      ditch_the_axes} + 
      coord_fixed(xlim = c(30, -10),  ylim = c(36, 70), ratio = 1.3)
  )
}

shinyApp(ui = ui, server = server)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...