Есть ли способ показать метки значений внутри столбца на графике для данных из SPSS, загруженных в приложение Shiny? - PullRequest
0 голосов

Я работаю с данными опроса, предоставленными в SPSS. Моя задача - сделать приложение Shiny для визуализации. Я ищу способ отображения меток значений внутри столбца на графике, который я создал, а не числа. Например, на вопрос «Пожалуйста, укажите вашу страну» у меня есть: 1 - США, 2 - Польша, 3 - Испания и т. Д.

Во-первых, вот как я читаю данные и выбираю из них только числовые столбцы:

mydata <- read_sav("2018_Poland_Shared_Services_Spot_Poll.sav")
mydata_numeric <- mydata %>% select_if(is.numeric)

Я уже создал приложение Shiny. Вот график, показывающий ответы из опроса на этот вопрос: «Пожалуйста, укажите вашу страну». Показывает страны как 1, 2, 3 ...

ссылка на участок: https://drive.google.com/file/d/1rXcTB7AxjaIGjq_KZEsNWUMHp9ADyjqe/view?usp=sharing

Сначала я попытался просто вручную проверить, существуют ли эти метки в столбце и как они хранятся

attributes(mydata$Q5)[[5]]

и это дает такой вывод:

Czechia (the Czech Republic)                  Hungary                       Poland 
                       1                            2                            3 
                 Romania                     Slovakia                     Portugal 
                       4                            5                            6

что означает, что они определенно есть!

Затем я изменил вывод barplot, чтобы попытаться соединить его с Shiny:

  bar <- reactive({
    mydata_numeric[, input$barplot] 
})
  attrs <- reactive({
    attributes(mydata_numeric[, input$barplot])[[5]]
})

  output$bar <- renderPlotly({
    bar <- ggplot(data = mydata_numeric, aes(bar(), label = attrs()))   +
      geom_bar(color = "darkblue", fill = "lightblue") +
      geom_text() +
      labs(title = input$barplot, x = NULL)
    ggplotly(bar)
  })

Я ожидаю увидеть метки на графике вместо цифр. После попытки запустить код я получаю такую ​​ошибку: «подписка за пределами» и пустая страница, конечно. Не могу точно понять, что я делаю неправильно. Буду благодарен за любую помощь!

...